article
README
🚀 代码审查服务器
代码审查服务器是一个自定义的MCP服务器,它借助Repomix和大型语言模型(LLM)开展代码审查工作。通过该服务器,用户能够对代码库进行全面分析,获取结构化的审查结果,包含具体问题和改进建议。
✨ 主要特性
- 代码库扁平化:使用Repomix将代码库进行扁平化处理。
- 代码智能分析:利用大型语言模型对代码进行深入分析。
- 结构化审查结果:获得包含具体问题和建议的结构化代码审查结果。
- 多LLM供应商支持:支持多种LLM供应商,如OpenAI、Anthropic、Gemini。
- 大代码库处理:具备处理大代码库分块的能力。
📦 安装指南
# 克隆仓库
git clone https://github.com/yourusername/code-review-server.git
cd code-review-server
# 安装依赖
npm install
# 构建服务器
npm run build
📚 详细文档
配置
基于.env.example模板创建根目录下的.env文件:
cp .env.example .env
编辑.env文件以设置首选的LLM供应商和API密钥:
# LLM 供应商配置
LLM_PROVIDER=OPEN_AI
OPENAI_API_KEY=your_openai_api_key_here
使用方法
作为MCP服务器
该代码审查服务器实现Model Context Protocol (MCP),可与任何MCP客户端一起使用:
# 启动服务器
node build/index.js
服务器提供两个主要工具:
analyze_repo:使用Repomix扁平化代码库code_review:利用LLM执行代码审查
使用情况指南
analyze_repo
当需要以下功能时使用此工具:
- 获取代码库的总体概览
- 了解代码库的目的和结构
- 分析代码库的主要组成部分
示例用法:
# 示例命令
node build/index.js analyze_repo --path /path/to/your/repo
code_review
当需要以下功能时使用此工具:
- 深入分析代码质量
- 识别潜在问题和漏洞
- 获取改进建议
示例用法:
# 示例命令
node build/index.js code_review --path /path/to/your/repo --focus SECURITY,MAINTAINABILITY
LLM 集成细节
- 模型选择与配置:
- 默认使用供应商提供的特定版本,如OpenAI的
gpt-4-turbo、Anthropic的claude-3-sonnet和Gemini的gemini-1.5-flash-preview。 - 允许用户通过环境变量覆盖默认模型选择。
- 默认使用供应商提供的特定版本,如OpenAI的
- API 调用与错误处理:
- 实现了重试逻辑,增强API调用的稳定性。
- 包括请求超时和错误处理机制,确保服务可靠性。
- 代码处理流程:
- 使用Repomix工具将代码库转换为线性文本,便于模型分析。
- 根据上下文窗口限制对代码进行分块处理,确保模型能够有效处理。
代码审查输出格式
代码审查结果以结构化的JSON格式返回:
{
"summary": "代码库的简要总结和目的描述",
"issues": [
{
"type": "SECURITY|PERFORMANCE|QUALITY|MAINTAINABILITY",
"severity": "HIGH|MEDIUM|LOW",
"description": "问题的具体描述",
"line_numbers": [12, 15],
"recommendation": "建议的修复方案"
}
],
"strengths": ["代码库的优点列表"],
"recommendations": ["总体改进建议"]
}
📄 许可证
本项目采用MIT许可证。
Scan to contact