agent-browser 是什么:给 Agent 开网页的 CLI

Vercel Labs 开源了 agent-browser:给 AI Agent 用的浏览器自动化 CLI,底层是原生 Rust 二进制。Agent 先拿无障碍树(accessibility tree)和稳定的 @eN 引用点元素,再点、填、截图;CSS 选择器也能用,但引用更扛页面改动。截至 2026-11-02(北京时间),npm 最新版 0.41.1,Apache-2.0,GitHub 约 4.5 万星;skills.sh 累计安装量排第 5(约 130 万)。
它是什么
agent-browser 是 Vercel Labs 的「给 Agent 用的浏览器 CLI」。README 把它写成 Fast native Rust CLI:日常用 npm 全局装二进制,不依赖本机再装一套 Playwright/Node 守护进程。和站内写过的 Chrome DevTools MCP 侧重点不同——后者偏控制台、网络、性能追踪;agent-browser 偏「像人一样」开页、点按钮、填表、截图,并把页面结构压成 Agent 好读的快照。
| 仓库 | github.com/vercel-labs/agent-browser |
|---|---|
| 作者 | Vercel Labs |
| 许可证 | Apache-2.0 |
| 热度 | GitHub 45,175 星(GitHub API,2026-11-02 北京时间约 15:08);npm 2026-10-23 至 10-29 周下载 2,475,459;skills.sh 上 agent-browser 累计安装约 130 万(排行榜第 5,同日抓取) |
| 运行要求 | 先装 CLI;首次 agent-browser install 下载 Chrome for Testing(Linux 可用 --with-deps)。从源码构建才需要 Node.js 24+、pnpm 11+ 与 Rust。 |
| 最新版本 | v0.41.1(GitHub 发布于 2026-11-01 23:29,北京时间;npm 同日 0.41.1) |
| 文档站 | agent-browser.dev |
解决什么问题
编程 Agent 要打开网页验收、点登录、填表单时,常见两条路:自己拼 Playwright/Puppeteer 脚本,或接一个浏览器 MCP。手写脚本里选择器一改就碎;浏览器 MCP 工具一多,上下文很快被占满。agent-browser 把操作收成短命令,并默认用无障碍树引用:
agent-browser open example.com
agent-browser snapshot
agent-browser click @e2
agent-browser fill @e3 "test@example.com"
agent-browser screenshot page.png
agent-browser close
snapshot 给出带 @eN 的树;后续点击、填写都指向这些引用。页面上有遮罩或同意条挡住点击点时,命令会失败并提示先处理遮挡元素,再重新 snapshot——比「假成功」好查。传统 CSS / 角色定位也保留:
agent-browser click "#submit"
agent-browser find role button click --name "Submit"
仓库还附带按场景拆开的 Skill(装发现 Skill 后,用 CLI 现取内容):
| Skill | 干什么 |
|---|---|
| core | 导航、快照、表单、截图、会话与命令参考;大多数任务从这里开始 |
| dogfood | 像真人一样逛产品,输出带截图和复现视频的问题报告 |
| derive-client | 录 HAR,反推站点真实 API,生成可跳过浏览器的客户端 |
| electron | 连 Electron 应用自带的 CDP 端口(VS Code、Slack、Figma 等) |
| slack / vercel-sandbox / agentcore 等 | 浏览器里操作 Slack;在 Vercel Sandbox 或 AWS Bedrock AgentCore 云浏览器里跑 |
怎么用
官方推荐全局安装:
npm install -g agent-browser
agent-browser install # 首次:下载 Chrome for Testing
# Linux 缺系统库时:
agent-browser install --with-deps
也可用 Homebrew(macOS)或 cargo install agent-browser,装完同样跑 install。升级用 agent-browser upgrade,它会识别 npm / Homebrew / Cargo 来源。
给 Cursor、Claude Code、Codex 这类 Agent 装发现 Skill:
npx skills add vercel-labs/agent-browser
这条装的是薄发现 Skill:告诉 Agent「有 agent-browser、何时该用、去调哪个 CLI」。真正的命令说明和模板由本机 CLI 提供,避免 Skill 文件跟不上版本:
agent-browser skills list
agent-browser skills get core
agent-browser skills get core --full
当 MCP 用时,默认配置示例:
{
"mcpServers": {
"agent-browser": {
"command": "agent-browser",
"args": ["mcp"]
}
}
}
默认工具配置是 core(开页、快照、点击、填写、等待、截图、eval、关浏览器等)。要网络拦截、HAR、Cookie、移动端模拟等,再加 profile,例如 agent-browser mcp --tools core,network,或 --tools all。也可用 agent-browser mcp call agent_browser_open '{"url":"https://example.com"}' 做单次调用。
发现 Skill 只负责指路;命令表和模板由当前安装的 CLI 现取,避免 Agent 读到过期说明。
护栏和要注意的地方
默认几乎不拦导航和动作。要收紧范围,官方提供域名白名单等选项,例如:
agent-browser --allowed-domains "example.com,*.example.com" open https://example.com
开启白名单后,非允许域的子资源、WebSocket、beacon 会被拦,并在支持的 Chromium 会话里关掉 WebRTC,减少绕过。白名单与「复用本机 Chrome 配置 / 恢复会话 / 某些插件启动方式」不兼容——这些模式下装不上同等隔离,命令会直接拒绝。环境变量对应项是 AGENT_BROWSER_ALLOWED_DOMAINS。详情见官方 Security 文档。
页面通过实验性 WebMCP 暴露的工具名、描述和结果,README 明确写成不可信数据:不要把网页文案抬成系统指令,也不要执行页面建议的 shell。发现工具不等于授权执行。
v0.41.1(2026-11-01)修了 cookie 属性参数、错误清理、MCP 选择器等待等一组边界问题,并去掉已安装 Agent Skill 里「未钉版本的 npx 执行」权限——跟 Agent 安全相关,值得跟着升级。
适合谁,不适合谁
适合:要让编程 Agent 自己打开预览页点流程、做冒烟或回归;想要 CLI 和 MCP 两条接入;需要稳定元素引用,而不是每次手写选择器。已经在用 Vercel Sandbox / AgentCore 的,仓库里有对应 Skill 和示例。
不适合 / 请改道:主要需求是性能火焰图、Lighthouse、精细网络面板——更看 Chrome DevTools MCP。只要桌面原生 App(非浏览器、非 Electron CDP)的自动化,看同门的 agent-desktop,不在本文范围。不能接受本机拉 Chrome for Testing、或必须在无图形环境且装不齐系统库的机器上硬跑时,先确认 install --with-deps 是否可行。
最后
想让 Agent 稳定地「打开网页做完一套点击」,先全局装 agent-browser,跑通 open → snapshot → click @eN,再用 npx skills add vercel-labs/agent-browser 把发现 Skill 挂进你的编程 Agent。要用 MCP 就把客户端指到 agent-browser mcp;对外跑任务时加上 --allowed-domains。