多模型代码审查服务

一个通过OpenRouter使用多个大型语言模型并行执行代码审查的服务,提供基于共识的代码审查反馈,适用于开发工作流中的质量保障。

  • by Ziltosh
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Ziltosh/review-multi-mcp

使用说明

审查多MCP

一种模型上下文协议(MCP)服务器,通过OpenRouter使用多个LLM执行代码审查。通过并行查询多个AI模型并汇总其结果,获得基于共识的代码审查反馈。

特性

  • 多模型评审:同时查询5+个模型以获得不同的视角
  • 共识检测:2+型号发现的问题标记为高置信度
  • 可配置的:通过配置文件或环境变量选择模型
  • 严重程度分类:分类为关键、高、中、低的问题
  • AC验证:专门检查验收标准的合规性(非常适合基于故事的工作流程)
  • 成本效益高:默认型号平衡质量和成本(每次评论约0.01-0.05美元)

需求

安装

紫外线(推荐)

git clone https://github.com/ziltosh/review-multi-mcp.git
cd review-multi-mcp
uv sync

使用pip

git clone https://github.com/ziltosh/review-multi-mcp.git
cd review-multi-mcp
pip install -r requirements.txt

配置

API密钥(必需)

您有3个选项用于设置OpenRouter API密钥:

选项1: .env 文件(建议单独使用)

cp .env.example .env
# Edit .env and add your key

选项2:Claude代码MCP设置

在 ~/.claude.json,the env 部分自动注入变量(请参见 使用Claude代码 完整示例)。

选项3:系统环境变量

# Linux/macOS
export OPENROUTER_API_KEY="sk-or-..."

# Windows (PowerShell)
$env:OPENROUTER_API_KEY="sk-or-..."

优先级:系统环境变量> .env 文件(.env 不会覆盖现有变量)

型号和选项(可选)

创建 config.json 服务器目录中的文件:

cp config.example.json config.json

编辑 config.json:

{
  "models": [
    "deepseek/deepseek-chat",
    "mistralai/codestral-2508",
    "qwen/qwen3-coder",
    "openai/gpt-4o-mini",
    "google/gemini-2.5-flash"
  ],
  "timeout": 60,
  "max_tokens": 4000,
  "temperature": 0.3,
  "debug": false
}

可用选项

选项 描述 默认值
models OpenRouter型号ID列表 请参阅下面的默认列表
timeout 请求超时(秒) 60
max_tokens 模型响应的最大令牌数 4000
temperature 模型温度(0-1) 0.3
debug 启用调试日志记录 false

环境变量

所有选项也可以通过环境变量进行设置:

变量 描述
OPENROUTER_API_KEY 您的OpenRouter API密钥(必需)
REVIEW_MULTI_MODELS 以逗号分隔的型号ID列表
REVIEW_MULTI_TIMEOUT 请求超时(秒)
REVIEW_MULTI_MAX_TOKENS 响应的最大令牌数
REVIEW_MULTI_TEMPERATURE 模型温度
REVIEW_MULTI_DEBUG 设置为 1 启用调试日志记录

环境变量覆盖 config.json 价值观。

违约模型

默认模型选择平衡了质量、速度和成本:

型号 为什么包括
deepseek/deepseek-chat 最佳价值,出色的推理能力
mistralai/codestral-2508 代码专业化,快速
qwen/qwen3-coder 强大的代码基准测试
openai/gpt-4o-mini 可靠的基线
google/gemini-2.5-flash 快速、有能力、物有所值

浏览可用型号 OpenRouter型号.

使用Claude代码

添加到 ~/.claude.json 在...之下 mcpServers 按键:

紫外线(推荐)

{
  "mcpServers": {
    "review-multi": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/review-multi-mcp", "python", "server.py"],
      "env": {
        "OPENROUTER_API_KEY": "sk-or-..."
      }
    }
  }
}

使用pip/venv

{
  "mcpServers": {
    "review-multi": {
      "command": "/path/to/review-multi-mcp/.venv/bin/python",
      "args": ["/path/to/review-multi-mcp/server.py"],
      "env": {
        "OPENROUTER_API_KEY": "sk-or-..."
      }
    }
  }
}

备注:在Windows上,使用 .venv/Scripts/python.exe 而不是 .venv/bin/python.

添加配置后,重新启动Claude Code。证实 /mcp 命令。

刀具参数

参数 说明
code 待审查代码(内联)
code_file 包含代码的文件路径(内联的替代方案-建议用于大差异)
focus 描述要验证的内容的上下文字符串(见下面的格式)
models 覆盖此审核的默认模型

工具验证什么

审查提示旨在 对抗性代码审查模型被指示去发现真正的问题,而不是赞美代码。他们特别检查:

  1. 验收标准(AC)验证:AC是否实际实施?
  2. 任务审计:如果任务被标记为已完成,那么它们真的完成了吗?
  3. 代码质量:安全性、性能、错误处理、可维护性
  4. 测试质量:真实测试与占位符

严重程度

严重性 含义
关键的 AC未实现,存在安全漏洞,任务标记为已完成但未完成
高 合并前必须修复-错误、缺少验证、错误处理不佳
中等 应该修复-性能问题、代码异味、不完整的测试
低 很好修复-风格、文档、细微改进

这 focus 参数

这 focus 参数为模型提供上下文。为了获得最佳效果,请包括:

  • 故事标题/描述
  • 验证的验收标准
  • 相关架构约束
  • 需要检查的具体问题

焦点字符串示例

Story 4.1: Trade Context Capture

Acceptance Criteria:
- AC1: BeginTradeContext() available when CCustomReporter initialized
- AC2: AddCoreIndicator() and AddStrategyIndicator() work during capture
- AC3: FinalizeTradeContext(ticket) associates context with trade
- AC4: Warning logged if FinalizeTradeContext called with 0 indicators

Architecture: CustomReporter.mqh generates JSON with trades[] array containing decision_context

Review for: AC compliance, MQL5 best practices, JSON format correctness, test coverage

简单用法

对于没有故事背景的快速评论:

focus: "Security review - check for SQL injection, XSS, authentication bypass"
focus: "Performance review - look for N+1 queries, unnecessary allocations, blocking calls"

与BMAD工作流程集成

该工具与基于故事的开发工作流程配合得很好,例如 BMAD方法.

看 示例/bmad-integration.md 查看完整的自定义命令示例。

输出格式

该工具返回一个结构化的审查,包括:

  • 共识裁决:通过、关注或失败
  • 个人模型判决:每个模型的评估
  • 按严重程度列出的问题:临界、高、中、低
  • 高置信度标记:2+模型发现的问题
  • 模型摘要:每个模型的总结评估

成本估算

使用默认的5个模型和典型的代码审查(每个模型约5K个输入令牌,约2K个输出):

  • 根据评论: ~$0.01-0.05
  • 每日(20条评论): ~$0.20-1.00

成本因型号而异。检查 OpenRouter定价 以目前的价格。

故障排除

“未设置OPENROUTER_API_KEY环境变量”

确保在MCP服务器配置或系统环境中设置了API密钥。

超时

增加超时时间 config.json 或通过 REVIEW_MULTI_TIMEOUT.

调试模式

启用调试日志记录以查看发生了什么:

{
  "debug": true
}

或者: REVIEW_MULTI_DEBUG=1

检查 server.log 在服务器目录中。

许可证

MIT许可证-请参阅许可证文件。

贡献

欢迎投稿!请打开问题或PR。


专为配合使用而设计 克劳德代码