Agent Browser - 浏览器自动化

🌐 Rust 极速无头浏览器自动化引擎

Vercel Labs 出品的 Rust 驱动无头浏览器 CLI,支持快照交互、会话管理与录制,适合 AI Agent 自动化网页操作。

收藏
3.1k
安装
1.5k
版本
1.0.0
CLS 安全性认证2026-07-14
点击查看完整报告 >

使用说明

核心用法

Agent Browser 是 Vercel Labs 开源的 Rust 原生无头浏览器自动化工具,提供 Node.js 降级方案。核心工作流为:
1. open 导航目标页面

2. snapshot -i 获取带 @ref 标记的交互元素快照

3. 使用 @ref 执行点击、填充、滚动等操作

4. 页面跳转或 DOM 大幅变更后重新快照

显著优点

  • 高性能 Rust 核心:相比纯 Node.js 方案启动更快、内存占用更低
  • 结构化交互:通过 @ref 引用替代脆弱 XPath/CSS 选择器,元素定位更稳定
  • 完整功能矩阵:覆盖导航、表单、截图、PDF、视频录制、网络拦截、多标签、iframe 切换、Cookie/Storage 操作、会话持久化等全场景
  • 语义定位备选find 命令支持 role/name/text 等无障碍属性定位,兼容现代可访问性标准
  • AI 友好:JSON 输出模式与状态保存/加载机制,便于 Agent 集成与身份持久化
  • 调试工具完备:headed 模式、trace、video、highlight、console/errors 日志等一应俱全

潜在局限

  • 生态相对封闭:主要面向 Vercel/Node.js 生态,Rust 二进制分发对 ARM64 Linux 需手动处理路径
  • 学习曲线@ref 机制虽稳定但需理解其随页面刷新生成的特性
  • 网络路由语法较原始:拦截/mock 需手动维护 URL 模式,无高级请求编排能力
  • 无原生分布式能力:多会话需本地进程管理,不支持内置网格/云端扩展

适合人群

  • 构建 AI Agent 自动化工作流的开发者
  • 需要录制演示视频或生成 PDF 报告的技术内容创作者
  • 追求比 Puppeteer/Playwright 更轻量启动的测试工程师
  • 需要会话隔离与状态持久化的多账户自动化场景

常规风险

  • 网站封禁:自动化行为可能触发反爬虫机制,导致 IP 限制或账户风控
  • 数据残留state save 会序列化 Cookie/Storage,含敏感凭证时需加密存储
  • 资源泄漏:未 close 的浏览器进程或录制流可能导致内存/磁盘占用持续增长
  • iframe/跨域限制:部分站点 CSP 或 iframe 隔离策略会阻断操作
  • 依赖变更refs 随 DOM 动态重排可能失效,关键流程建议叠加语义定位校验

安全解读

核心用法

Agent Browser 是 Vercel Labs 官方开发的基于 Rust 的高性能无头浏览器自动化工具,通过 Bash(agent-browser:*) 暴露完整 CLI 能力。核心工作流遵循"打开→快照→交互→验证"四步闭环:

1. 导航与快照agent-browser open <url> 启动会话,snapshot -i 获取带 @e1/@e2 引用标识的交互元素树
2. 精准交互:基于快照引用执行 click @e1fill @e2 "text"press Enter 等原子操作

3. 状态验证:通过 get text/html/valueis visible/enabled 等命令提取页面信息并断言状态

4. 会话管理state save/load 实现认证状态持久化,--session 支持多浏览器并行隔离

高级能力覆盖网络拦截(network route --abort/--body)、视频录制(record start/stop)、设备模拟(set device "iPhone 14")、iframe/多标签页切换及 CDP 调试协议对接。

显著优点

  • 性能优势:Rust 核心驱动相比纯 Node.js 方案(Puppeteer/Playwright)启动更快、内存占用更低,Node.js fallback 保障兼容性
  • AI 原生设计:结构化 @ref 引用系统避免 XPath/CSS 选择器的脆弱性,语义定位器(find role button --name "Submit")支持自然语言交互
  • 完整生命周期:内置截图/PDF/视频录制、网络请求追踪、控制台日志捕获、高亮调试等测试基础设施
  • 可信来源:Vercel Labs 官方维护,MIT-0 协议,代码经静态审计无危险函数调用

潜在局限

  • 外部依赖风险:需全局安装 agent-browser npm 包,存在供应链攻击面(建议固定版本)
  • 状态管理风险state save 生成的 JSON 可能包含敏感 cookies,不当存储导致会话泄露
  • 引用稳定性@ref 仅在单次页面加载内稳定,导航后必须重新快照获取新引用
  • ARM64 兼容:Linux ARM64 需使用完整路径调用二进制
  • 无内置重试机制:元素未找到或加载超时需手动添加 wait 命令兜底

适合人群

  • AI Agent 开发者:需为 LLM 提供结构化浏览器控制能力的系统集成方
  • 自动化测试工程师:构建 E2E 测试流水线,替代 Selenium/Puppeteer 的轻量方案
  • 数据采集团队:在受控合规环境下执行定向网页抓取,依赖网络拦截与状态复用提升效率

常规风险

| 风险类别 | 具体描述 | 缓解措施 |
|---------|---------|---------|
| 供应链安全 | npm 包被篡改或恶意升级 | 安装时指定固定版本号,校验包完整性 |
| 敏感数据泄露 | auth.json 包含登录会话、cookies | 设置 `chmod 600` 权限,任务后主动删除,不在共享环境存储 |
| 输入注入 | URL/选择器参数未经验证传入 | 对用户提供输入做白名单校验,避免直接拼接命令 |
| 网络侧信道 | 浏览器流量可能暴露于录制视频/截图 | 生产环境禁用录制,敏感操作使用 `--headed` 本地调试后关闭 |
| 资源耗尽 | 多会话并行导致内存/句柄泄漏 | 显式执行 `close` 或 `tab close` 释放资源,设置 `--timeout` 上限 |

整体评估:该 Skill 在受控环境(隔离网络、受限权限)下是浏览器自动化的优质选择,但需严格遵循状态文件安全与依赖版本管理最佳实践。

Agent Browser - 浏览器自动化 内容

手动下载zip · 6.9 kB
CONTRIBUTING.mdtext/markdown
请选择文件