7.0 KiB
7.0 KiB
XCodeReviewer - 智能代码审计系统
一个基于大语言模型(LLM)驱动的现代化代码审计平台,为开发者提供智能、全面的代码质量分析和审查服务。
📖 项目简介
XCodeReviewer 是一个智能代码审计系统,利用 Google Gemini AI 的强大能力,为代码仓库和代码片段提供深度的质量分析。系统不仅能够发现代码中的问题,还能提供详细的解释和修复建议,帮助开发者提升代码质量。
🎯 核心价值
- AI 驱动分析:基于 Google Gemini 的智能代码分析引擎
- 多维度评估:覆盖安全性、性能、可维护性、代码风格等多个维度
- 可解释性:提供 What-Why-How 模式的详细解释
- 实时分析:支持即时代码片段分析和仓库级审计
- 现代化界面:基于 React + TypeScript 的响应式 Web 界面
✨ 核心功能
🚀 项目管理
- 项目创建与管理:支持 GitHub、GitLab 等代码仓库集成
- 多语言支持:支持 JavaScript、TypeScript、Python、Java、Go、Rust 等主流编程语言
- 分支管理:支持指定分支的代码审计
⚡ 即时分析
- 代码片段分析:直接在 Web 界面中粘贴代码进行即时分析
- 多语言支持:支持 10+ 种编程语言的代码分析
- 实时反馈:快速获得代码质量评分和问题建议
🧠 智能审计
- AI 驱动分析:基于 Google Gemini 的深度代码理解
- 多维度检测:
- 🐛 潜在 Bug:发现逻辑错误和边界条件问题
- 🔒 安全漏洞:识别安全风险和漏洞
- ⚡ 性能问题:检测性能瓶颈和优化点
- 🎨 代码风格:确保代码符合最佳实践
- 🔧 可维护性:评估代码的可读性和可维护性
💡 可解释性分析
- What-Why-How 模式:
- What:问题是什么
- Why:为什么是问题
- How:如何修复
- 代码定位:精确定位问题代码行和列
- 修复建议:提供具体的代码修复示例
📊 可视化报告
- 质量评分:0-100 分的综合质量评估
- 问题统计:按类型和严重程度分类的问题统计
- 趋势分析:代码质量变化趋势图表
- 性能指标:系统性能监控和报告
🛠️ 技术栈
前端技术
- React 18 - 现代化的用户界面框架
- TypeScript - 类型安全的 JavaScript 超集
- Vite - 快速的构建工具和开发服务器
- Tailwind CSS - 实用优先的 CSS 框架
- Radix UI - 无样式的 UI 组件库
- Recharts - 基于 React 的图表库
- React Router - 客户端路由管理
AI 与后端
- Google Gemini AI - 大语言模型驱动的代码分析
- Supabase - 后端即服务(BaaS)平台
- PostgreSQL - 关系型数据库
- Axios - HTTP 客户端
开发工具
- Biome - 快速的代码格式化和检查工具
- Ast-grep - 基于 AST 的代码搜索工具
- ESLint - JavaScript 代码检查工具
🚀 快速开始
环境要求
- Node.js 18+
- pnpm 8+ (推荐) 或 npm/yarn
- Google Gemini API Key
安装步骤
- 克隆项目
git clone https://github.com/lintsinghua/XCodeReviewer.git
cd XCodeReviewer
- 安装依赖
pnpm install
# 或
npm install
- 环境配置
# 复制环境变量模板
cp .env.example .env
# 编辑 .env 文件,添加必要的环境变量
VITE_GEMINI_API_KEY=your_gemini_api_key_here
VITE_GEMINI_MODEL=gemini-2.5-flash
VITE_GEMINI_TIMEOUT_MS=25000
- 启动开发服务器
pnpm dev
# 或
npm run dev
- 访问应用 打开浏览器访问 http://localhost:5173
构建生产版本
pnpm build
# 或
npm run build
预览生产版本
pnpm preview
# 或
npm run preview
📁 项目结构
XCodeReviewer/
├── src/
│ ├── components/ # React 组件
│ │ ├── common/ # 通用组件
│ │ ├── ui/ # UI 组件库
│ │ └── debug/ # 调试组件
│ ├── pages/ # 页面组件
│ ├── services/ # 服务层
│ ├── types/ # TypeScript 类型定义
│ ├── hooks/ # 自定义 React Hooks
│ ├── lib/ # 工具函数
│ └── db/ # 数据库配置
├── public/ # 静态资源
├── supabase/ # Supabase 配置
└── docs/ # 文档
🔧 配置说明
环境变量
| 变量名 | 描述 | 默认值 |
|---|---|---|
VITE_GEMINI_API_KEY |
Google Gemini API 密钥 | 必填 |
VITE_GEMINI_MODEL |
使用的 Gemini 模型 | gemini-2.5-flash |
VITE_GEMINI_TIMEOUT_MS |
API 请求超时时间 | 25000 |
支持的编程语言
- JavaScript
- TypeScript
- Python
- Java
- Go
- Rust
- C++
- C#
- PHP
- Ruby
📊 功能特性
代码分析维度
-
安全性分析
- SQL 注入检测
- XSS 漏洞识别
- 敏感信息泄露
- 权限控制问题
-
性能优化
- 算法复杂度分析
- 内存泄漏检测
- 异步操作优化
- 资源使用效率
-
代码质量
- 代码重复检测
- 复杂度评估
- 命名规范检查
- 注释完整性
-
最佳实践
- 设计模式应用
- 错误处理规范
- 测试覆盖率
- 文档完整性
🤝 贡献指南
我们欢迎所有形式的贡献!请查看 CONTRIBUTING.md 了解详细信息。
开发流程
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
📝 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详细信息。
🙏 致谢
- Google Gemini AI - 提供强大的 AI 分析能力
- Supabase - 提供后端服务支持
- React - 前端框架
- Tailwind CSS - CSS 框架
- Radix UI - UI 组件库
📞 联系我们
⭐ 如果这个项目对您有帮助,请给我们一个 Star!