# CodeEye **Repository Path**: jungle/code-eye ## Basic Information - **Project Name**: CodeEye - **Description**: 基于LLM的代码检视平台 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-10 - **Last Updated**: 2026-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🔍 AI代码检视系统 一个基于大模型的智能代码检视平台,支持多个LLM提供商,可实时对Git仓库进行深度代码分析和建议。 ## ✨ 核心特性 - **🤖 多模型支持**: OpenAI、Azure OpenAI、Anthropic Claude、Groq、Deepseek - **📊 智能检视**: 基于LLM的代码质量、安全性、性能分析 - **🎯 灵活范围**: 支持全仓库、指定文件、文件模式等多种检视方式 - **📈 进度追踪**: 实时显示检视进度和统计信息 - **💾 历史记录**: 保存检视历史,方便对比和参考 - **⚙️ 自定义提示**: 支持自定义检视指导规则 ## 🚀 快速开始 ### 前置要求 - Python 3.8+ - Git - 至少一个LLM API密钥(OpenAI、Azure、Anthropic或Groq) ### 安装依赖 ```bash cd code-review-system pip install -r requirements.txt ``` ### 配置环境变量 ```bash cp .env.example .env ``` 编辑 `.env` 文件,配置: ```env # LLM 配置(选择一个) LLM_PROVIDER=openai LLM_API_KEY=your_api_key_here LLM_MODEL=gpt-4 # 或使用 Azure OpenAI # LLM_PROVIDER=azure_openai # LLM_API_BASE=https://your-resource.openai.azure.com/ ``` ### 启动应用 ```bash python -m uvicorn app.main:app --reload --port 8000 ``` 访问 http://localhost:8000 ## 📖 使用指南 ### 1. 配置LLM 1. 在左侧面板选择LLM提供商 2. 输入API密钥 3. 选择模型名称 4. 点击"保存配置" ### 2. 提交检视 1. 输入Git仓库URL(支持HTTPS和SSH) 2. 选择分支(默认main) 3. 选择检视范围: - **整个仓库**: 分析所有源代码文件 - **指定文件**: 逐个文件检视(后续实现) - **文件模式**: 使用glob模式 (如 `*.py, src/**`) 4. 可选:输入自定义检视提示 5. 点击"开始检视" ### 3. 查看结果 - 实时看到进度条和处理状态 - 检视完成后显示详细报告 - 包含文件数、代码行数、编程语言等统计信息 - 支持保存到历史记录 ## 🏗️ 系统架构 ### 后端 ``` app/ ├── main.py # FastAPI应用入口 ├── config.py # 配置管理 ├── models.py # 数据模型 ├── routers/ │ ├── review.py # 检视API路由 │ └── history.py # 历史记录路由 └── services/ ├── git_service.py # Git克隆和管理 ├── llm_service.py # LLM集成(多提供商) └── code_analyzer.py # 代码分析 ``` ### 前端 ``` static/ ├── index.html # 主页面 ├── style.css # 样式表 └── app.js # 交互逻辑 ``` ## 🔌 API 文档 ### 提交检视 ```http POST /api/review/submit Content-Type: application/json { "git_url": "https://github.com/user/repo.git", "branch": "main", "scope": "full_repo", "file_patterns": ["*.py", "src/**"], "exclude_patterns": ["tests/**", "*.test.py"], "custom_prompt": "关注安全性问题" } ``` ### 获取状态 ```http GET /api/review/status/{task_id} ``` ### 获取结果 ```http GET /api/review/result/{task_id} ``` ### 获取历史 ```http GET /api/history/?page=1&page_size=10 ``` ### 更新配置 ```http POST /api/config Content-Type: application/json { "llm_provider": "openai", "llm_api_key": "sk-...", "llm_model": "gpt-4", "llm_temperature": 0.7 } ``` **支持的 LLM 提供商配置示例:** ```bash # OpenAI llm_provider=openai llm_api_key=sk-... llm_model=gpt-4 llm_api_base=https://api.openai.com/v1 # Deepseek llm_provider=deepseek llm_api_key=sk-... llm_model=deepseek-chat llm_api_base=https://api.deepseek.com/v1 ``` ## 🛠️ 支持的LLM提供商 ### OpenAI ```env LLM_PROVIDER=openai LLM_API_KEY=sk-... LLM_MODEL=gpt-4 LLM_API_BASE=https://api.openai.com/v1 ``` ### Azure OpenAI ```env LLM_PROVIDER=azure_openai LLM_API_KEY=your-api-key LLM_MODEL=your-deployment-name LLM_API_BASE=https://your-resource.openai.azure.com/ ``` ### Anthropic Claude ```env LLM_PROVIDER=anthropic LLM_API_KEY=sk-ant-... LLM_MODEL=claude-3-opus-20240229 ``` ### Groq (高速推理) ```env LLM_PROVIDER=groq LLM_API_KEY=gsk_... LLM_MODEL=mixtral-8x7b-32768 ``` ### Deepseek ```env LLM_PROVIDER=deepseek LLM_API_KEY=sk-... LLM_MODEL=deepseek-chat LLM_API_BASE=https://api.deepseek.com/v1 ``` ## 📊 检视范围说明 ### 支持的文件类型 - **编程语言**: Python, JavaScript, TypeScript, Java, C++, C, Go, Ruby, PHP, C#, Swift, Kotlin, Scala, Rust - **前端**: TSX, JSX, Vue, HTML, CSS - **数据**: SQL, JSON, XML, YAML - **脚本**: Bash, Shell ### 默认排除的目录 - `.git`, `node_modules`, `__pycache__` - `.venv`, `venv`, `.env` - `dist`, `build` ## 🎯 检视提示示例 ``` # 代码质量检视 关注代码风格、命名规范、函数复杂度和可维护性 # 安全检视 检查SQL注入、XSS、认证授权、敏感数据处理等安全问题 # 性能检视 识别性能瓶颈、不必要的计算、数据库查询优化机会 # 全面检视 审视代码质量、安全性、性能、可测试性和最佳实践遵循 ``` ## 🔐 隐私与安全 - ⚠️ **代码安全**: 代码内容通过API发送给LLM提供商,请确保仓库内容符合LLM使用政策 - 🔐 **密钥安全**: 永远不要在代码或配置文件中提交API密钥 - 🌐 **网络安全**: 建议在生产环境使用HTTPS和API速率限制 ## 📈 后续功能计划 - [ ] 数据库集成(SQLAlchemy)- 持久化历史记录 - [ ] WebSocket 实时推送 - 更流畅的进度更新 - [ ] 批量检视 - 同时检视多个仓库 - [ ] 检视报告生成 - PDF/HTML导出 - [ ] 集成CI/CD - GitHub Actions、GitLab CI等 - [ ] Web UI改进 - 拖放上传、代码高亮展示 - [ ] 性能优化 - 并发处理多个任务 - [ ] 本地模型支持 - Ollama、LLaMA等 ## 🐛 故障排除 ### 克隆仓库失败 - 检查Git URL是否正确 - 如果是私有仓库,确保有访问权限 - 检查网络连接 ### LLM API错误 - 验证API密钥是否正确 - 检查模型名称是否支持 - 确保API配额未用尽 - 查看错误消息中的具体问题 ### 超时错误 - 增加 `TIMEOUT_SECONDS` 值 - 减少检视的文件数量 - 检查网络延迟 ## 📝 许可证 MIT ## 👤 作者 AI代码检视系统 - 基于FastAPI和大模型的开源项目 --- **建议**: 首次使用时,推荐用小型仓库测试,验证LLM配置是否正常工作。