Agent Browser

面向AI代理的无头浏览器自动化CLI。用于与网站交互——导航页面、填写表单、点击按钮、截图等。

安装

概览

什么是Agent Browser

Agent Browser 是一个面向 AI 代理使用场景的无头浏览器自动化命令行工具。它把常见的网站操作拆成一组可以直接调用的 CLI 命令,例如打开页面、识别可交互元素、填写表单、点击按钮、等待页面加载、读取文本,以及导出截图或 PDF。和单纯抓取网页内容不同,它更强调“像用户一样操作页面”,适合让代理按照步骤完成登录、提交表单、进入后台页面或提取界面信息这类任务。

这类工具的关键难点不在“能不能打开网页”,而在“代理如何稳定地知道下一步该点哪里”。Agent Browser 的做法是先通过 snapshot 命令生成当前页面的可交互元素引用,例如把输入框、按钮标成 @e1、@e2、@e3,然后后续点击、填写、选择等动作都围绕这些引用进行。这样一来,自动化流程不必依赖脆弱的自然语言猜测,而是能先观察页面,再决定操作对象,形成“打开页面—获取快照—执行交互—页面变化后重新快照”的工作流。

从命令设计来看,它覆盖了浏览器自动化中的基础环节。除了 open、click、fill、select、press、scroll 这些操作命令,还提供了 wait 用于等待元素出现或等待网络空闲,get 用于读取文本、当前 URL 或页面标题,screenshot 和 pdf 用于保留页面结果。文档里也明确强调了引用生命周期:一旦点击导致跳转、表单提交,或者动态内容加载改变了 DOM,旧的元素引用就会失效,必须重新 snapshot。这一点非常贴近真实网页环境,也说明它的设计重点是让代理在动态页面中保持操作准确性。

证据包还显示,Agent Browser 不只是一个零散命令集合,而是考虑到了连续任务执行。它支持把不需要中间结果的命令用 && 串联,提高批量流程效率;也支持保存和加载浏览器状态,用于登录后复用会话;还能通过 session 参数并行维护多个站点会话。此外,还有可选的安全相关环境变量,例如限制允许访问的域名、控制输出上限、对输出内容加边界包装,目的是在 AI 代理接入真实网站时,尽量减少上下文污染和越界访问的风险。

核心功能特点

  1. 以“快照 + 元素引用”的方式驱动交互,先识别页面可操作对象,再执行点击、输入和选择
  2. 覆盖打开页面、等待加载、读取文本、截图、导出 PDF 等常见浏览器自动化命令,适合拼接完整流程
  3. 页面跳转或 DOM 变化后要求重新获取引用,能更稳妥地应对表单提交、弹窗和动态内容加载
  4. 支持保存与加载浏览器状态,可复用登录后的会话,减少重复认证步骤
  5. 可通过命令串联和多会话机制处理连续任务,并提供域名限制、输出上限等可选安全控制

适用场景

如果读者想象的是“让 AI 帮我在网站上完成一套机械操作”,Agent Browser 对应的就是这种场景。最直接的用法是表单处理:打开注册页或业务录入页,识别输入框和下拉框,依次填写姓名、邮箱、地区等字段,点击提交后等待页面加载,再重新获取快照检查结果。证据包中的示例就展示了这种模式,说明它适合那些流程明确、交互步骤固定、但仍需要真实浏览器上下文的网站任务。

另一类典型场景是登录后的页面访问与状态复用。很多自动化工具在登录环节最容易反复消耗时间,而 Agent Browser 提供了 state save 和 state load,可以在完成一次登录后保存状态,后续直接恢复会话进入目标页面。这对需要访问控制台、仪表盘、内部业务系统或会员区内容的 AI 代理尤其有意义:它不必每次都从登录页开始,也更适合长链路任务中断后继续执行。

它同样适用于页面信息提取和结果留存。比如打开产品页后读取指定元素文本,或者直接导出整页文本;也可以保存截图、全页截图,甚至导出 PDF,用于归档、校验和结果比对。证据包里还提到了 screenshot diff 的能力,这意味着在页面发生变化后,可以把当前结果与基线截图进行对比。对于需要观察页面更新、验证界面是否变化,或记录任务执行前后状态的场景,这类能力会比较实用。

如果任务牵涉多个网站或多个独立流程,它的并行会话能力也比较有针对性。通过不同 session 可以分别打开不同站点,并在结束后统一清理会话。再结合允许访问域名、输出长度上限等安全选项,Agent Browser 更像是为“AI 代理接触真实网页环境”做的一层执行接口:既保留浏览器自动化的基本能力,又尽量让代理在动态网页、多步骤任务和受控访问范围内运行得更可管理。因此,它更适合用作代理执行网页动作的底层工具,而不是面向人工点选操作的普通浏览器增强插件。