关于 qa
qa 是供 Agent 使用的网站测试技能,可运行指定流程并依据证据给出 1–5 分。它依赖 browser-harness 和云端浏览器,并按视觉能力及流程数量选择测试方式。
主要功能
- 01真实浏览器网站测试
- 02附证据的 1–5 分评估
- 03按视觉能力选择测试路径
- 04多流程并行测试
- 05云端浏览器清理指引
适用场景
- 01评估注册或搜索流程
- 02检查本地开发服务器
- 03并行测试多个网站流程
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ browser-use/ browser-use --skill qa安装后在 Claude Code 中输入/qa确认已加载。
附带文件references/browser-use-v2.mdreferences/methodology.md
详细介绍
QA
使用真实浏览器操作网站,评估它完成用户所要求事项的效果,并根据证据给出 1(无法使用)到 5(出色)分。交付内容应是评估结论,而不是一堆截图。
输入
来自用户的调用(/qa 后面的文本,或用户消息):
- 目标 — 一个 URL(
https://…)或本地开发服务器(localhost:5173、:3000、“5173 端口上的应用”)。必填——若缺少,请先询问,不要进行其他操作。 - 测试内容(可选)— 一个流程或重点(“注册”“搜索 + 筛选”)。若未提供,则测试最明显的顺利流程,并在报告中说明。
你能看到图像吗?(先判断这一点)
此技能的评估结论是视觉性的——你要通过查看截图来评估应用。因此,首先要确认你——运行此技能的 Agent——是否确实能看到图像:
- 你具备视觉能力(多模态 / 图像输入) → 可以自行评估截图。继续查看下面的“单一流程还是并行分发”,并根据规模选择方案。
- 你不具备视觉能力(纯文本模型,不支持图像) → 无法评估截图,你启动的同模型子 Agent 也同样无法做到。你必须将视觉评估交给 Browser Use v2 云端 Agent;它们自己的 LLM 会在服务端查看页面,并返回文本评估结论(
judge通过/未通过 + 1–5 的structuredOutput)。每个流程都使用 v2——即使只有一个流程也一样——请遵循references/browser-use-v2.md。不要自行操作browser-harness来查看截图,也不要分发给同样看不见图像的子 Agent。下面的单一流程与并行分发选择不适用于你——无论如何都用 v2。
如果不确定自己是否能看到图像,请假设不能,并使用 v2。
单一流程还是并行分发(仅适用于具备视觉能力的情况)
根据需求规模选择方案:
- 测试一个流程 / 一项内容? 无需使用子 Agent——按照
references/methodology.md,直接自行操作browser-harness。这是执行单项测试最合适、开销最低的工具,也是本技能其他部分的做法。 - 一次测试多个流程 / 大量内容? 将任务分发给子 Agent——每个流程一个——并行运行。 用户可以选择子 Agent 类型(不明确时请询问;推荐 v2):
- Browser Use v2 云端 Agent——推荐。 每个流程都会成为一个自主的 v2 任务,包含
judge(通过/未通过)+structuredOutput(1–5 分),在服务端并行运行,并返回逐步截图证据。会消耗 Browser Use 额度(约每个任务 $0.01 + 每个步骤 $0.006 + 浏览器每小时 $0.02)。每项任务的流程及并行分发方法见:references/browser-use-v2.md。 - 你所用工具内置的子 Agent——启动 Claude Code 子 Agent(Agent 工具),每个都按照
references/methodology.md操作browser-harness。不消耗 Browser Use task 额度;使用你自己的 Agent 额度。
- Browser Use v2 云端 Agent——推荐。 每个流程都会成为一个自主的 v2 任务,包含
经验法则(仅适用于具备视觉能力的 Agent——纯文本 Agent 的所有任务均使用 v2,见上文):一个流程 → 直接操作 browser-harness;多个流程 → 使用子 Agent(推荐 v2)。 无论采用哪种方式,都必须使用 browser-harness——它既是直接操作工具,也是子 Agent 的操作工具、v2 密钥存储,以及 localhost 隧道。
依赖项:browser-harness(必需——请自行安装)
此技能通过 browser-harness 运行测试——这是一个需要自行安装一次的独立工具。它不是可选项;QA 必须在真实的 Browser Use 云端浏览器上运行,绝不能使用用户本地的 Chrome。
首先,确认它是否可用:
command -v browser-harness && browser-harness <<'PY'
print("browser-harness OK")
PY
如果 browser-harness 不在 PATH 中,请自行安装——不要让用户来安装。 QA 在云端浏览器上运行,因此只需 CLI:browser-harness 的本地浏览器设置(chrome://inspect、--remote-debugging-port、“Allow remote debugging”弹窗)都不适用——全部跳过。安装只需一次(约 30 秒),无需克隆:
command -v uv || curl -LsSf https://astral.sh/uv/install.sh | sh # the uv installer, only if missing
uv tool install "git+https://github.com/browser-use/browser-harness"
command -v browser-harness # verify it's on PATH now
(没有 uv,也无法运行 curl | sh?请按照 https://docs.astral.sh/uv/getting-started/installation/ 安装 uv,然后重新运行 uv tool install 这一行——或者运行 pipx install "git+https://github.com/browser-use/browser-harness"。)
运行测试唯一还需要的是 BROWSER_USE_API_KEY,它也可以自动获取,无需人工操作——请参阅 references/methodology.md 的步骤 0(可自行注册以获取免费密钥)。因此,全新的机器无需用户进行任何设置,就能从“刚安装 qa”直接开始运行测试。
仅在最后迫不得已时——如果确实无法安装(没有网络或 Python),请停止,并让用户打开 **https://www.browser-harness.com/**,然后将其中的 “prompt for LLMs” 粘贴给 Agent:
为我设置 https://github.com/browser-use/browser-harness。先阅读
install.md,安装并将此仓库连接到我的真实浏览器。然后阅读SKILL.md,了解常规用法。务必阅读helpers.py,因为函数都在其中。打开设置或验证标签页时,请将其激活,以便我能看到当前活动的浏览器标签页。安装完成后,在我的浏览器中打开此仓库;如果我已登录 GitHub,请询问我是否要你帮我为该仓库点星,作为交互正常运行的快速演示——只有在我同意后才能点击星标。如果我没有登录,请直接访问 browser-use.com。
重新运行 command -v browser-harness,并且在命令成功前不要继续。绝不能改用用户本地的 Chrome。
不要尝试使用 browser-harness + 云端浏览器以外的任何方式进行 QA。
流程
-
确认目标可访问(
curl -s -o /dev/null -w "%{http_code}" <url>),并通过标题、README 等了解应用是什么,以便设计合理的测试任务。 -
运行测试——首先应用上文“能看到图像吗?”中的视觉能力门槛:
- 没有视觉能力(仅文本)? → 每个流程都使用 v2 云端 Agent(每个流程一个 v2 任务,每项任务都包含
judge和 1–5 的structuredOutput),参照references/browser-use-v2.md。跳过下面的单流程/子 Agent 分工方式——无论规模大小,都使用 v2。为localhost目标建立隧道,并传入公开的startUrl。 - 具备视觉能力,且只有一个流程 → 按照
references/methodology.md直接驱动 browser-harness:解析密钥、为 localhost 建立隧道,并使用经过实测的注意事项运行测试循环(重写 Host 标头、关闭代理、每个标签页的中间页标头、固定 CORS 的 API)。 - 具备视觉能力,且有多个流程 → 分发任务,每个流程一个子 Agent:
- v2 Agent(推荐) → 按照
references/browser-use-v2.md,为每个流程创建一个任务(每项任务都包含judge和 1–5 的structuredOutput架构),轮询所有任务并收集判定结果。localhost目标仍需要隧道(云端 Agent 无法访问 localhost)——建立隧道并传入公开的startUrl。 - Claude 子 Agent → 每个流程启动一个 Agent,并按照
references/methodology.md使用 browser-harness。
- v2 Agent(推荐) → 按照
每当使用 v2 后端(无论是无视觉能力的情况,还是推荐的分发方式):创建每项任务时,都要在用户本地的 Chrome 中打开其控制面板线程
https://cloud.browser-use.com/thread/{sessionId}(使用创建响应中的会话 ID,而非任务 ID),以便用户能查看 Agent 的运行过程——参考中的open_local(...)助手函数会完成此操作。始终也要打印该 URL。 - 没有视觉能力(仅文本)? → 每个流程都使用 v2 云端 Agent(每个流程一个 v2 任务,每项任务都包含
-
清理已启动的内容——无论走哪条路径,都要停止所有已启动的内容:
- 隧道——如果为
localhost目标建立了隧道,就终止隧道进程。这适用于所有需要建立隧道的路径,包括 v2(针对 localhost 运行 v2 仍会启动隧道)——不要让隧道进程遗留运行。 - 云端浏览器——单流程/Claude 路径会驱动 browser-harness 云端浏览器;需要将其停止。
- 针对公开 URL 的 v2 任务无需清理(一次性会话会自动关闭);针对 localhost 的 v2 任务仍会留下隧道,因此要关闭隧道。
- 隧道——如果为
-
返回判定结果:先给出
Score: N/5,然后依次给出任务、结果、有效项、问题(带标签)、边缘情况和证据——遵循references/methodology.md中的评分标准和输出格式。如果分发了任务? 为每个流程单独给出Score: N/5,并给出反映最弱关键路径的总分(不能因为其他流程通过,就把一个失败流程的分数平均抬高)。
根据请求调整投入:快速确认“X 是否有效?”只需几次交互和一个评分;“彻底进行 QA”则需要覆盖更多流程和边缘情况。判定结果要诚实、具体且可复现。