SuperAPI AI 工具集

check

测试与质量

查看项目

更新于 10-16 04:36

技能介绍

用途

Check 用于对应用进行独立的验收验证。使用 vibium check "<claim>" 把一条具体的验收声明交给一个全新的验证器上下文。编码智能体负责构建和修复应用,而 Vibium 的验证器使用受限的浏览器工具调查运行中的行为。你自己的浏览器检查不能替代这次调用。

Run 用于完成浏览器目标,其完成结果不能替代 Check 的判定。Check 从不继承 Run 的对话。

主要能力

  • 对实时浏览器中的运行行为进行验收检查。
  • 对已保存的录制(Vibium 录制或兼容的 Playwright version 8 trace)进行离线检查。
  • 返回结构化结果:result.status 为 passed、failed 或 inconclusive,分别显示为 PASS、FAIL 或 INCONCLUSIVE。
  • 支持通过 --json 控制标准输出,通过 --report verdict.json 保存独立的 JSON 判定。
  • 支持通过 -o verification.zip 自动记录验证过程(在支持时包含视频,Firefox 154+)。
  • 支持 --keep-open 在独立检查后保留浏览器供进一步检查。

使用方式

环境准备

使用项目配置的 Vibium 二进制文件;否则依次尝试 vibium、./clicker/bin/vibium、./node_modules/.bin/vibium。确认 vibium check --help 可用。本地 Chrome 是实时检查的测试基线。

首次实时设置时,用所选引擎/通道运行 vibium ready browser --json。它只检查浏览器和驱动文件,不启动它们,也不触碰当前浏览器;启动和 BiDi 连通性仍未测试。如有需要,遵循其安装/修复指引。保存输入的检查不需要浏览器,可跳过浏览器就绪检查。

AI 提供方配置:

  • OpenAI:导出 VIBIUM_AI_PROVIDER=openai、VIBIUM_AI_MODEL 和 OPENAI_API_KEY。
  • xAI:选择 xai 并导出 XAI_API_KEY(例如 --model grok-4)。
  • Anthropic:选择 anthropic 并导出 ANTHROPIC_API_KEY;Anthropic/Google 请勿设置 VIBIUM_AI_REASONING_EFFORT。
  • Google:选择 google 并导出 GOOGLE_API_KEY。
  • local:使用兼容适配器,默认 http://127.0.0.1:8080/v1,无需密钥。
  • OpenAI 兼容服务:使用 VIBIUM_AI_PROVIDER=openai-compatible 和 VIBIUM_AI_BASE_URL。

设置一个该提供方可用的模型。Vibium 会为空的 AI 变量加载 ~/.config/vibium/ai.env;非空进程环境变量仍然优先。如果该文件不存在,告知用户运行 vibium config init 并填写该文件——不要自行写入凭据。切勿打印或记录凭据。未经用户指示,不要为绕过缺失配置而选择其他提供方或模型。

加载设置后,在初始设置或提供方配置变更时运行 vibium ready ai --json。退出码 0 且 result.ready: true 表示配置和提供方工具往返通过;退出码 1 包含失败检查和修复建议。它最多发起两次小型模型请求,不启动或更改浏览器,不检查应用,也不替代 Check。在浏览器工作流之前解决报告的设置问题;配置未变时不要每条声明前都重跑。

开发循环

把请求的行为转化为具体、可观察的声明,保持验收条件忠实于请求。例如:“Changing the timezone persists after refresh.” 说明任务所需的边界,例如检查购物车但不进入结账。如果多个独立行为重要,分别检查。

运行应用并通过现有 Vibium CLI 走相关流程。使用 go、map、find、click 和 fill;页面变化后检查新的 refs。在设置和验证过程中复用当前浏览器、页面以及 --session 或 VIBIUM_SESSION。仅在开始新的隔离测试时创建命名会话,验证现有状态时不要创建。

记录流程。如果用户已有录制处于活动状态,保持其活动。否则用 vibium record start 开始一个(默认文件名唯一),并在验证后停止/保存你启动的录制,即使检查失败也要保存。不要停止他人的浏览器或录制。

在同一会话中运行 vibium check --json "<claim>"。该命令启动全新的验证器对话;不要发送构建者转录、源代码或建议的判定。它可能操作页面来测试声明。让它完成后再继续浏览器工作。

读取 JSON 结果并报告实际判定、简明证据和录制路径。Check 组包含验证器驱动的子操作。通过的检查适用于所述声明和观察到的会话。

当检查失败且修复应用属于用户任务时,调查证据、修复原因并重跑原始声明。保留较早的结果。不要弱化声明,也不要重试未变的行为直到某个模型碰巧通过。对于 INCONCLUSIVE,处理缺失的证据或报告限制。当请求的声明通过或出现需要用户输入的具体阻塞时停止。

浏览器清理

Check 保留现有浏览器会话。如果它自己启动浏览器,则在保存任何请求的录制后关闭该浏览器,适用于所有判定和执行错误。当独立检查应保留浏览器供检查或更多工作时,使用 --keep-open。不要仅因为 --output 保存了录制就假设浏览器保持打开。--keep-open 仅适用于实时检查,不能与 --input 组合。

录制和报告标志

  • -o verification.zip:在没有活动录制时自动记录验证运行。在支持时包含视频(Firefox 154+),在浏览器清理前完成。有活动录制时,它通过 Check 导出整个当前块而不停止或重置它;导出不包含连续视频。选择与活动录制输出不同的新路径。
  • --report verdict.json:保存单独的 JSON 判定;--json 仍控制标准输出。
  • 文件不会被覆盖,即使验证器遇到操作错误,可用的录制证据也会被保存。

验证已保存的证据

当被要求验证已保存的证据时,使用 vibium check -i record.zip "<claim>" 而不是上述实时浏览器步骤。--input 接受 Vibium 录制和兼容的 Playwright version 8 traces。检查较早判定背后的实际证据;不要把嵌入的 PASS 当作证明。报告结果针对的是录制的运行。--input 不能与 --output 组合;使用 --report 保存此判定。--record 和 --trace 不是输入标志。

结果契约

成功执行返回:

{"ok":true,"result":{"status":"passed","claim":"…","summary":"…","evidence":[{"type":"observation","summary":"…"}]}}

result.status 为 passed、failed 或 inconclusive,显示为 PASS、FAIL 或 INCONCLUSIVE。三种判定都有 CLI 退出码零。用于门控完成的脚本必须检查 result.status;仅退出码零不是通过。提供方、配置和浏览器执行失败是错误,不是 FAIL 判定。单独报告它们并保留可用证据。

提供方比较或评估

对于用户请求的提供方比较或评估,每次调用传递 --provider、--model、--ai-base-url 和 --reasoning-effort。把相同的覆盖传递给 vibium ready ai。更改提供方会清除继承的模型、端点和 effort,因此需显式提供模型和任何自定义端点。同一提供方的调用保留未指定的默认值;使用 --ai-base-url "" 或 --reasoning-effort "" 重置它们。凭据保留在运行时环境中。覆盖不会改变后续调用,也不会削弱 Check 的独立性。

适用场景

  • 开发流程中的正式验证步骤。
  • 验证应用是否满足具体、可观察的验收标准。
  • 对已保存的录制或 Playwright trace 进行离线验收检查。
  • 需要独立于构建者上下文的验证判定。

限制

  • 不要发送构建者转录、源代码或建议的判定给验证器。
  • 不要弱化声明或重试未变的行为直到模型碰巧通过。
  • --keep-open 仅适用于实时检查,不能与 --input 组合。
  • --input 不能与 --output 组合。
  • --record 和 --trace 不是输入标志。
  • 仅退出码零不是通过,必须检查 result.status。
  • 提供方、配置和浏览器执行失败是错误,不是 FAIL 判定。
  • 不要自行写入凭据,切勿打印或记录凭据。
  • 未经用户指示,不要为绕过缺失配置而选择其他提供方或模型。
  • 不要停止他人的浏览器或录制。
  • 不要仅因为 --output 保存了录制就假设浏览器保持打开。
  • 不要把嵌入的 PASS 当作证明。
  • 浏览器自动化、探索和录制可使用 browser skill(如已安装);本 skill 可在需要时用 vibium <command> --help 独立运行。