agent-browser:为 AI 智能体打造的浏览器自动化 CLI
本文目录
agent-browser#
面向 AI 智能体的浏览器自动化:打开页面,以无障碍树(accessibility tree)读取页面,并从 shell 对元素执行操作。
agent-browser 是一个原生 Rust CLI,为 AI 智能体提供一个可以一次一条命令驱动的浏览器。snapshot 把页面返回为紧凑文本,并为每个元素附带一个类似 @e1 的引用(ref)。智能体对引用执行操作,再次读取页面检查结果,然后重复。浏览器在命令之间保持打开,因此每一步都是一次简短的 shell 调用。
安装#
npm install -g agent-browser
agent-browser install # download Chrome for Testing (first time only)
Homebrew:brew install agent-browser,然后运行 agent-browser install。
Linux:agent-browser install --with-deps 还会安装浏览器所需的系统库。
无需安装:npx agent-browser open example.com。
项目内安装、从源码构建、升级和 doctor 诊断,请参阅 Installation。
快速开始#
agent-browser open example.com
agent-browser snapshot -i # interactive elements, each with a ref
agent-browser click @e1 # act on a ref from that snapshot
agent-browser get url # check the result
agent-browser close
example.com 的快照:
- link "Learn more" [ref=e1]
引用描述的是快照生成时的页面。在导航或 DOM 变化之后,使用引用前需要重新拍摄快照。
CSS 选择器、文本、XPath 和语义定位器也可以使用,例如 agent-browser find role button click --name "Submit"。参见 Selectors。
当目标被隐藏、禁用、位于视口之外,或被另一个元素(如同意横幅)遮挡时,点击会失败,而不是报告成功。关闭遮挡元素,重新拍摄快照,然后重试。
完整演练见快速开始。
工作原理#
CLI 把每条命令发送给一个后台守护进程(daemon),该进程在第一条命令时启动,并通过 Chrome DevTools Protocol 控制浏览器。每个 --session 都有自己的守护进程和浏览器。默认情况下,守护进程会在无命令一小时后关闭无头浏览器并退出,如果配置了会话持久化,则会先保存状态。
Chrome for Testing 是默认浏览器。你也可以通过 --cdp 或 --auto-connect(CDP 模式)附加到正在运行的 Chrome,用 --engine 选择 Lightpanda 或 Obscura 引擎,在 iOS 模拟器中驱动 Mobile Safari,或使用 Browserbase、Browserless、Browser Use、Kernel 或 AgentCore 等云浏览器提供商。
面向 AI 智能体#
CLI 附带与其版本匹配的技能:
agent-browser skills get core # the core loop, refs, waiting, and common workflows
agent-browser skills get core --ref commands # one reference, such as the full command list
agent-browser skills get core --full # adds the full command reference and templates
agent-browser skills list # specialized skills: electron, slack, dogfood, and more
从 skills.sh 把发现技能安装到智能体工具链中:
npx skills add vercel-labs/agent-browser
安装的技能是一个薄薄的存根(stub),它告诉智能体加载 agent-browser skills get core,因此其指令始终与已安装的 CLI 匹配。或者把下面内容加入你的 AGENTS.md:
Use `agent-browser` for browser automation. Before the first use, run
`agent-browser skills get core` and follow it.
对于 MCP 客户端,agent-browser mcp 会通过 stdio 启动一个 MCP 服务器。参见 MCP server。
命令#
运行 agent-browser --help 查看完整列表,或运行 agent-browser <command> --help 查看单个命令。
| 分组 | 命令 | 文档 |
|---|---|---|
| 导航与读取 | open、back、forward、reload、read、snapshot、get、is | Core、Snapshots |
| 交互 | click、dblclick、fill、type、press、keyboard、hover、focus、select、check、uncheck、scroll、drag、upload、mouse、find | Core、Find elements |
| 等待 | wait | Wait |
| 捕获 | screenshot、pdf、record、download、diff | Recording、Diffing、Files |
| 页面与网络状态 | cookies、storage、network、set、clipboard、eval、pushstate | Network、Settings |
| 标签页、框架与对话框 | tab、frame、dialog | Tabs and frames |
| 调试与性能 | console、errors、highlight、inspect、trace、profiler、vitals、react、a11y | Debugging、Profiler、React |
| 会话与认证 | session、state、auth、profiles、confirm、deny | Sessions、Security |
| 智能体与集成 | skills、mcp、webmcp、flow、chat、batch、plugin | Skills、WebMCP、Plugins |
| 观察 | stream、dashboard | Streaming、Dashboard |
| 安装 | install、upgrade、doctor、connect、close | Installation |
标志、环境变量和 agent-browser.json 的文档见 Configuration。
平台#
原生二进制适用于 macOS(ARM64、x64)、Linux(ARM64、x64、glibc 和 musl)以及 Windows(x64)。npm 包会为主机选择正确的二进制。
开发#
从源码构建需要 Node.js 24 或更高版本、pnpm 11 或更高版本,以及 Rust:
pnpm install
pnpm build:source # builds the dashboard and the native CLI
pnpm link --global
agent-browser install
在 cli/ 中运行 Rust 检查:
cargo fmt -- --check
cargo clippy
cargo test
cargo test e2e -- --ignored --test-threads=1 # launches real headless Chrome
AGENTS.md 列出了每次变更需要更新的文件、文档检查和发布流程。
文档#
agent-browser.dev:介绍、指南和参考
- 命令与配置
- 安全:认证保险库(auth vault)、域名允许列表、动作策略和内容边界
- Next.js 与 Vercel 及 eve:在 Vercel Sandbox 和 eve 智能体中运行 agent-browser
变更日志见 Changelog。
许可#
Apache-2.0
关于#
面向 AI 智能体的浏览器自动化 CLI
agent-browser.dev