codereview 将你的代码发送给 LLM,并在终端中直接返回结构化的、颜色编码的审查报告——包含严重性评级、行号引用和具体的修复建议。
无需浏览器。无需 PR。无需等待队友。只需:
codereview app.py
git clone https://github.com/jaydendancer12/ai-code-review.git
cd ai-code-review
./install.sh
或手动安装:
git clone https://github.com/jaydendancer12/ai-code-review.git
cd ai-code-review
pip install -e .
所有依赖(rich、requests)将自动安装。无需其他配置。
codereview 需要一个 LLM 来分析你的代码。最快的免费选项是 Groq —— 无需信用卡,无需试用,完全免费。
export GROQ_API_KEY="gsk_your_key_here"
若要永久保存(这样你就不必在每个终端会话中重复设置):
# 对于 zsh(Mac 默认)
echo 'export GROQ_API_KEY="gsk_your_key_here"' >> ~/.zshrc
source ~/.zshrc
# 对于 bash(Linux 默认)
echo 'export GROQ_API_KEY="gsk_your_key_here"' >> ~/.bashrc
source ~/.bashrc
codereview --init groq
codereview yourfile.py
就是这样。你已经在运行 AI 代码审查了。
第一次运行? 只需输入 codereview 而不带任何参数,它就会引导你完成整个设置过程。
codereview app.py
codereview src/auth.py src/db.py src/api.py
git add .
codereview --staged
codereview --last 3
codereview --diff origin/main
cat suspicious_code.py | codereview --stdin
codereview app.py --model gpt-4
codereview app.py --provider ollama
codereview --setup
codereview 可与任何兼容 OpenAI 的 API 配合使用。选择适合你的方案:
export GROQ_API_KEY="gsk_your_key_here"
codereview --init groq
# 1. 安装 Ollama
# Mac:从 https://ollama.com 下载
# Linux:curl -fsSL https://ollama.com/install.sh | sh
# 2. 拉取模型
ollama pull llama3
# 3. 启动服务器
ollama serve
# 4. 初始化(无需 API 密钥)
codereview --init ollama
export OPENAI_API_KEY="sk-..."
codereview --init openai
export ANTHROPIC_API_KEY="sk-ant-..."
codereview --init anthropic
配置存储在 ~/.codereview/config.json:
{
"provider": "groq",
"model": "llama-3.3-70b-versatile",
"base_url": "https://api.groq.com/openai/v1",
"max_tokens": 2048,
"temperature": 0.2
}
API 密钥永远不会存储在配置文件中。 它们仅从环境变量中读取。
export CODEREVIEW_API_KEY="any-key" # 通用覆盖
export CODEREVIEW_MODEL="gpt-4" # 覆盖模型
codereview app.py --model gpt-4 --provider openai
你的代码 --> codereview CLI --> LLM API --> 结构化终端输出
(file/diff) (提示构建器) (任何提供商) (颜色编码发现)
$ codereview api/auth.py
评分:3/10
🔴 严重 —— 硬编码 JWT 密钥
第 12 行硬编码了密钥。
建议:使用环境变量:os.environ["JWT_SECRET"]
🔴 严重 —— 未对密码进行哈希处理
第 34 行以明文存储密码。
建议:使用 bcrypt:bcrypt.hashpw(password, bcrypt.gensalt())
🟡 警告 —— Token 永不过期
JWT token 未设置过期时间。
建议:使用 timedelta 添加 exp 声明
$ git add .
$ codereview --staged
评分:8/10
🔵 信息 —— 考虑添加错误处理
新的 API 端点未捕获 ConnectionError。
建议:使用 try/except 包装并添加重试逻辑。
$ codereview --last 3
评分:9/10
⚪ 风格 —— 命名不一致
utils.py 中混合使用了 snake_case 和 camelCase
建议:根据 PEP 8 坚持使用 snake_case。
添加到你的 GitHub Actions 工作流中:
name: 代码审查
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- run: pip install ai-code-review
- run: codereview --diff origin/main
env:
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
ai-code-review/
├── codereview/
│ ├── __init__.py # 版本
│ ├── cli.py # 命令行界面 + 首次运行设置
│ ├── reviewer.py # LLM API 调用 + 响应解析
│ ├── formatter.py # 丰富的终端输出格式化
│ ├── git_utils.py # Git diff/文件提取工具
│ └── config.py # 配置管理 + API 密钥处理
├── tests/
│ ├── test_reviewer.py # 审查解析测试
│ └── test_git_utils.py # Git 工具测试
├── setup.py
├── pyproject.toml
├── LICENSE
└── README.md
你尚未设置 API 密钥。最快的免费选项:
# 1. 在 https://console.groq.com 获取免费密钥
# 2. 设置它:
export GROQ_API_KEY="gsk_your_key_here"
codereview --init groq
你的 HTTP 客户端被 Cloudflare 封锁。请确保更新到最新:
git pull
pip install -e .
模型已被弃用。重新初始化以获取最新模型:
codereview --init groq
Ollama 服务器未运行:
ollama serve
然后在新的终端中重试。
依赖未安装。运行:
pip install rich requests
或重新安装:
pip install -e .
安装未将其添加到 PATH。直接使用:
python3 -m codereview.cli yourfile.py
或创建别名:
echo 'alias codereview="python3 -m codereview.cli"' >> ~/.zshrc
source ~/.zshrc
欢迎提交 PR!该项目正积极维护中。
git clone https://github.com/jaydendancer12/ai-code-review.git
cd ai-code-review
pip install -e .
pip install pytest
pytest -v
MIT —— 参见 LICENSE
如果 codereview 曾帮你避免了一个 bug,请给它一个 ⭐
由 Jayden Dancer 构建
| 严重性 | 检测内容 | 示例 |
|---|
| 🔴 严重 | 安全漏洞、数据丢失、崩溃 | SQL 注入、对用户输入执行 eval()、硬编码密钥 |
| 🟡 警告 | 错误、缺少错误处理、竞态条件 | 除零、未处理的异常、资源泄漏 |
| 🔵 信息 | 性能改进、更好的模式 | 不必要的分配、缺少缓存、N+1 查询 |
| ⚪ 风格 | 命名、格式、文档 | 缺少文档字符串、命名不一致、死代码 |