vercel-labs/agent-browser
开发工具让编程 Agent 通过紧凑的页面快照和引用点击来操作真实 Chrome 的 Rust CLI。
如果你在给 Agent 做浏览器操作能力,这个项目值得看:它把“先猜选择器再点”的流程换成了“先取快照再点引用”。是否适合,取决于你多依赖 Chrome,以及能否接受把 Agent 的浏览器状态交给这个工具管理。
解决什么问题
当 Agent 要填表单或从网页应用里取数据时,通常先解析原始 HTML 再拼选择器。动态页面、浮层和变化的标记很容易让这一步失效,而且点错元素时 Agent 拿不到明确信号。agent-browser 改变的是页面加载之后那一步:它返回带引用的可访问性树,Agent 直接对引用执行操作。结果就是更紧凑的“操作—观察”循环,返回的是页面状态,而不是猜测出来的成功。
有什么不同
核心机制是可访问性快照。agent-browser snapshot 返回带 @e2 这类引用的树,click @e2、fill @e3 直接作用于引用,不用写 CSS 选择器。传统选择器以及按 role/name 查找仍然可用,旧脚本不会被锁死,但快照路径减少了 Agent 理解 DOM 的负担。
CLI 还会在几种容易被误报成功的情况下提前失败:点击点被其他元素遮住,或者元素隐藏、禁用、超出视口。这给 Agent 一个具体的错误去处理。代价是引用绑定到某次快照,页面一变,Agent 就必须重新取快照再重试。click --new-tab 直接打开链接地址,不受这些检查约束。README 还列出了可选的安全功能,比如本地加密的凭据保管、进程外插件和内容边界标记,用来区分页面输出和工具输出;这些是文档中的能力,不是经过独立审计的安全保证。
谁值得试
适合的典型场景:Agent 需要登录网页应用、填多步表单,或处理同意横幅和弹窗,此时快照引用比脆弱的选择器更容易定位。也适合已经在本地跑 Chrome、想要一个原生二进制而不是 Node 驱动的浏览器栈的团队,因为守护进程不需要 Playwright 或 Node.js。不适合的情况是只驱动固定浏览器栈且平台不被 CLI 覆盖,或者希望完全跳过快照、只用确定性选择器。移动端测试是另一条路径:README 记录了基于 Appium 的 iOS 流程,包括通过 USB 连接真机并一次性给 WebDriverAgent 签名,移动测试者应先确认这条路。
使用条件与边界
硬性要求是 Chrome。推荐安装方式是全局 npm 安装,再执行 agent-browser install 下载 Chrome for Testing;已有的 Chrome、Brave、Playwright 和 Puppeteer 会被自动识别。Node.js 24+、pnpm 11+ 和 Rust 只在从源码构建时需要,所以用预编译二进制时机器上不必有 Node 工具链。
持续的维护点是浏览器和快照管理。页面变化后 Agent 必须重新取快照,Chrome 下载是单独的首步,同意横幅之类的处理仍需要先关掉才能点击原目标。iOS 模拟器和真机流程还要装 Appium,USB 真机则需要 Apple Developer 账号给 WebDriverAgent 签名。安装和功能细节见项目说明与演示站。
HotRepo 点评
HotRepo 在 2026-10-24 记录到 44,540 星(当天 +49),2026-10-25 为 44,545 星(当天 +55),在提供的样本里两次进入日榜。可比历史太少,无法判断热度是在上升还是消退,而且这个仓库才 286 天。采用前,建议先在你的 Agent 实际要访问的动态页面上确认快照引用的行为符合预期。
Hacker News 讨论
本文由 AI 根据项目 README 生成,更新于 2026年10月25日,以项目官方文档为准。