用途
agent-browser 是一款面向 AI 智能体的浏览器自动化工具,经由 inference.sh 提供,通过 belt CLI 技能调用。它底层使用 Playwright,并提供简单的 @e 引用系统用于元素交互,适合让智能体自动导航网页、操作页面元素并采集内容。
主要能力
该工具以函数(function)形式提供以下能力:
- open:导航到 URL,并可配置浏览器(视口、代理、视频录制)。
- snapshot:在 DOM 变化后重新获取页面状态与 @e 引用。
- interact:使用 @e 引用执行操作(点击、填写、拖拽、上传等)。
- screenshot:截取页面截图(视口或整页)。
- execute:在页面上运行 JavaScript 代码。
- close:关闭会话,若启用录制则返回视频。
interact 支持的动作包括:click、dblclick、fill、type、press、select、hover、check、uncheck、drag、upload、scroll、back、wait、goto,各自有对应的必填字段(如 ref、text、target_ref、file_paths、direction、scroll_amount、wait_ms、url)。
元素以 @e 引用形式返回,例如 @e1 [input] "Email"、@e2 [input] "Password"、@e3 [button] "Sign In"。
其他特性:
- 视频录制:通过 record_video 参数录制会话,close 时返回视频文件。
- 光标指示器:show_cursor 参数显示红色光标点,跟随鼠标移动并显示点击反馈,可用于演示。
- 代理支持:可配置 proxy_url、proxy_username、proxy_password。
- 文件上传:通过 upload 动作与 file_paths 上传文件。
- 拖拽:通过 drag 动作与 ref、target_ref 实现。
- JavaScript 执行:execute 函数可运行自定义 JS 并返回结果与截图。
使用方式
首先安装 belt CLI 技能:
npx skills add belt-sh/cli
然后登录:
belt login
核心工作流为四步:Open(导航并获取 @e 引用)→ Interact(用引用执行操作)→ Re-snapshot(导航/变化后获取新引用)→ Close(结束会话,如录制则返回视频)。
示例:
RESULT=$(belt app run agent-browser --function open --session new --input '{
"url": "https://example.com/login"
}')
SESSION_ID=$(echo $RESULT | jq -r '.session_id')
belt app run agent-browser --function interact --session $SESSION_ID --input '{
"action": "fill", "ref": "@e1", "text": "user@example.com"
}'
belt app run agent-browser --function interact --session $SESSION_ID --input '{
"action": "click", "ref": "@e3"
}'
belt app run agent-browser --function snapshot --session $SESSION_ID --input '{}'
belt app run agent-browser --function close --session $SESSION_ID --input '{}'
会话管理要点:首次调用使用 --session new;后续调用使用返回的 session_id;完成后关闭会话。
视频录制示例:
SESSION=$(belt app run agent-browser --function open --session new --input '{
"url": "https://example.com",
"record_video": true,
"show_cursor": true
}' | jq -r '.session_id')
belt app run agent-browser --function close --session $SESSION --input '{}'
# Returns: {"success": true, "video": <File>}
代理配置示例:
belt app run agent-browser --function open --session new --input '{
"url": "https://example.com",
"proxy_url": "http://proxy.example.com:8080",
"proxy_username": "user",
"proxy_password": "pass"
}'
文档还提供参考文档(references/commands.md、references/snapshot-refs.md、references/session-management.md、references/authentication.md、references/video-recording.md、references/proxy-support.md)以及即用模板(templates/form-automation.sh、templates/authenticated-session.sh、templates/capture-workflow.sh)。
适用场景
- 表单提交自动化(填写姓名、邮箱、文本域并发送)。
- 搜索与内容提取(填入关键词、回车、等待、快照)。
- 需要登录/认证的会话流程(登录一次、复用会话)。
- 截图与视频录制,用于调试或文档演示。
- 需要代理或地理位置访问的测试。
限制与注意事项
- 元素引用(@e refs)在页面导航后失效,必须重新快照。导航类点击、表单提交、动态内容加载后都应重新 snapshot。
- 会话状态在会话内持久,务必在首次调用时使用 --session new,并在结束后关闭会话。
- 该技能依赖 inference.sh CLI(belt),使用前需安装并登录。
- 官方资料未提供收费、价格、平台支持范围或性能指标等信息,这些内容暂未提供。