关于 browser-replay
browser-replay 是重新运行已记录浏览器会话轨迹的技能,可用于 UI 回归检查、复现已捕获的问题和比较运行结果,并通过选择器恢复与步骤匹配阈值给出判定。
主要功能
- 01加载已记录的浏览器轨迹
- 02通过浏览器 MCP 工具重放操作
- 03未匹配时尝试相似选择器
- 04记录带有谱系信息的重放运行
- 05计算步骤匹配率并给出判定
适用场景
- 01部署后回归测试 UI 流程
- 02复现先前会话中记录的问题
- 03比较同一浏览器流程的多次运行
- 04分叉前重放父会话
MCP 相关
打开浏览器,并通过 browser_click、browser_fill 和 browser_eval 等 MCP 浏览器工具执行记录的操作。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill browser-replay安装后在 Claude Code 中输入/browser-replay确认已加载。
详细介绍
浏览器回放
重新驱动已记录的会话轨迹。用于回归测试、确定性重跑,以及验证 browser-record 加上 browser-selectors 是否真的能生成可回放内容。
此技能是 v0.2.0 架构的关键假设。 ADR-0001 Verification §4 要求在具有不同漂移特征的 10 个不同网站上,回放成功率达到 ≥80%,提案才能从
Proposed→Accepted。如果你发现回放不可靠,请在findings.md中记录失败模式,并向上级 ADR 报告。
使用时机
- 部署后对 UI 工作流进行回归测试。
- 重现先前会话中记录的错误。
- 比较同一工作流的两次运行,以进行
browser-screenshot-diff。 - 分叉会话(
/ruflo-browser fork),并在修改前回放父会话。
步骤
- 找到源会话:
npx -y [email protected] rvf status <session-id>.rvf - 加载轨迹:
每行格式为Read .../trajectory.ndjson{ts, action, args, selector, result}。 - 通过
mcp__plugin_ruflo-core_ruflo__browser_open打开全新的浏览器(目标 URL = 原始 URL,或使用--url覆盖)。 - 对于轨迹中的每一步,调用匹配的 MCP 工具(
browser_click、browser_fill、browser_eval等),并传入已记录的参数。 - 如果选择器未匹配,不要立即失败——查询
browser-selectors命名空间,为相同的<host>:<intent>查找嵌入相似的选择器,并重试一次:npx -y @claude-flow/cli@latest memory search --namespace browser-selectors \ --query "<host> <intent>" --limit 5 - 为回放运行记录新轨迹(分配新的 RVF 容器,并通过
rvf derive跟踪谱系)。 - 判定:统计匹配步骤数 / 总步骤数的比率。默认容差阈值为 0.85(可通过
--tolerance配置)。判定结果写入findings.md。
注意事项
- Browserbase 明确不提供回放功能(rrweb 会话回放已弃用)。我们押注于基于选择器嵌入的恢复;网站变化较大时,预计会出现噪声。
- 网络的非确定性(时序、内容变化)可能导致误判为失败。使用
--mutate注入预期变化,或固定到一个 fixture。 - 如需进行视觉差异比较,将其链接到
browser-screenshot-diff,并指定父会话 ID。 - 如果每个步骤的选择器恢复需要重试超过一次,请记录下来。这表明该网站需要重新录制,而不是回放。
评论
支持 Markdown