SuperAPI AI 工具集

agent-browser

智能体与模型

查看项目

更新于 10-15 08:33

技能介绍

用途

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),使用前需安装并登录。
  • 官方资料未提供收费、价格、平台支持范围或性能指标等信息,这些内容暂未提供。