SuperAPI AI 工具集

test-harness

测试与质量

查看项目

更新于 10-16 07:22

技能介绍

用途:测试 Claude Code harness(hooks、skills、settings、CLAUDE.md 等控制智能体的组合件),按层级选型并编写、运行测试。核心规则是从能回答问题的最便宜层级开始,仅在确实不够时才升级。

主要能力与层级:unit 层用 runHook 检验 hook 逻辑(块/放行某事件,覆盖 Edit/Write、PreCompact、SessionEnd、SubagentStop 等),免费、毫秒级、无需 claude。deterministic 层用 runHarnessTest + scriptModel 验证 hook 是否接入组装后的插件并在真实会话中触发,免费、无需 API key;也可通过 trace.modelRequests / assertRequestContains 验证注入上下文(SessionStart hook、/command)是否真正到达模型。eval 层用真实模型:measureTriggerRate(含 irrelevantPrompts)与 assertTriggerRate({ min, maxFalsePositive }) 测技能描述触发的召回与精确度;measure({ checks: [judged(rubric)] }) 与 assertRates({ min }) 测输出绝对质量;runEval(arms)与 assertSignificant 做 A/B 提升与回归。

使用方式:先确认 vigiles 已安装(npm i -D vigiles,或 pnpm/yarn),deterministic 层还需 PATH 上有 claude CLI(npm i -g @anthropic-ai/claude-code,无需 API key),eval 层需模型认证。定位 harness 面(.claude/settings.json、.claude-plugin/plugin.json、hooks/hooks.json、skills/<name>/SKILL.md、agents、commands)后选定具体对象写测试。运行可用测试运行器(node:test/vitest/jest),或用零配置 CLI:npx vigiles test(.harness.{mjs,ts},unit + deterministic,无 API key)与 npx vigiles eval --trials=6(.eval.{mjs,ts},真实模型)。CI 可用 vigiles init 生成工作流(Action zernie/vigiles@v1);eval 结果需命名并 vigiles eval --update 提交锁,CI 用 vigiles eval --check 校验输入是否变化。

限制:若各层都能回答,优先 unit,因其更快且能驱动 deterministic mock 无法触及的事件。触发率为 0% 很可能是接线问题,而非描述问题;便宜模型不能直接当作下限,需先验证。资料中的具体成本、定价与更多引用文档细节暂未提供,需查对应文档确认。