agent-browser 是什么?给 AI Agent 用的浏览器自动化 CLI 实战安装和使用

agent-browser 是什么?给 AI Agent 用的浏览器自动化 CLI 实战安装和使用

这两天我在整理 Claude Code 系列文章时,顺手把 agent-browser 也装到本机测试了一遍。它不是那种给普通用户点点点的浏览器插件,而是更适合 AI Agent 调用的浏览器自动化 CLI:打开页面、读取页面快照、点击、填写、截图、拿 CDP 地址,都可以通过命令行完成。

我自己的判断是:它不会替代 Hermes 自带的 browser 工具,但很适合补上一个空位——当 Claude、OpenCode 这类子代理需要独立操作网页时,它们可以直接跑 agent-browser 命令,不需要主控 Agent 把所有浏览器动作都接过来。

agent-browser 在多 Agent 工作流里的位置

agent-browser 是什么?

简单说,agent-browser 是 Vercel Labs 做的一个浏览器自动化 CLI,官方定位就是 Browser Automation CLI for AI Agents。它用 Chromium/Chrome 和 CDP 做底层控制,提供一套命令行接口,让 Agent 可以用很低成本完成网页交互。

它最适合 AI 的地方是 snapshot 工作流。传统自动化经常要读一大段 HTML,再猜按钮在哪;agent-browser 可以直接输出可交互元素和引用编号,例如 @e1、@e2。Agent 看到快照后,再用 click @e2 或 fill @e3 "文本" 就能继续操作。

我这台机器是 Linux ARM64 环境,已经有 Node 和 Chromium。安装后实测版本是 agent-browser 0.27.0,agent-browser doctor 检查结果为 10 pass, 0 warn, 0 fail。也就是说,在这个环境里它不是“理论可用”,而是已经实际跑通。

我这里的安装和配置过程

如果是 npm 方式安装,最直接就是:

npm install -g [email protected]
agent-browser --version
agent-browser doctor

不过我这台机器有一个小坑:npm 全局二进制目录在 /root/.hermes/node/bin,不在默认 PATH 里。所以安装后第一次执行 agent-browser 会提示找不到命令。解决办法很简单,把它软链接到系统 PATH:

ln -sf /root/.hermes/node/bin/agent-browser /usr/local/bin/agent-browser

然后再检查:

agent-browser --version
agent-browser doctor

这一步很关键。不要只看 npm 是否安装成功,一定要跑 doctor。它会检查 CLI、状态目录、Chromium、配置文件、网络和启动测试。我的结果里 Chromium 路径是:

/usr/bin/chromium

另外还有一个后台运行环境常见问题:Telegram / gateway 这种会话没有桌面环境,没有 $DISPLAY。如果配置成 headed: true,Chromium 会报:

Missing X server or $DISPLAY

所以我把默认配置改成了 headless 模式,更适合后台 Agent 调用:

{
  "headed": false,
  "executablePath": "/usr/bin/chromium",
  "profile": "/root/.agent-browser/hermes-profile",
  "viewport": "1280x720",
  "args": "--no-sandbox --disable-setuid-sandbox --disable-gpu"
}

基础用法:打开、快照、点击、截图

agent-browser 的入门命令很直观。比如打开一个页面:

agent-browser open https://example.com

读取交互元素快照:

agent-browser snapshot -i -u

我这里实测返回类似这样:

- heading "Example Domain" [level=1, ref=e1]
- link "Learn more" [ref=e2, url=https://iana.org/domains/example]

如果要点击这个链接,就可以继续:

agent-browser click @e2

如果要截图:

agent-browser screenshot /tmp/page.png

如果要拿当前浏览器的 CDP 地址:

agent-browser get cdp-url

这套流程对于 AI Agent 很友好,因为每一步输出都比较短,不会像完整 HTML 那样塞满上下文。尤其是在多 Agent 写稿、前台页面检查、表单填写、网页 QA 这些任务里,用 CLI 快照比让模型猜页面结构靠谱得多。

它和 Hermes 自带 browser 工具怎么分工?

我不会把 agent-browser 当成 Hermes browser 的替代品。Hermes 自带的 browser 工具在当前对话里更方便:可以直接导航、截图、读 accessibility tree、执行 JS、做视觉分析,和主控 Agent 的上下文结合更紧。

但 agent-browser 的优势在另一个方向:它是 CLI。Claude Code、OpenCode、甚至普通 shell 脚本都能直接调用它。比如我把一个“检查新文章前台是否正常”的任务丢给子代理,它可以自己执行:

agent-browser open https://ai.godsun.pro/xxx.html
agent-browser snapshot -i -u
agent-browser screenshot /tmp/check.png

这样主控 Hermes 不需要亲自完成所有网页动作,只要最后验证结果即可。这对多 Agent 工作流很有价值。

适合用在哪些场景?

我目前觉得它比较适合这几类任务:

  • 文章发布后的前台检查:打开页面、确认标题、图片、链接和正文是否出现。
  • 网页表单自动化:通过 snapshot 找输入框,再 fill / click。
  • 多 Agent 并行测试网页:每个子代理都能用 CLI 操作自己的浏览器会话。
  • 截图取证:把页面状态保存成图片,方便后续审稿或排错。
  • CDP 桥接:需要时拿到 websocket 地址,接给其他自动化工具。

但它也不是万能的。像 Google 登录、Gemini 这类风控很强的页面,我还是更倾向于用 VNC 里的正常浏览器手动登录。后台 headless 自动化不是所有网站都喜欢,尤其是账号登录和安全验证场景,不要硬刚。

安装时我建议注意这几件事

第一,先确认 Chromium 是否存在。没有浏览器,CLI 再好也跑不起来。

command -v chromium || command -v google-chrome

第二,确认 PATH。很多 ARM64 / 自托管环境里,npm 全局目录不在默认 PATH。我的机器就是这个情况。

第三,后台 Agent 环境默认建议 headless。如果你是 VNC 桌面里操作,才考虑 headed 模式。两种配置不要混着来,不然很容易遇到 Missing X server 这种错误。

第四,截图、快照、CDP 都要做一次真实测试。不要只跑 --version 就以为安装完成。

总结:值得装,但要摆正位置

agent-browser 对普通用户来说可能不是必装工具,但对我这种长期用 Hermes、Claude Code、OpenCode 搭多 Agent 工作流的人来说,它很值得保留。

它的价值不是“比谁更强”,而是让浏览器自动化变成一个普通命令行能力。主控 Agent 可以继续用 Hermes browser 做精细操作;子代理和脚本则可以用 agent-browser 做页面检查、截图、表单操作和 CDP 桥接。

如果你也在折腾 AI Agent 工作流,我建议可以装一个,至少把 open、snapshot、click、fill、screenshot 这几个命令跑通。真正用起来之后,你会发现它不是玩具,而是一块很实用的“浏览器接口积木”。

下期预告:后面我准备继续写一篇更实战的:怎么让 Claude Code / OpenCode 调用 agent-browser,自动检查 WordPress 文章页面和配图是否正常。

觉得这类 Agent 工具链实测有用,可以先收藏一下。后面我会继续把自己这套 Hermes + Claude Code + OpenCode + WordPress 的折腾过程慢慢整理出来。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注