给 AI agent 一个它能驱动的浏览器:vercel-labs/agent-browser 用 Rust 把无障碍树变成了 agent 的操作台

来源: vercel-labs/agent-browser · Rust · 今日 Stars: 914 · 协议: Apache-2.0 一句话: 一个原生 Rust CLI,让 AI agent 用一条条短命令驱动浏览器——snapshot 把页面压缩成带 ref 的文本,agent 点 ref、看结果、再循环

目录
  1. 给 AI agent 一个它能驱动的浏览器:vercel-labs/agent-browser 用 Rust 把无障碍树变成了 agent 的操作台
  2. 一个场景
  3. 为什么是"无障碍树"
  4. Rust 原生 + 守护进程
  5. 为 agent 生态设计
  6. 命令一览
  7. 引擎和云浏览器
  8. 为什么值得关注

给 AI agent 一个它能驱动的浏览器:vercel-labs/agent-browser 用 Rust 把无障碍树变成了 agent 的操作台

来源: vercel-labs/agent-browser · Rust · 今日 Stars: 914 · 协议: Apache-2.0
一句话: 一个原生 Rust CLI,让 AI agent 用一条条短命令驱动浏览器——snapshot 把页面压缩成带 ref 的文本,agent 点 ref、看结果、再循环

一个场景

你让 AI agent 去 GitHub 上给你的项目点个 star。

传统做法是给 agent 一个 Playwright 脚本,或者让它截屏看页面、然后用坐标点击。前者需要提前写好选择器,页面一变就废;后者 token 消耗惊人,一张截图几千 token,点错了还得重来。

agent-browser 给了第三条路:

agent-browser open github.com/vercel-labs/agent-browser
agent-browser snapshot -i       # 返回交互元素列表,每个带 ref
agent-browser click @e3         # 点 star 按钮
agent-browser get url           # 确认结果
agent-browser close

snapshot -i 返回的不是 HTML,不是截图,是一个精简的无障碍树(accessibility tree),每个可交互元素带一个 @e1、@e2 这样的 ref。agent 只需要读文本、点 ref、再读文本——一个循环就完成了浏览器操作。

为什么是"无障碍树"

浏览器自动化有三种主流路线:

1. CSS 选择器 / XPath:Playwright、Selenium 的路线。精确,但脆弱——页面结构一变选择器就废了,而且 agent 需要提前知道选择器是什么 2. 视觉 + 坐标:截屏让多模态模型看,然后用坐标点击。灵活,但 token 消耗巨大,一张截图几千 token,而且视觉模型对"小按钮被遮挡"这类情况判断不准 3. 无障碍树:浏览器为屏幕阅读器维护的页面结构化表示,天然就是文本,每个元素有 role、name、state

agent-browser 选了第三条路。snapshot 命令把页面输出成这样的文本:

- link "Learn more" [ref=e1]
- button "Submit" [ref=e2]
- textbox "Search" [ref=e3]

agent 读这段文本,知道页面有什么、每个元素的类型和名字、对应的 ref 是什么。然后 click @e2 就完事了。

这比 HTML 精简一个数量级——没有 div 嵌套、没有 class 名、没有样式代码。也比截图省 token——几十个元素的页面,snapshot 可能就几百 token。

Rust 原生 + 守护进程

agent-browser 不是 Node.js 包里包了个 Playwright。它是一个原生 Rust 二进制,通过 Chrome DevTools Protocol(CDP)直接控制浏览器。

架构上有一个细节值得注意:浏览器在命令之间保持打开。

传统 CLI 浏览器自动化工具每次命令都启动新浏览器实例。agent-browser 的做法是第一次命令时启动一个后台守护进程,守护进程持有浏览器实例。后续每条命令发给守护进程,浏览器状态保持连续。

这意味着 agent 可以: 1. open 打开页面 2. snapshot 看元素 3. click 点按钮 4. snapshot 看结果 5. fill 填表单 6. submit 提交

每一步都是一条短 shell 命令,不需要在一个长脚本里维护状态。守护进程默认 1 小时无命令后自动关闭。

为 agent 生态设计

agent-browser 不只是个 CLI,它还自带了"技能系统":

agent-browser skills get core           # 核心循环:snapshot → act → check
agent-browser skills get core --full    # 完整命令参考
agent-browser skills list               # 专门技能:electron、slack 等

这些 skills 是给 AI agent 的"使用说明书"。agent 第一次用 agent-browser 时,跑 skills get core 就能学会怎么用——不需要人类写 prompt 教。

它还支持 MCP(Model Context Protocol):

agent-browser mcp    # 启动 MCP server over stdio

这意味着任何支持 MCP 的 agent 客户端(Claude Desktop、Cursor 等)都能直接调用 agent-browser。

命令一览

agent-browser 的命令分组很清晰:

组命令用途
导航和读取open back forward reload read snapshot get is打开页面、读内容
交互click dblclick fill type press hover select check scroll drag upload操作元素
等待wait等条件满足
捕获screenshot pdf record download diff截图、录屏、对比
页面状态cookies storage network set clipboard evalCookie、存储、网络
标签页和框架tab frame dialog多标签、iframe、弹窗
调试console errors highlight inspect trace profiler vitals react a11y调试和性能
会话和认证session state auth profiles confirm deny会话持久化、认证
Agent 集成skills mcp webmcp flow chat batch plugin与 agent 框架集成
有个细节:click 命令在目标被隐藏、禁用、在视口外、被遮挡(比如 cookie 同意横幅盖住了)时会报告失败而不是假装成功。这对 agent 很重要——它需要知道"我点成功了吗"。

引擎和云浏览器

默认用 Chrome for Testing,但也支持其他引擎:

  • Lightpanda:一个为 AI agent 优化的浏览器引擎
  • Obscura:另一个可选引擎
  • CDP 模式:连接到已运行的 Chrome 实例
  • iOS Simulator:驱动 Mobile Safari
  • 云浏览器:Browserbase、Browserless、Browser Use、Kernel、AgentCore
这意味着 agent-browser 不只是一个浏览器工具,而是一个"浏览器抽象层"——agent 用同一套命令操作不同的浏览器后端。

为什么值得关注

2025-2026 年浏览器自动化赛道很热:browser-use、Stagehand、Ego、BrowserForge 都在做。但大多数方案要么是 Python 库(需要在一个进程里跑),要么是 SaaS(数据走云端)。

agent-browser 的独特之处在于:

1. Rust 原生:启动快、内存占用低,适合在 agent 的工具链里作为常驻工具 2. CLI 优先:不是 SDK,是命令行工具。任何能调 shell 的 agent 都能用,不绑定编程语言 3. 守护进程模式:浏览器状态在命令间保持,agent 不需要在一个长脚本里管理状态 4. Skills 系统:agent 自带使用说明书,不需要人类写 prompt 教 5. MCP 原生支持:直接接入 MCP 生态

Vercel Labs 出品也意味着它和 Next.js 生态、Vercel 的 AI SDK 有天然的协同效应。如果你在构建 AI agent,需要让它能操作浏览器,agent-browser 目前是最"agent-native"的选择。


链接

  • GitHub: https://github.com/vercel-labs/agent-browser
  • 文档: https://agent-browser.dev
  • npm: https://www.npmjs.com/package/agent-browser
暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens