Clawdbot Agent Browser

🌐 AI 原生无头浏览器,精准定位零漂移

Vercel Labs 出品的无头浏览器 CLI,专为 AI Agent 设计,通过可访问性树快照与引用编号实现精准元素定位,支持多会话隔离与状态持久化。

收藏
5.8k
安装
1.4k
版本
0.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

agent-browser 是面向 AI Agent 场景优化的浏览器自动化工具,核心创新在于可访问性树快照(Accessibility Tree Snapshot)机制。与传统 CSS Selector 或 XPath 不同,该工具将页面交互元素解析为结构化 JSON,并为每个元素分配稳定引用编号(如 @e2),实现语义化、确定性的元素选择。

典型工作流:
1. open 打开目标页面

2. snapshot -i --json 生成交互元素快照(-i 过滤可交互元素,--json 输出结构化数据)

3. AI 解析 JSON 中的 refs 字段,获取元素引用编号

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

5. 页面变化后重新 snapshot,获取新引用

关键能力矩阵:

| 场景 | 命令示例 |
|------|---------|
| 导航控制 | `open`, `back`, `reload` |
| 元素交互 | `click @e2`, `fill @e3 "text"`, `hover @e4` |
| 状态查询 | `is visible @e2`, `get text @e1 --json` |
| 等待策略 | `wait --load networkidle`, `wait --text "Ready"` |
| 会话隔离 | `--session admin` / `--session user` |
| 状态持久 | `state save auth.json` / `state load auth.json` |
| 网络管控 | `network route "**/ads/*" --abort` |
| 多标签/帧 | `tab new`, `frame @e5` |

显著优点

1. 确定性元素定位:引用编号基于可访问性树,不受 DOM 结构变化、动态 class 名影响,显著降低 flaky test 概率
2. AI 友好输出--json 模式输出结构化数据,便于 LLM 直接解析,无需复杂的 HTML 清洗

3. 多会话并行:内置 session 机制,支持同一时刻模拟多个独立用户(如 admin + user 并发测试)

4. 状态复用:cookies、localStorage、sessionStorage 可持久化,跳过重复登录流程

5. 网络级控制:支持请求拦截、mock、阻断广告/追踪脚本

6. 性能优化:headless 模式运行,无 GUI 开销;--compact 与深度限制减少数据传输量

潜在缺点与局限性

| 局限 | 说明 |
|------|------|
| 视觉能力缺失 | 不提供截图分析能力(需配合内置浏览器工具) |
| 浏览器扩展 | 不支持插件/扩展集成 |
| 学习成本 | 需理解可访问性树概念,与传统 Selector 思维不同 |
| 快照刷新机制 | 页面变化后必须重新执行 snapshot,否则引用失效 |
| 复杂手势 | drag、scroll 等操作坐标基于引用元素,精细轨迹控制受限 |
| 生态成熟度 | 相比 Puppeteer/Playwright 社区资源较少 |

适合人群

  • AI Agent 开发者:构建需要浏览器自动化的 LLM 工作流
  • 自动化测试工程师:编写稳定、低维护成本的 E2E 测试
  • 爬虫开发者:需要绕过简单反爬、处理 SPA 动态渲染
  • 多账号运营:需隔离 session 的社交媒体/电商平台自动化

常规风险

  • 引用失效风险:页面跳转或 AJAX 刷新后,旧引用编号失效,必须重新 snapshot
  • 状态泄露风险:session 隔离依赖进程级隔离,非严格沙箱,敏感场景需额外验证
  • 网络mock陷阱--body 参数若传入无效 JSON 可能导致请求异常,建议前置校验
  • 等待策略误配networkidle 在慢接口场景可能超时,需搭配合理 wait 时间
  • 存储持久化state save 明文存储 cookies,多用户环境注意文件权限

Clawdbot Agent Browser 内容

手动下载zip · 3.4 kB
skill-card.mdtext/markdown
请选择文件