SuperAPI AI 工具集

browser-record

智能体与模型

查看项目

更新于 10-15 14:59

技能介绍

用途

browser-record 是 ruflo 中所有其他浏览器技能赖以组合的基础原语。它打开一个具名浏览器会话,为其分配一个 RVF 认知容器,并把每一个动作绑定到 ruvector 轨迹步骤上。在插件中,任何非一次性的浏览器交互都应通过本技能(或包装它的技能)来发起。

主要能力

  • 分配会话 ID 与 RVF 容器:会话 ID 采用固定格式 <YYYYMMDD-HHMMSS>-<task-slug>,下游的 /ruflo-browser ls 会解析该格式。
  • 通过 ruvector 钩子开启轨迹记录(trajectory-begin),并在每次交互前后记录轨迹步骤(trajectory-step),记录动作、参数与结果。
  • 通过 MCP 工具 mcp__plugin_ruflo-core_ruflo__browser_open 打开浏览器并访问 URL。
  • 对初始状态进行快照:使用 browser_snapshot 获取可访问性树,使用 browser_screenshot 获取基线图像。
  • 干净结束:调用 trajectory-end 给出判定(如 pass),并用 rvf compact 压缩容器。
  • 在 AgentDB 的 browser-sessions 命名空间下建立索引,存储 rvf_id、host、task、verdict 等信息。

使用方式

技能通过自身的 bash 步骤驱动整个生命周期。典型流程如下:

  1. 分配会话 ID 并创建 RVF 容器:
SID="$(date +%Y%m%d-%H%M%S)-${TASK_SLUG:-record}"
npx -y ruvector@0.2.25 rvf create "$SID.rvf" --dimension 384
npx -y ruvector@0.2.25 hooks trajectory-begin --session-id "$SID" --task "$1"
  1. 通过 mcp__plugin_ruflo-core_ruflo__browser_open 打开浏览器并传入 URL。

  2. 快照初始状态:browser_snapshot 获取可访问性树,browser_screenshot 获取基线图像。

  3. 每次交互前后记录轨迹步骤:

npx -y ruvector@0.2.25 hooks trajectory-step \
  --session-id "$SID" --action click --args '{"selector":"#login"}' --result ok
  1. 干净结束:
npx -y ruvector@0.2.25 hooks trajectory-end --session-id "$SID" --verdict pass
npx -y ruvector@0.2.25 rvf compact "$SID.rvf"
  1. 在 AgentDB 的 browser-sessions 下建立索引:
npx -y @claude-flow/cli@latest memory store --namespace browser-sessions \
  --key "$SID" --value "{rvf_id:$SID,host:...,task:...,verdict:pass}"

适用场景

  • 启动任何非一次性、非临时探测的浏览器交互。
  • 在交互式探索站点时保留轨迹,以便后续回放或分析。
  • 建立可复用的会话,供下游技能(browser-extract、browser-form-fill、browser-test)组合使用。

限制与注意事项

  • 在 browser_session_record MCP 工具发布之前(ADR-0001 §7),本技能需在自身的 bash 步骤内驱动生命周期。不要在没有这些包装的情况下直接调用 mcp__plugin_ruflo-core_ruflo__browser_open。
  • 会话 ID 格式固定为 <YYYYMMDD-HHMMSS>-<task-slug>,下游 /ruflo-browser ls 依赖该格式解析。
  • --with-dom 开销较大(每次导航都会完整转储 HTML),默认关闭。
  • AIDefence 门控在提取时生效,而非在导航时生效。browser-record 是原语,内容脱敏由读取内容的技能(browser-extract、browser-test)负责。