用途:Agent Browser 是一个面向 AI 智能体的无头浏览器自动化 CLI,基于 Rust 实现并提供 Node.js 回退方案。它通过结构化命令让智能体打开网页、点击、填表、截取页面快照并提取内容,适合自动化网页操作与信息采集任务。
安装:推荐使用 npm,执行 npm install -g agent-browser,再运行 agent-browser install(需要依赖时可用 agent-browser install --with-deps)。也可从源码构建:git clone https://github.com/vercel-labs/agent-browser,cd agent-browser,pnpm install,pnpm build,agent-browser install。
主要能力:支持导航(open、back、forward、reload)、交互(click、dblclick、type、fill、clear、press、hover、select、check、upload、drag 等)、提取与信息(snapshot、get text/html/value/attr/title/url/count/box、screenshot、pdf)、状态检查(is visible/enabled/checked)、元素查找(find role/text/label/placeholder/alt/title/testid)、等待(wait 选择器、毫秒、文本、URL、networkidle)、高级控制(scroll、eval、mouse、cookies、storage local、tab、frame、dialog)以及多会话(--session)。snapshot 支持 -i、-c、-d、-s 等过滤选项以减小输出,并可用 @ref 语法做确定性元素选择。Agent 模式用 --json 输出机器可读结果。
典型用法:agent-browser open example.com;agent-browser snapshot;agent-browser click @e2;agent-browser fill @e3 "test@example.com";agent-browser get text @e1;agent-browser screenshot page.png;agent-browser close。推荐 AI 工作流为:open 导航 → snapshot -i --json 观察 → 用快照中的 @ref 操作 → 再次 snapshot 验证。
登录场景:可用 --cdp 连接带远程调试端口的真实 Chrome 配置文件复用登录态(如 Google/Discord OAuth),或使用 --headed --session 首次手动登录后依靠会话持久化 cookies。
限制与注意:refs 在同一次页面加载内稳定,但导航后会改变,因此导航后需重新 snapshot 获取新 refs;输入框应使用 fill 而非 type 以确保清空原有文本。若 Linux ARM64 提示命令未找到,可使用 bin 目录下的完整路径;元素找不到时用 snapshot 定位正确 ref;页面未加载时在导航后补充 wait;调试可用 --headed 显示浏览器窗口。