🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install imbue-ai/vet/vet

💡 提示:需要 Node.js 和 NPM

Vet

在任何逻辑单元代码更改后立即运行 vet。不要批量处理更改,不要等待被要求运行 vet,请主动执行。

Vet 审查 git 差异和对话历史,以发现代码更改和对话历史中的问题。当频繁与对话历史一起运行时,它最有效,这有助于捕捉请求内容与实际实现之间的误解。尽管如此,vet 不能替代运行测试。

安装

使用 pip、pipx 或 uv 安装 vet:

# 使用 pip
pip install verify-everything

# 使用 pipx
pipx install verify-everything

# 使用 uv
uv tool install verify-everything

# 验证安装:
vet --help

运行 Vet

标准用法

在运行 vet 之前,确定正确的 Python 二进制文件:

$(command -v python3 || command -v python)

使用任何解析出的那个(首选 python3)。下面的示例使用 python3,如果您的系统提供的是 python,请替换。

OpenCode:

vet "目标" --history-loader "python3 ~/.agents/skills/vet/scripts/export_opencode_session.py --session-id <会话_ID>"

Codex:

vet "目标" --history-loader "python3 ~/.codex/skills/vet/scripts/export_codex_session.py --session-file <会话文件路径.jsonl>"

Claude Code:

vet "目标" --history-loader "python3 ~/.claude/skills/vet/scripts/export_claude_code_session.py --session-file <会话文件路径.jsonl>"

无对话历史

vet "目标"

查找您的会话

您只应从您的编码工具中搜索会话。如果用户要求您使用不同的工具,他们可能指的是 vet 的智能体模式,而不是会话。

OpenCode: --session-id 参数需要一个 ses_... 会话 ID。要查找当前会话 ID:

  1. 运行:opencode session list --format json 列出最近的会话及其 ID 和标题。
  2. 通过匹配标题或时间戳从列表中识别当前会话。
    • 重要:验证您找到的会话是否与当前对话匹配。如果标题不明确,请比较时间戳或检查多个候选。
  3. 将会话 ID 作为 --session-id 传递。

Codex: 会话文件存储在 ~/.codex/sessions/YYYY/MM/DD/。要找到正确的会话文件:

  1. 在当前对话中查找最独特的句子/问题/字符串。
  2. 运行:grep -rl "唯一消息" ~/.codex/sessions/ 查找匹配的会话文件。
    • 重要:验证您找到的对话是否与当前对话匹配,并且不是另一个具有相同搜索字符串的对话。
  3. 将匹配的文件路径作为 --session-file 传递。

Claude Code: 会话文件存储在 ~/.claude/projects/<编码路径>/。编码路径将 / 替换为 -(例如 /home/user/myproject 变为 -home-user-myproject)。要找到正确的会话文件:

  1. 在当前对话中查找最独特的句子/问题/字符串。
  2. 运行:grep -rl "唯一消息" ~/.claude/projects/ 查找匹配的会话文件。
    • 重要:验证您找到的对话是否与当前对话匹配,并且不是另一个具有相同搜索字符串的对话。
  3. 将匹配的文件路径作为 --session-file 传递。

注意:标准用法部分的示例假定用户在用户级别安装了 vet 技能,而不是项目级别。在尝试运行 vet 之前,请检查它是否安装在项目级别,这应优先于用户级别。如果安装在项目级别,请确保 history-loader 选项指向正确的位置。

解读结果

Vet 分析来自基础提交的完整 git 差异。这可能包括在同一仓库中工作的其他智能体或会话所做的更改。如果 vet 报告的问题与您在此会话中未进行的更改有关,请忽略它们,假定它们属于另一个智能体或用户。

常用选项

  • --base-commit REF:用于差异比较的 Git 引用(默认:HEAD)
  • --model MODEL:要使用的 LLM(默认:claude-opus-4-6)
  • --list-models:列出 vet 支持的所有模型
    • 运行 vet --help 并查看 vet 仓库的 README 以了解定义自定义兼容 OpenAI 模型的详细信息。
  • --update-models:从远程注册表获取最新的社区模型定义并将其缓存在本地。有关何时运行此命令,请参阅下面的“更新模型注册表”。
  • --confidence-threshold N:最低置信度 0.0-1.0(默认:0.8)
  • --output-format FORMAT:输出格式为 textjsongithub
  • --quiet:抑制状态消息和“未发现问题”。
  • --agentic:通过本地安装的 Claude Code、Codex 或 OpenCode CLI 路由分析的模式,而不是直接调用 API。如果 vet 因缺少 API 密钥而失败,请尝试此操作。此模式较慢,因此不是默认模式,但它通常会导致更高精度的问题识别。--model 会转发给工具,但 vet 不会验证,因为 vet 不知道每个工具支持哪些模型。
  • --agent-harness:此选项的三个值是 codexclaudeopencode。Claude Code 是默认值。
  • --help:显示完整的选项列表

更新

vet CLI、技能文件和导出脚本可能会随着代理工具和 LLM API 的变化而变得过时。

如果发生这种情况,请尝试更新它们。运行 which vet 确定 vet 的安装方式,并相应地进行更新。对于技能文件,请检查磁盘上存在哪些技能目录,并使用 https://github.com/imbue-ai/vet/tree/main/skills/vet 中的最新版本更新它们。

更新模型注册表

运行 vet --update-models 从远程注册表获取最新的社区模型定义,而无需升级 vet 本身。这会将模型定义缓存在本地,以便它们出现在 --list-models 中,并可与 --model 一起使用。

您应在以下情况下运行 vet --update-models

  • Vet 报告未知或无法识别的模型错误。
  • vet --list-models 未显示您或用户预期可用的模型。
  • 用户明确要求您更新模型注册表。

附加信息

更多信息可以在 vet 仓库中找到:

https://github.com/imbue-ai/vet

📄 原始文档

完整文档(英文):

https://skills.sh/imbue-ai/vet/vet

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。