内容
<div align="center">
# 检谱
### 在您的代理花费令牌之前捕获糟糕的计划。
[](https://github.com/yannmenec/inspectrum/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/inspectrum)
[](LICENSE)
[](https://nodejs.org/)
**克劳德计划它。GPT审查它。你批准它。**
</div>
---
每个AI编码灾难都以同样的方式开始:一个看似合理的计划,在三秒钟内获得批准。
问题不在于您的代理计划得很差劲——而是**没有人检查计划**。您快速浏览一下,点点头,然后在40分钟和20万令牌后才发现步骤2是错误的。让同一个模型审查自己的计划并没有帮助:同一个模型,同一个盲点,同一个错误——两次。
**Inspectrum 将竞争对手LLM连接到您的代理的计划模式。** 当克劳德代码完成计划时,Codex(GPT)会在批准对话框到达您之前审查它。发现结果将计划退回克劳德进行修订——因此您最终批准的计划已经经过了第二次审查。 (如果审查员无法运行,计划将附带警告通过,从不被阻止。)
## 快速开始
您需要 [Node 20+](https://nodejs.org),克劳德代码和Codex CLI >= 0.99.0,并使用 [ChatGPT订阅](https://chatgpt.com/pricing)(无需API密钥):
```bash
claude plugin marketplace add yannmenec/inspectrum
claude plugin install inspectrum@inspectrum
```
这就是整个安装过程。 下次您在计划模式下完成计划时:
```text
⏺ ExitPlanMode
⎿ inspectrum×codex: REVISE (round 1/2) # abridged — real output
Majors: # adds a full-report path
- [codex] Migration drops the unique index before backfilling —
concurrent writes can insert duplicates.
Fix: backfill first, drop the index last.
Revise the plan to address these findings, then finish the plan again.
⏺ ExitPlanMode
⎿ inspectrum: codex approved the plan (session 2026-07-12…).
┌ Ready to code? ────────────────
│ Here is Claude's plan… ← your normal approval dialog
```
无需记住提示词,无需按钮,触发无需消耗令牌。 门是一个确定性钩子——它会在每个计划上触发,无论您的会话运行Fable、Sonnet还是Haiku。 两个命令提供自动门;按需 `/inspectrum:review` 命令需要多一行(注册MCP服务器 - 如下所示的辅助设置)。
<details>
<summary>希望代理安装并检查所有内容?请将以下内容粘贴到克劳德代码中。</summary>
````text
设置inspectrum的Codex计划门。仅使用正常批准 - 不要
切换到绕过权限或完全访问。
步骤:
1. 运行 `node --version`。如果 < 20,停止并告诉我先安装 Node 20+
来自 https://nodejs.org。
2. 运行 `codex --version`。如果它丢失或旧于 0.99.0,请运行
`npm install -g @openai/codex@latest` 并再次验证。
3. 运行 `claude plugin marketplace add yannmenec/inspectrum`,然后
`claude plugin install inspectrum@inspectrum`.
4. 运行 `claude mcp add --transport stdio --scope user inspectrum -- npx -y inspectrum@latest`
(这为按需 /inspectrum:review 命令提供支持)。
5. 运行 `npx -y inspectrum@latest doctor` 并显示输出,
包括已解析的codex模型/努力行。
6. 运行 `codex login status`。
- 如果它打印“已登录”,请告诉我:“✅ 设置完成。您的下一个
计划模式计划将自动获得Codex审查。” 完成。
- 否则(未登录),打开一个带有codex的终端窗口
已经运行:`osascript -e 'tell application "Terminal" to do script "codex"'`
然后告诉我:“一个带有codex的终端窗口已打开。
在那个窗口中,点击“使用ChatGPT登录”,在我的浏览器中完成
登录,然后关闭终端窗口。 inspectrum
现在准备好了。”
不使用sudo,编辑shell配置文件,推送git更改,读取.env或
凭证,或发布软件包。 报告回来:节点版本,codex
安装状态,医生判决,以及是否需要登录。
````
</details>
## 它是如何工作的
```
you ──▶ Claude Code ──▶ plan ready ──▶ ExitPlanMode
│
inspectrum plan-gate (hook)
│
Codex reviews the plan
(read-only sandbox, your ChatGPT sub)
│
┌─────────────────────┴──────────────────────┐
APPROVE ✅ REVISE / REJECT ❌
│ │
your approval dialog findings go back to Claude,
appears as usual it revises, gate runs again
(max 2 rounds)
```
构建为 **枯燥且安全**:
- **失败开启。** Codex未安装、注销、超时、网络关闭 - 计划继续进行,并带有可见警告。 操作错误不会阻止您的工作;门会降级,不会阻塞。
- **从不自动批准。** 绿色审查仍然会出现在 **您的** 批准对话框中。 门可以延迟它(同时克劳德修订),但永远无法点击它 - 您保留最终决定权。
- **无浪费的审查。** 在一个会话中,不更改的计划会被哈希缓存,不会再次审查;只有实际修订才会花费一轮。
- **只读审查员。** Codex在固定的只读沙盒中运行(`codex exec -s read-only --ephemeral`),并且沙盒削弱标志在您的配置中被剥夺。 审查员读取;它不写入。
- **终止开关。** `[plan_gate] enabled = false` 在 `~/.inspectrum/config.toml`中,或在每个项目中禁用插件。
## 为什么使用竞争对手模型?
- **计划是杠杆。** 在计划阶段发现的缺陷成本为一段文字。 同样的缺陷在PR阶段发现,成本为重写。
- **自我审查是回音室。** 编写计划的模型是发现其盲点的最不合适的模型。
- **克劳德和GPT有用的分歧。** 不同的训练,不同的故障模式,不同的异议。 那种分歧就是产品。
- **使用现有的订阅。** 无需为Codex或克劳德额外付费;审查消耗您现有的Codex订阅额度。 API密钥后端由其提供商计费。
## 包装内容
| | |
|---|---|
| 🚦 **计划门** | 每个克劳德代码计划在您查看之前由Codex审查 - 自动,最多2次修订 |
| 🔍 **按需审查** | `/inspectrum:review` 或来自任何MCP主机的“用inspectrum审查此计划” |
| 🧑⚖️ **多审查员 + 裁判** | 并行运行codex + gemini + claude;裁判合并为一个判决 |
| 📋 **一个判决** | `approve / revise / reject` + 按严重性划分的发现结果 + 审查员属性 |
| 🗂️ **会话日志** | 每次审查的Markdown记录 - 判决,发现结果,修订后的计划 - 在 `~/.inspectrum/sessions/` 下(0700权限) |
| 🩺 **`inspectrum doctor`** | 一个命令检查您的审查员是否安装,验证并解析正确的模型 - 如果Codex注销,则报错 |
## 兼容
| 您的代理 | 您的审查员 | 设置 |
|------------|--------------|-------|
| **克劳德代码** | Codex (GPT) | 插件 - 上面2个命令 |
| **Codex应用/CLI** | 克劳德 | `codex mcp add inspectrum -- npx -y inspectrum@latest` + 配置如下 |
| **克劳德桌面** (macOS) | Codex (GPT) | 下载 [`inspectrum-0.2.1.mcpb`](https://github.com/yannmenec/inspectrum/releases/download/v0.2.1/inspectrum-0.2.1.mcpb),打开,确认。 早期v0.2.0版本不完整 - 使用v0.2.1资产,而不是npm/stdio。 |
| **光标** | Codex (GPT) | [](https://cursor.com/en/install-mcp?name=inspectrum&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImluc3BlY3RydW1AbGF0ZXN0Il19) |
<details>
<summary><b>Codex应用/CLI设置</b> - 使用克劳德作为审查员</summary>
将此内容粘贴到Codex应用或CLI中:
````text
设置inspectrum,以便我可以使用克劳德审查我的计划。仅使用正常批准。
步骤:
1. 运行 `node --version`。如果 < 20,停止并告诉我先安装 Node 20+
来自 https://nodejs.org。
2. 运行 `claude --version`。如果“命令未找到”,请运行
`npm install -g @anthropic-ai/claude-code` 并再次验证。
3. 如果 `~/.inspectrum/config.toml` 不存在,请使用以下内容创建:
[defaults]
reviewers = ["claude"]
4. 运行 `codex mcp add inspectrum -- npx -y inspectrum@latest`
5. 运行 `npx -y inspectrum@latest doctor` 并显示输出。
6. 打开一个带有克劳德的终端窗口,以便我可以确认或完成登录,方法是:
`osascript -e 'tell application "Terminal" to do script "claude"'`
然后告诉我:
- “如果克劳德显示其聊天提示,您已经登录 -
关闭终端窗口。 inspectrum 已准备就绪。”
- “如果克劳德显示/login或打开浏览器,请使用您的克劳德账户完成登录,然后关闭终端窗口。
检谱已经准备好了。”
(⚠ 克劳德行在医生检查后仍然存在,因为
克劳德不提供我们可以检测的状态命令 - 无害。)
不使用sudo,编辑shell配置文件,推送git更改,读取.env或
凭证,或发布软件包。 报告回来:节点版本,克劳德
安装状态,医生判决,以及是否需要登录。
````
需要 [克劳德专业/Max订阅](https://www.anthropic.com/pricing) - 无需API密钥。
</details>
## 调整
**哪个模型审查,以哪种努力?** 在Codex方面,优先级为:
| 设置 | 1st (wins) | 2nd | 3rd |
|---|---|---|---|
| 模型 | `~/.inspectrum/config.toml`中的 `[reviewers.codex] model` | `~/.codex/config.toml`中的 `model` | Codex内置默认模型 |
| 推理努力 | `[reviewers.codex] effort` | `~/.codex/config.toml`中的 `model_reasoning_effort` | Codex内置默认模型 |
`inspectrum doctor` 打印已解析的值。 高努力提供最深入的审查,但可能需要数分钟才能完成计划 - 如果门户感觉缓慢,请将 `[reviewers.codex]` 中的 `effort` 降至 `medium`。
<details>
<summary><b>完整配置</b> - 更多审查员,裁判,限制(~/.inspectrum/config.toml)</summary>
```toml
[defaults]
reviewers = ["codex", "gemini"] # 并行调用
judge = "codex" # 合并时 >= 2 个审查员
focus = "all" # correctness | completeness | risk | clarity | all
[plan_gate] # ExitPlanMode 钩子行为
enabled = true
max_rounds = 2 # 拒绝前计划通过
reason_max_chars = 3000 # 反馈给克劳德的发现预算
# reviewers = ["codex"] # gate 特定覆盖 defaults.reviewers
[reviewers.codex]
effort = "high" # 作为 -c model_reasoning_effort=high 传递
timeout_seconds = 300 # 每个审查员的超时时间上限
# model = "gpt-5.6-sol" # 作为 -m 传递;省略以继承 ~/.codex/config.toml
[reviewers.gemini]
type = "cli"
binary = "gemini"
model = "gemini-2.5-pro"
[reviewers.local]
type = "http"
backend = "ollama"
endpoint = "http://localhost:11434"
model = "qwen2.5:0.5b"
[limits]
report_max_chars = 8000 # 存储的报告上限
timeout_seconds = 300 # 默认审查员时钟
```
无需配置文件,使用 `reviewers = ["codex"]`。 免费层友好:Gemini CLI适用于个人谷歌账户,无需API密钥。 实验性后端:kimi、qwen、openrouter、ollama(本地,零出口)。
```bash
# 在没有插件的情况下注册MCP服务器:
claude mcp add --transport stdio --scope user inspectrum -- npx -y inspectrum@latest # 克劳德代码
codex mcp add inspectrum -- npx -y inspectrum@latest # Codex
# 自动计划门必须使用插件的固定 fail-open shim;不要
# 通过可变npm标签注册计划门。
# 验证所有内容:
npx -y inspectrum@latest doctor
```
</details>
<details>
<summary><b>隐私</b> - 什么离开您的机器,什么留下</summary>
- 会话日志位于 `~/.inspectrum/sessions/<timestamp>__<id>/` 并包含您的完整计划以及每个审查员的判决和发现结果。 目录权限为 **POSIX上的0700**。 pre-0.1.0版本保留其原始权限 - 使用 `chmod -R 700 ~/.inspectrum/sessions/` 修复。
- **永远不要在计划或上下文中粘贴机密信息。** 计划写入本地会话日志,计划和上下文发送给每个活动的审查员。
- 云路由: **克劳德** → Anthropic(OAuth密钥链或 `ANTHROPIC_API_KEY`); **codex** → OpenAI(ChatGPT登录或 `OPENAI_API_KEY`); **gemini** → Google(个人账户CLI登录或 `GEMINI_API_KEY`); **openrouter** → openrouter.ai; **kimi** → Moonshot AI; **qwen** → Alibaba Cloud; **ollama** → localhost 仅限,零出口除非您更改 `endpoint`。
- Codex 作为 `codex exec --ephemeral --skip-git-repo-check -s read-only …` 在临时目录中调用 - 沙盒固定为只读,沙盒削弱参数从您的配置中剥夺,Codex不会保留任何会话文件。
</details>
## 常见问题
**这会让我变慢吗?**
只有当它应该时。一个批准判决添加了一个审查阶段(几秒钟到几分钟,取决于努力);一个弹回的计划是你 *想要* 弹回的计划。 在一个会话中,不变的计划被缓存并且不会被重新审查;只有实际的修订才会花费一轮。
**如果Codex关闭/注销/未安装怎么办?**
门户以可见警告失败并打开,您的计划不受影响。 操作错误永远不会阻止您的工作 - 这是一个架构不变性,而不是最佳努力。
**它能未经我同意批准计划吗?**
不。 门户可以 **延迟** 批准对话框(同时克劳德修订) - 它永远无法点击它。 您看到并批准您发送的每个计划。
**我需要API密钥吗?**
订阅支持的Codex或克劳德CLI登录不需要。 审查消耗现有订阅的额度。 API密钥支持用于无头/CI设置,并由其提供商计费。
**我的提示/计划是敏感的 - 它会去哪里?**
到您配置的审查员那里,以及 `~/.inspectrum/sessions/` 下的本地会话日志(0700)。 其它情况。 使用ollama进行完全本地、零出口的审查员。
## 故障排除
**`sh: inspectrum: command not found` / `claude mcp list` 显示 `✗ Failed to connect` - 仅当您当前目录是inspectrum存储库本身时。`npx inspectrum@<version>` 将规范解析为 *本地* 包,当cwd在名为 `inspectrum` 的包内时版本匹配,并且包的自己的bin永远不会链接到其 `node_modules/.bin` 下。 发布包是好的。 修复:从其他目录运行,或安装真正的二进制文件一次并注册:
```bash
npm install -g inspectrum
claude mcp add --transport stdio --scope user inspectrum -- inspectrum
```
**门户感觉慢?** 在 `[reviewers.codex]` 中设置 `effort = "medium"`(请参见 Tuning)。 **其他问题?** `npx -y inspectrum@latest doctor` 诊断安装、登录和模型解析,一键 [打开问题](https://github.com/yannmenec/inspectrum/issues)及其输出。
---
<div align="center">
**如果inspectrum为您捕获了错误的计划,请 [点赞仓库 ⭐](https://github.com/yannmenec/inspectrum) - 这是其他agent-wranglers找到它的方式。**
MIT - [Yann Menec](https://github.com/yannmenec)。 欢迎贡献: [CONTRIBUTING.md](CONTRIBUTING.md)。
</div>
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器