关于 TruVerifAI Panel-review
TruVerifAI Panel-review 为 AI 编码 Agent 提供多模型代码审查工具,并通过本地钩子在高风险编辑和提交前执行审查。初始化 CLI 可配置多个编码环境,并集中管理审查门禁。
主要功能
- 01多模型代码审查工具
- 02提交前与写入前门禁
- 03支持多种编码 Agent 环境
- 04门禁状态与开关管理
- 05配置检查、登出与卸载
适用场景
- 01在提交前检查高风险代码更改
- 02在 Agent 写入时触发本地审查
- 03为多个编码环境配置审查工具
- 04检查门禁状态及所需运行时
MCP 相关
初始化程序会在支持的编码环境中配置 TruVerifAI MCP 服务与审查工具。审查工具保持连接,即使关闭自动门禁也可使用。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.truverif.ai/mcpclaude mcp add --transport http truverifai-panel-review https://mcp.truverif.ai/mcp{"mcpServers":{"truverifai-panel-review":{"type":"http","url":"https://mcp.truverif.ai/mcp"}}}在 Cursor 中打开{"servers":{"truverifai-panel-review":{"type":"http","url":"https://mcp.truverif.ai/mcp"}}}在 VS Code 中打开{"mcpServers":{"truverifai-panel-review":{"type":"http","url":"https://mcp.truverif.ai/mcp"}}}{"mcpServers":{"truverifai-panel-review":{"serverUrl":"https://mcp.truverif.ai/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.truverif.ai/mcp需要授权工具
详细介绍
@truverifai/init
只需一条命令,即可在 Claude Code、Codex CLI、Cursor(IDE + CLI)、VS Code / GitHub Copilot、 Gemini CLI 和 Antigravity 上,将 AI 编码 Agent 连接到 TruVerifAI ——多模型审查工具,以及本地的提交前/写入前审查关卡。
npx @truverifai/init # plan -> one confirm -> browser login -> install gates + tools -> verify
npx @truverifai/init doctor # re-verify anytime: gates armed, tools connected, key valid
npx @truverifai/init logout # remove the API key from every config this tool wrote
init 会列出它将在你的机器上写入的所有内容,并在开始操作前征求一次确认。若要限定范围或预览:
npx @truverifai/init --dry-run # print the plan, write nothing
npx @truverifai/init --only claude,codex # install for these agents only
npx @truverifai/init --skip gemini,hook,rules # everything except these
npx @truverifai/init --yes # non-interactive (CI): accept the plan
npx @truverifai/init --version # print the version, do nothing else
Agent 名称:claude、codex、copilot、vscode、cursor、gemini、
antigravity;hook 是 git 提交前关卡,rules 是 Agent 规则区块。拒绝提示后不会写入任何内容,程序随即退出。若传入 init 无法识别的标志,也不会写入任何内容,程序随即退出(不会继续执行安装)。
采用 MIT 许可证。零运行时依赖——此软件包是纯净、未压缩的 JavaScript 和 Python;运行 npm pack @truverifai/init 即可逐行查看。无需构建,也没有传递性供应链依赖。
实际演示
- ▶ 90 秒演示 —— 关卡、面板,以及它发现的严重缺陷
- ▶ 完整演练(8 分钟) —— 设置、关卡、跳过与覆盖、自定义下限
- ▶ 扩展演示(4 分钟) —— 介于两者之间的方案,支持 BYOM/BYOK
要求
- Node 18+ —— 用于运行此安装程序;它写入的每条钩子命令都会通过
node <launcher> <host> <gate>.py启动关卡。没有 Node,任何宿主上都无法运行关卡。 - Python 3(
python3,或 Windows 上的py)—— 运行关卡代码本身。
npx @truverifai/init doctor 会检查两者,并指出缺少哪一个,而不是让关卡在运行时缺少环境后悄然失效。
关闭关卡(以及重新开启)
审查关卡会拦截有风险的提交和编辑。用一条命令即可控制所有关卡:
npx @truverifai/init gates off # stop every gate, everywhere
npx @truverifai/init gates on # turn them back on
npx @truverifai/init gates status # what's on, and which setting decided it
(如果你通过 npm i -g @truverifai/init 全局安装,同样的命令也可用较短的 tvai gates off。普通的 npx 不会在 PATH 中留下 tvai 可执行文件,因此除非你全局安装,否则请使用上面的完整形式。)
此命令会将 enable_gates 写入 ~/.truverifai/config.json,所有交付方式都会读取该设置——包括 git 提交前钩子,以及 Codex、Cursor、Copilot、VS Code、Gemini 和 Antigravity 的钩子。无论关卡是否启用,MCP 审查工具都会保持连接;关闭的只是自动关卡。
有两点值得注意:
- Claude Code 不再有独立开关。 插件设置面板已移除
enable_gates(它此前只能影响 Claude Code 自己的钩子,也就是 X8 分拆),因此此命令是唯一开关。只有一种例外:移除该设置前保存在面板中的值,可能仍会导出到 Claude Code 的钩子中,直到你清除该值;gates status会提示这一点并说明处理方法。 TVAI_ENABLE_GATES会覆盖所有设置。 如果你已导出该变量,gates on|off会将设置写入文件,但在取消设置该变量前不会生效。gates status会说明这一点。
如需彻底移除关卡,而非仅将其关闭,请参阅下文的 移除部分。
具体会安装哪些内容
init 会以你的身份交互式运行:先显示计划,只有在你确认后才写入,并打印它修改的每个文件。完整列表如下:
其自身目录 — ~/.truverifai/
config.json— 你的tvai_…API 密钥(通过浏览器设备流登录生成;此过程不会接触密码)。gates/current/— 审查门控代码(Python + Node 启动器), 从此软件包的vendor/目录随包提供。.nudge_state.json、gate_state/— 本地速率限制/状态文件。
每个检测到的 Agent(用户级;仅适用于在你的计算机上找到的 Agent)
- Claude Code:插件的
api_token选项,以及~/.claude/settings.json中的一条permissions.allow条目(mcp__plugin_panel-review_truverifai), 以便 Claude 的自动模式分类器允许免费的门控释放调用。 只会合并新增内容 — 文件会先备份,不会创建文件, 也不会删除任何内容。 - Codex CLI:
~/.codex/config.toml中的 MCP 服务区块(位于TRUVERIFAI标记之间) 和[features] hooks = true;以及~/.codex/hooks.json。 - Cursor:
~/.cursor/hooks.json(门控)和~/.cursor/mcp.json(工具)。 - Copilot CLI:
~/.copilot/mcp-config.json。 - VS Code:你的用户级
mcp.json。 - Gemini CLI:
~/.gemini/settings.json(工具条目)。
每个代码仓库(在你运行 init 的仓库中写入,并会提示你确认)
.github/hooks/truverifai-gate.json+truverifai-vscode.json(Copilot CLI / VS Code 门控钩子)、.gemini/settings.json(Gemini 钩子)、.agents/hooks.json(Antigravity 钩子)。- 可选的 Agent 规则区块(标记为
TRUVERIFAI_RULES_START…END),写入AGENTS.md/CLAUDE.md/GEMINI.md— 会先征求你的同意。 .git/hooks/pre-commit— Git 门控,用于捕获在任何 Agent 外部进行的提交 (也是--no-verify会使绕过门控成为明确且可审计操作的唯一层)。在 Git 仓库中运行init时会自动安装。它是唯一适用于单个仓库的门控,因此可以通过cd <repo> && npx @truverifai/init hook将它添加到其他 仓库。你编写的现有 pre-commit 钩子绝不会被覆盖 — init 会报告并 打印需要手动添加的那一行。
logout 会从上述所有配置中移除 API 密钥。不会将任何内容安装为服务、守护进程或启动项;只有在 Agent 宿主调用钩子时,门控才会运行。
哪些内容会离开你的计算机
- **登录:**通过与
truverif.ai进行设备流握手,在浏览器中生成你的 API 密钥。 - 门控检查(针对有风险的写入/提交):门控会向
api.truverif.aiPOST 经哈希处理的仓库指纹(你的 Git 远程 URL 或仓库路径的 SHA-256 — 原始路径/URL 不会离开计算机)、 已更改代码片段的内容哈希,以及本地分类器的类别 标签和分数。不会发送你的源代码,也不会发送你的文件路径 (只发送“测试/文档”等粗略的路径类别标签)。 - **审查工具(
audit_coding等):**只会发送你的 Agent 在调用审查时明确传入的内容 — 这就是产品本身:你选择提交的差异/上下文会由多个前沿 模型分析。 - **更新检查:**门控响应可能包含“有较新版本可用”的提示,该提示由服务端根据公开的 npm 注册表计算;客户端只会发送自身的版本字符串。
- 诊断信息(
TVAI_PAYLOAD_LOG)仅保存在本地,且需选择启用 — 不会上传任何内容。
门控在设计上会默认放行:如果我们的服务无法访问或发生任何错误,你的提交/写入会继续进行,并显示一条通知,说明该更改未经过门控。本工具绝不会因自身故障而阻止你的工作。
验证此软件包
完整源代码公开在
github.com/TruVerifAI/init 上——每个
版本都会同步到那里。要手动验证 tarball:
运行 npm pack @truverifai/init,解压后与仓库进行差异比对——
bin/tvai.js、lib/*.js 和 vendor/gates/*.py 构成了完整的运行时代码,
且不依赖任何依赖项。门控代码(vendor/gates/)也发布在
github.com/TruVerifAI/claude-plugins
(plugins/panel-review/hooks/)中。构建来源证明(通过 CI 发布并与此仓库建立
密码学关联)是计划中的下一步。
移除
npx @truverifai/init uninstall
一条命令即可彻底移除:
init写入的所有钩子配置(Codex、Cursor、Copilot、VS Code、 Gemini、Antigravity 和 git pre-commit 钩子)、~/.truverifai/下的 vendored 门控代码,以及 MCP 服务条目。与其他工具共享的钩子文件会被编辑,而不会删除——只移除带有标记的我们自己的条目。- 你的 API 密钥,会在服务器端撤销。 删除本地密钥文件之前, 卸载程序会调用 API 撤销密钥本身,因此任何泄露或同步的副本都会失效。如果服务器无法访问,程序会说明情况并继续执行(本地移除绝不会因网络问题而受阻)。
- Claude 凭据存储中的插件令牌——在 Mac 上,会就地编辑 Keychain 条目中的 panel-review 值(Keychain 项目本身归 Claude 所有,会保留不动)。
init为共享配置文件创建的.tvai-bak备份——仅在确认在线文件已清理干净后才会删除;如果在线文件仍包含我们的条目,则保留其备份并将其作为恢复源。
卸载会如实报告失败:无法移除的内容会在最后列于“需要你处理”下;如果仍有包含机密信息的残留,命令会以非零状态码退出(假定退出码为 0 的 CI 脚本应对此进行检查)。没有提示即表示已清理干净。
卸载还会尝试调用宿主 CLI 来移除 init 安装的插件
(claude plugin uninstall panel-review@truverifai、
codex plugin remove panel-review@truverifai),并尽力而为:每次尝试都会显示结果,失败不会阻止卸载的其余部分;如果没有可运行的 CLI(Claude 桌面应用),程序会显示应用内操作步骤(点击 + 按钮,然后选择 Plugins)。
npx @truverifai/init logout 是更轻量的选项:它会清除密钥(以及我们为存放密钥的文件创建的备份)和 MCP 条目,但会保留已安装的钩子。由于没有密钥,这些钩子会默认放行;之后运行 npx @truverifai/init login 即可重新启用它们。
支持
- 设置页面:https://truverif.ai/settings/mcp
- 问题 / 咨询:[email protected]
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
