名称: agent-browser
描述: 专为 AI 代理优化的无头浏览器自动化 CLI,提供无障碍树快照和基于引用(ref)的元素选择功能
元数据: {"clawdbot":{"emoji":"🌐","requires":{"commands":["agent-browser"]},"homepage":"https://github.com/vercel-labs/agent-browser"}}
通过无障碍树快照和引用(ref)机制,实现快速、确定性的浏览器自动化元素选择。
在以下场景使用 agent-browser:
- 自动化多步骤工作流
- 需要确定性元素选择
- 性能要求苛刻
- 处理复杂的单页应用(SPA)
- 需要会话隔离
在以下场景使用内置浏览器工具:
- 需要截图或 PDF 进行分析
- 需要进行视觉检查
- 需要浏览器扩展集成
# 1. 导航并获取快照
agent-browser open https://example.com
agent-browser snapshot -i --json
# 2. 从 JSON 解析引用,然后进行交互
agent-browser click @e2
agent-browser fill @e3 "text"
# 3. 页面变化后重新获取快照
agent-browser snapshot -i --json
agent-browser open <url>
agent-browser back | forward | reload | close
-i --json)agent-browser snapshot -i --json # 交互式元素,JSON 输出
agent-browser snapshot -i -c -d 5 --json # 附加:紧凑格式,深度限制
agent-browser snapshot -s "#main" -i # 限定选择器范围
agent-browser click @e2
agent-browser fill @e3 "text"
agent-browser type @e3 "text"
agent-browser hover @e4
agent-browser check @e5 | uncheck @e5
agent-browser select @e6 "value"
agent-browser press "Enter"
agent-browser scroll down 500
agent-browser drag @e7 @e8
agent-browser get text @e1 --json
agent-browser get html @e2 --json
agent-browser get value @e3 --json
agent-browser get attr @e4 "href" --json
agent-browser get title --json
agent-browser get url --json
agent-browser get count ".item" --json
agent-browser is visible @e2 --json
agent-browser is enabled @e3 --json
agent-browser is checked @e4 --json
agent-browser wait @e2 # 等待元素出现
agent-browser wait 1000 # 等待指定毫秒数
agent-browser wait --text "Welcome" # 等待文本出现
agent-browser wait --url "**/dashboard" # 等待 URL 匹配
agent-browser wait --load networkidle # 等待网络空闲
agent-browser wait --fn "window.ready === true" # 等待自定义函数条件
agent-browser --session admin open site.com
agent-browser --session user open site.com
agent-browser session list
# 或通过环境变量:AGENT_BROWSER_SESSION=admin agent-browser ...
agent-browser state save auth.json # 保存 cookies/存储状态
agent-browser state load auth.json # 加载状态(跳过登录)
agent-browser screenshot page.png
agent-browser screenshot --full page.png
agent-browser pdf page.pdf
agent-browser network route "**/ads/*" --abort # 拦截请求
agent-browser network route "**/api/*" --body '{"x":1}' # 模拟响应
agent-browser network requests --filter api # 查看请求
agent-browser cookies # 获取所有 cookies
agent-browser cookies set name value
agent-browser storage local key # 获取 localStorage 值
agent-browser storage local set key val
agent-browser tab new https://example.com
agent-browser tab 2 # 切换到指定标签页
agent-browser frame @e5 # 切换到 iframe
agent-browser frame main # 返回主框架
{
"success": true,
"data": {
"snapshot": "...",
"refs": {
"e1": {"role": "heading", "name": "Example Domain"},
"e2": {"role": "button", "name": "Submit"},
"e3": {"role": "textbox", "name": "Email"}
}
}
}
-i 标志 - 专注于交互式元素--json 标志 - 便于解析输出agent-browser wait --load networkidlestate save/load 跳过登录流程--headed - 查看实际运行情况agent-browser open https://www.google.com
agent-browser snapshot -i --json
# AI 识别搜索框 @e1
agent-browser fill @e1 "AI agents"
agent-browser press Enter
agent-browser wait --load networkidle
agent-browser snapshot -i --json
# AI 识别结果引用
agent-browser get text @e3 --json
agent-browser get attr @e4 "href" --json
# 管理员会话
agent-browser --session admin open app.com
agent-browser --session admin state load admin-auth.json
agent-browser --session admin snapshot -i --json
# 用户会话(同时运行)
agent-browser --session user open app.com
agent-browser --session user state load user-auth.json
agent-browser --session user snapshot -i --json
npm install -g agent-browser
agent-browser install # 下载 Chromium
agent-browser install --with-deps # Linux:同时安装系统依赖
技能由 Yossi Elkrief (@MaTriXy) 创建
agent-browser CLI 由 Vercel Labs 开发