Agent Browser:面向 AI 代理的浏览器自动化 CLI
为 AI 代理打造的高性能 Rust 浏览器自动化命令行工具,提供快照、点击、填写、截图等能力。
- Star 数
- ★ 44k
- 最近更新
- 4 天前
- License
- Apache-2.0
- 主语言
- Rust
- FA 评分
- 54/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 需要可重复、确定性浏览器交互的 AI 代理,例如自动化测试或数据抓取。
- 不适合
- 需要 Safari 或 iOS 自动化支持的团队
- 不愿安装 Node.js 24+ 与 Rust 工具链的源码构建者
- 源码审查
- 54/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Agent Browser 是 Vercel Labs 开发的原生 Rust CLI,专为 AI 代理设计,用于浏览器自动化。它通过后台守护进程保持浏览器会话,提供稳定的元素引用(ref)系统,使 AI 能够基于可访问性树快照进行确定性交互。除核心操作外,还支持网络拦截、HAR 录制、Cookie 管理、会话持久化、React 内省、Web Vitals 指标、可访问性审计以及 MCP 服务器集成。它支持无头模式,并可通过 Chrome for Testing 自动下载 Chrome。
agent-browser CLI 提供了一套完整的浏览器自动化命令:open、snapshot、click、fill 等。它通过 CDP 连接 Chrome 或 Lightpanda 引擎,使用后台守护进程保持会话。快照命令返回带 ref 的可访问性树(如 @e1),AI 可用这些 ref 进行交互。它支持 CSS、XPath 和语义定位器(如 find role button)。可提取页面文本(read)、运行 JavaScript(eval)、管理 cookie 和存储、记录网络请求和 HAR 文件。还包括 React 组件树检查(需 --enable react-devtools)和 Web Vitals 性能指标。它提供 MCP 服务器(agent-browser mcp)供客户端通过 stdio 调用。安全功能包括域白名单、内容边界标记、动作策略和动作确认。
- 需要可重复、确定性浏览器交互的 AI 代理,例如自动化测试或数据抓取。
- 开发者希望利用现有 Chrome 登录状态(通过 profile 复用)自动执行需要认证的流程。
- QA 工程师用快照和 ref 进行可访问性审计(使用内置 axe-core)和视觉回归(diff 截图)。
- 前端开发者使用 React DevTools 集成检查组件树、suspense 状态和 Web Vitals。
- AI 编程助手需要浏览器访问来验证开发的 UI、填充表单或检查页面状态。
- 希望与其 AI 工作流集成浏览器的 MCP 用户,通过标准 MCP 协议。
如何安装或部署这个 Agent?
推荐全局安装:npm install -g agent-browser,然后运行 agent-browser install 下载 Chrome(来自 Chrome for Testing)。也支持 Homebrew:brew install agent-browser;Cargo:cargo install agent-browser。从源代码构建需要 Node.js 24+、pnpm 11+ 和 Rust:克隆仓库后运行 pnpm install && pnpm build && pnpm build:native && pnpm link --global,最后 agent-browser install。Linux 用户可能需要 agent-browser install --with-deps 来安装系统库。
如何使用这个 Agent?
首先安装 Chrome:agent-browser install。然后打开页面并获取快照:agent-browser open example.com 和 agent-browser snapshot -i。使用快照中的 ref 执行操作:agent-browser click @e2、agent-browser fill @e3 "text"。获取文本:agent-browser get text @e1。截图:agent-browser screenshot page.png。关闭:agent-browser close。也可以使用传统 CSS 选择器:agent-browser click "#submit"。MCP 使用:配置客户端启动 agent-browser mcp。
这个 Agent 有哪些优点和局限?
- Rust 编写的原生 CLI,速度快,后台守护进程支持命令链式执行。
- ref 系统提供确定性选择,避免 CSS 选择器在动态页面中的脆弱性。
- 内置 Chrome 下载(Chrome for Testing),无需单独安装浏览器。
- 提供 MCP 服务器,可无缝集成到支持 MCP 的 AI 工具。
- 包含安全功能:域白名单、动作确认、内容边界标记。
- 核心功能依赖 Chrome(或 Lightpanda),Safari/iOS 支持有限。
- 高级功能(React 内省、WebGPU)可能需要特定启动参数或配置。
- 从源码构建需要 Node.js 24+、pnpm 11+ 和 Rust,对某些用户门槛较高。
- AI 聊天功能依赖 Vercel AI Gateway,需要 API 密钥。
- 文档非常庞大,新用户可能感到信息过载。
这个 Agent 与同类方案有什么区别?
与 Playwright 或 Puppeteer 相比,agent-browser 专为 AI 代理设计,提供基于 ref 的快照系统、后台守护进程和 MCP 集成,而 Playwright/Puppeteer 是更通用的库,需要更多编程工作。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Agent Browser:面向 AI 代理的浏览器自动化 CLI 当前 | 54 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 44k | 4 天前 | Rust | — |
| goose | 49 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 55k | 今天 | Rust | — |
| Amazon Q CLI(已停维护,迁移至 Kiro CLI) | 46 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2k | 5 个月前 | Rust | — |
| Grok Build (grok CLI) | 40 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 27k | 19 天前 | Rust | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:CLI 提供多种命令,但未明确权限最小化设计;有用户确认机制(如对话框处理),但未全面覆盖;数据流透明度有限,未详细说明数据收集;敏感数据处理(如 cookies、credentials)有命令,但未说明安全存储;依赖安全未明确;外部影响(如网络请求、文件写入)有命令,但未限制;回滚机制未提及;来源归属明确(Vercel Labs),但未验证。扣分:缺乏权限最小化、用户确认、数据流透明、敏感数据安全、依赖安全、外部影响控制、回滚机制的具体证据。
证据显示:命令文档一致,但未验证实际行为;依赖(Chrome)有安装说明,但未验证可用性;失败消息有提及(如点击失败),但未全面。扣分:未执行测试,无法验证一致性、依赖可用性和失败消息的准确性。
证据显示:面向 AI 代理和开发者,场景广泛;能力边界有说明(如 read 不读 llms-full.txt);触发精度有说明(如 refs);环境适配有说明(如 Linux 依赖)。扣分:未验证实际适配性,部分边界未明确。
证据显示:信息架构清晰(README 详细);安装说明完整;命名稳定(命令一致);示例丰富;已知限制部分提及(如 read 不读 llms-full.txt);许可证明确(Apache-2.0);版本和变更日志有(CHANGELOG.md);维护责任明确(Vercel Labs)。扣分:已知限制不全面,未提及所有限制。
证据显示:输出可用(如 snapshot、screenshot);边际价值高(提供多种功能);成本效益合理(免费开源)。扣分:未验证实际输出质量,成本效益未量化。
证据显示:README 中的声明有部分支持(如命令列表),但未提供测试结果;跨来源验证有限(仅 README 和 CI);事实与推断未明确区分。扣分:缺乏测试证据,声明未充分验证。
- 未验证的发布者身份,需谨慎对待。
- 静态审查,未执行测试,实际行为未验证。
- 敏感数据处理(如 cookies、credentials)未说明安全存储,需注意。
- 依赖安全未明确,需检查依赖漏洞。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Bug Fixes - Fixed duplicate command execution after a lost daemon response so mutating and launch commands are no longer retried after any request bytes have been sent. CLI JSON and MCP responses report outcome_unknown so callers can inspect the result before retrying; read-only commands and failures before sending retain their retries (#2085) Contributors - @Railly - @rotemb-wond在 GitHub 查看 ↗ -
发布说明摘录
New Features - Added an experimental Obscura engine (--engine obscura), launched and cleaned up locally like Chrome with bounded startup and CLI/MCP support. Obscura still has accessibility and rendering gaps, so review the engine page before choosing it (#1876) - Added private CA trust for CLI HTTPS requests so read, install, upgrade and doctor work behind TLS inspection. --ca-cert now applies to them on every platform, the new --use-system-ca uses the operating system trust store, and SSL_CERT_FILE is a fallback. Certificate verification always stays on (#2006) …在 GitHub 查看 ↗ -
发布说明摘录
Bug Fixes - Fixed auth vault login to pick usable controls when hidden duplicates exist, and to bind credential entry to the selected field so replaced fields or redirected focus are rejected before submitting (#2014) - Fixed chat mode to allow webmcp, skills, and other top-level browser commands, so the model uses page WebMCP tools instead of falling back to eval (#2015) - Fixed Kernel profiles so KERNEL_PROFILE_NAME sessions send the profile as an object instead of failing with a 400, and added KERNEL_PROFILE_SAVE_CHANGES to opt into saving changes back (#2004) …在 GitHub 查看 ↗
常见问题
它需要单独的浏览器吗?
agent-browser install 会从 Chrome for Testing 下载 Chrome。也可以自动检测并使用现有的 Chrome、Brave、Playwright 或 Puppeteer 安装。它如何处理登录状态?
--profile)、持久配置文件(--profile <path>)、会话持久化(--session + --restore)、从正在运行的 Chrome 导入认证状态(--auto-connect)以及状态文件。AI 聊天功能是否免费?
chat 命令)通过 Vercel AI Gateway 工作,需要 AI_GATEWAY_API_KEY。如果没有密钥,聊天功能不可用,但所有其他自动化功能无需密钥。它支持无头模式吗?
--headed 打开可见窗口进行调试。在 Linux 无显示环境,它会自动使用 Xvfb。