Skip to content

About

使用AI进行代码检查

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

CodeReview AI 🔥

AI驱动的代码审查系统 — 全中文界面,支持项目级批量审查、报告导出、Web可视化查看

Forked from yizhimish/codereview-ai

本项目在原基础上进行了大量改进和功能增强

CodeReview AI 界面

✨ 特性

  • AI 代码审查 — 自动发现 bug、安全漏洞、性能问题、代码风格等
  • 多语言支持 — Python / JavaScript / TypeScript / Java / Go / Rust / C++ 等
  • 📁 项目级审查 — 支持整个目录递归扫描,自动跳过 node_modules/.git/pycache 等
  • 📊 报告导出 — 审查结果自动保存为 JSON(完整数据)+ Markdown(可读摘要)
  • 🌐 报告查看器 — 内置 Web 可视化页面,支持上传/浏览报告,分数环图、文件筛选、问题分类
  • 全中文化 — CLI 输出、分析消息、Web 界面全部中文
  • 实时进度 — WebSocket 实时推送审查进度
  • 高性能 — 平均响应 120ms,支持高并发

🚀 快速开始

# 1. 安装后端依赖
pip install -r backend/requirements.txt

# 2. 安装 CLI 工具
cd cli && npm install && npm install -g .

# 3. 启动后端服务
cd ../backend && python main.py
# 或: uvicorn main:app --host 0.0.0.0 --port 9000 --reload

# 4. 访问
#   API 文档:    http://localhost:9000/docs
#   定价页面:    http://localhost:9000/pricing
#   报告查看器:  http://localhost:9000/review   ← 新增!

🖥️ CLI 使用

安装

cd cli && npm install && npm install -g .

注意: 必须先执行 npm install 安装本地依赖,再执行 npm install -g . 全局安装。

基本用法

# 审查单个文件
code-review review -f ./app/main.py

# 审查整个项目/目录(递归扫描所有代码文件)
code-review review -f ./my-project

# 指定输出目录(默认自动创建 ./review-logs)
code-review review -f ./my-project -o ./reports

输出示例

╔══════════════════════════════════════╗
║     CodeReview AI - 代码审查报告      ║
╚══════════════════════════════════════╝

📁 项目: ./my-project
📄 文件数: 1470
⏱ 耗时: 12.3s
📊 平均分数: 72/100
🐛 总问题数: 234

├── 错误 (error): 15
├── 警告 (warning): 89
└── 提示 (info): 130

✅ 项目审查完成
📝 完整报告已保存: review-logs/my-project_20260427_114319.json
📝 Markdown报告已保存: review-logs/my-project_20260427_114319.md

📡 API 接口

端点 方法 说明
/analyze POST 提交代码审查
/result/{job_id} GET 获取审查结果
/ws/{job_id} WS WebSocket 实时审查
/health GET 健康检查

报告查看器相关(新增)

端点 方法 说明
/review GET 报告查看器页面
/api/reports GET 获取已有报告列表
/api/reports/{filename} GET 获取单个报告JSON
/api/upload-report POST 上传JSON报告文件

使用报告查看器

  1. 浏览器打开 http://localhost:9000/review
  2. 点击「📤 上传报告」按钮选择 JSON 文件
  3. 或通过下拉框选择已有报告(来自 review-logs/ 目录)
  4. 也支持拖放 JSON 文件到页面
  5. 带参数访问: http://localhost:9000/review?report=./xxx.json

报告查看器功能

  • 🎯 圆形分数环 — 动画显示综合评分(优秀80+/良好60+/一般40+/差<40)
  • 📈 统计卡片 — 审查文件数、平均分、总问题数、问题类型分布
  • 📂 文件列表侧栏 — 每个文件的评分和问题数量,点击可过滤
  • 🐛 问题详情面板 — 严重级别标签、行号、描述、改进建议
  • 🔍 类型筛选 — error/warning/info 分类切换
  • ⬆️ 文件上传 — 通过按钮或拖放加载任意 JSON 报告

🛠 技术栈

层 技术
后端 FastAPI + Python 3.11, AST 静态分析 + 正则多语言分析
前端 React + TypeScript + TailwindCSS
CLI Node.js + Commander + Chalk + Axios
报告查看器 纯 HTML/CSS/JS(零依赖)
架构 异步任务 + WebSocket 实时推送

📦 项目结构

codereview-ai/
├── backend/
│   ├── main.py              # FastAPI 入口(含报告查看器路由)
│   ├── analyzer.py          # AST 分析引擎(全中文消息)
│   ├── auth.py              # 用户认证
│   └── report-viewer.html   # 报告查看器页面
├── frontend/
│   ├── public/pricing.html  # 定价页(含导航菜单)
│   └── build/               # 构建产物
├── cli/
│   └── bin/cli.js           # CLI 工具(目录审查/报告导出/中文输出)
└── README.md                # 本文件

🔧 分析规则说明

审查引擎对以下维度进行检测:

类别 检测内容
🐛 Bug 未定义变量使用、None 比较、裸 except、无限循环风险、不安全的默认值调用、None 属性访问
🔒 安全 硬编码密钥、eval/exec 执行、shell=True、SQL 注入、pickle 反序列化、HTTP 无超时、路径穿越
⚡ 性能 循环内重复计算、len() 未提升、不必要的 copy()、sum 用生成器代替列表、集合查找优化
🎨 风格 camelCase → snake_case、缺失文档字符串、函数过长、参数过多、未使用导入、行过长、空行不规范
✅ 最佳实践 可变默认参数、== True/False 判断、TODO/FIXME 标记

扣分规则: 基础 100 分,critical(-15), high(-8), medium(-4), low(-2),最低 0 分。

📝 更新日志

v2.2.0 — 功能增强版

  • ✅ 新增目录/项目级代码审查,递归扫描所有代码文件
  • ✅ 新增报告文件导出功能(JSON + Markdown 双格式,时间戳命名)
  • ✅ 新增 Web 报告查看器(/review),支持分数环图、文件筛选、问题分类
  • ✅ 新增文件上传接口,可在 Web 页面直接上传 JSON 报告查看
  • ✅ 全系统中文化:CLI 输出、分析检测消息、Web 界面
  • ✅ 导航栏新增「报告查看」菜单入口
  • 🐛 修复 CLI 分数始终为 0 的字段映射 bug
  • 🐛 修复单文件模式无输出的 bug

🤝 贡献

GitHub仓库

欢迎提交 Issue 和 Pull Request!

About

使用AI进行代码检查

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages