agent-browser 是一个面向 AI 智能体的浏览器自动化命令行工具,核心实现基于 Rust,并提供 Node.js 回退方案。它的目标是通过结构化命令,让智能体能够导航、点击、输入并分析页面。
安装方式分为 npm 推荐安装与源码构建两种。npm 方式执行 npm install -g agent-browser,然后运行 agent-browser install;如需系统依赖可加 --with-deps。源码方式为克隆 https://github.com/vercel-labs/agent-browser,进入目录后执行 pnpm install、pnpm build 和 agent-browser install。
快速开始遵循典型工作流:使用 agent-browser open <url> 打开页面,通过 agent-browser snapshot -i 获取带引用(如 @e1、@e2)的交互元素,再用引用进行点击或填写,例如 click @e1、fill @e2 "text",最后 close 关闭浏览器。核心原则是导航或 DOM 显著变化后必须重新快照以获取新引用。
命令覆盖范围很广。导航类包括 open、back、forward、reload、close。快照分析类包括完整可访问性树、仅交互元素(推荐)、紧凑输出、限制深度以及按 CSS 选择器限定范围。交互类支持点击、双击、聚焦、清空并填写、不清空输入、按键与组合键、按下/释放按键、悬停、勾选与取消勾选、下拉选择、滚动、滚动到视图、拖放和文件上传。信息获取类支持读取元素文本、innerHTML、输入值、属性、页面标题、当前 URL、匹配元素计数以及元素边界框。状态检查类包括可见、启用、勾选状态。此外还有截图(stdout、保存文件、全页)、导出 PDF、视频录制(开始、停止、重启,录制会创建新上下文但保留当前会话的 Cookie/存储)、等待(元素、毫秒、文本、URL 模式、网络空闲、JS 条件)、鼠标控制(移动、按下、释放、滚轮)、语义定位器(按角色、文本、标签、第一个、第 n 个)、浏览器设置(视口、设备模拟、地理位置、离线模式、额外请求头、HTTP 基本认证、媒体配色)、Cookie 与 localStorage 管理、网络拦截与模拟(路由、中止、模拟响应、取消路由、查看与过滤请求)、标签页与窗口管理、iframe 切换、对话框处理、JavaScript 执行、会话状态保存与加载以及多会话并行。
该工具还支持 JSON 输出以便解析,提供 --headed 显示浏览器窗口、--timeout 设置超时、--cdp 连接 Chrome DevTools Protocol 等选项,并支持通过 session 隔离运行多个并行浏览器实例。调试方面可查看控制台消息、页面错误、高亮元素以及录制 trace 和视频。
适用场景包括让 AI 智能体自动操作网页、采集页面结构与元素、执行表单提交或登录流程,以及通过保存会话状态复用认证信息。限制与注意事项:引用在单次页面加载内稳定,但导航后会变化,因此每次导航后都应重新快照;输入框推荐使用 fill 而非 type 以确保清空已有文本;在 Linux ARM64 上若命令未找到,需使用 bin 目录中的完整路径;若元素未找到可用快照定位正确引用;页面未加载完成时可添加等待命令;调试时可使用 --headed 查看窗口。如遇技能问题可在 https://github.com/TheSethRose/Agent-Browser-CLI 提交 issue,CLI 问题可在 https://github.com/vercel-labs/agent-browser 提交。