ReviewCerberus 实战教程:用 AI 代码审查工具自动守护 PR 质量
代码审查(Code Review)是保证代码质量的关键环节,但人工审查耗时且容易遗漏细节。ReviewCerberus 是一款开源的 AI 代码审查工具,它能分析 Git 分支差异,自动生成结构化的审查报告,并支持作为 GitHub Action 在 PR 中直接发表评论。
ReviewCerberus 是什么?
ReviewCerberus 是一个使用 Python 编写的 AI 代码审查 CLI 工具,由 Kirill89 开发并遵循 MIT 开源协议。它的核心工作流程是:检测当前 Git 分支和仓库,收集所有上下文(变更文件、提交信息、差异对比),然后通过 AI 代理进行深入分析,最终生成按严重程度分级的审查报告。
项目地址:https://github.com/Kirill89/reviewcerberus
快速上手:一行命令跑起来
ReviewCerberus 推荐使用 Docker 运行,无需在本地安装 Python 依赖:
docker run --rm -it -v $(pwd):/repo \ -e MODEL_PROVIDER=anthropic \ -e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \ kirill89/reviewcerberus:latest \ --repo-path /repo --output /repo/review.md
这条命令会分析当前目录中的 Git 仓库,将审查报告保存到 review.md。就这么简单。
CLI 命令详解
ReviewCerberus 提供了丰富的命令行选项:
poetry run reviewcerberus poetry run reviewcerberus --target-branch develop poetry run reviewcerberus --output /path/to/review.md poetry run reviewcerberus --json poetry run reviewcerberus --repo-path /path/to/repo poetry run reviewcerberus --instructions guidelines.md
审查覆盖的维度
ReviewCerberus 的审查覆盖六个维度:
- 逻辑与正确性 — Bug、边界条件、错误处理
- 安全性 — OWASP 问题、访问控制、输入验证
- 性能 — N+1 查询、瓶颈、可扩展性
- 代码质量 — 重复代码、复杂度、可维护性
- 副作用 — 对其他系统部分的影响
- 测试与文档 — 测试覆盖缺口、缺失的文档
每个问题都带有一个严重度标识:🔴 CRITICAL、🟠 HIGH、🟡 MEDIUM、🟢 LOW,一目了然。
GitHub Action 自动审查
对团队来说,最有价值的功能是 GitHub Action 集成。配置好后每次 PR 打开或更新时会自动执行审查:
name: Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: Kirill89/reviewcerberus/action@v1
with:
model_provider: anthropic
anthropic_api_key: "${{ secrets.ANTHROPIC_API_KEY }}"
作为质量门禁使用
ReviewCerberus 支持 fail_on 参数,当发现达到指定严重级别的问题时可以让 CI 失败:
- uses: Kirill89/reviewcerberus/action@v1
with:
model_provider: anthropic
anthropic_api_key: "${{ secrets.ANTHROPIC_API_KEY }}"
fail_on: "high"
这意味着 PR 中如果存在 HIGH 及以上严重度的问题,CI 将直接失败,起到代码质量门禁的作用。
多 Provider 支持
ReviewCerberus 支持四种 AI 模型提供商:
| Provider | 环境变量 | 默认模型 |
|---|---|---|
| AWS Bedrock | AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY | Claude Opus 4.5 |
| Anthropic API | ANTHROPIC_API_KEY | Claude Opus 4.5 |
| Ollama(本地) | OLLAMA_BASE_URL | DeepSeek V3.1 |
| Moonshot | MOONSHOT_API_KEY | Kimi K2.5 |
如果使用本地 Ollama 部署,可以用以下命令:
docker run --rm -it -v $(pwd):/repo \ -e MODEL_PROVIDER=ollama \ -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \ kirill89/reviewcerberus:latest \ --repo-path /repo --output /repo/review.md
验证模式:减少误报
ReviewCerberus 的实验性验证模式使用 Chain-of-Verification(CoVe)技术来减少误报。启用后,系统会执行三个步骤:
- 生成质疑问题 — 为每个发现的问题构造可证伪的验证问题
- 回答问题 — 利用代码上下文回答这些问题
- 评分置信度 — 为每个问题分配 1-10 的置信度分数
启用验证模式只需添加 --verify 参数:
poetry run reviewcerberus --verify
SAST 预扫描集成
另一个实验性功能是 SAST 预扫描。启用后,ReviewCerberus 会在 AI 审查前先运行 OpenGrep(Semgrep 的分支)进行静态分析,只扫描当前分支引入的新问题。AI 代理会独立验证每个发现并剔除误报:
poetry run reviewcerberus --sast
SAST 和验证模式可以结合使用,实现双重保障。
配置方式
ReviewCerberus 通过环境变量(.env 文件)配置。关键变量包括:
MODEL_PROVIDER=anthropic # 或 bedrock / ollama / moonshot MAX_OUTPUT_TOKENS=8192 # 输出最大 token 数 TOOL_CALL_LIMIT=100 # 工具调用上限 VERIFY_MODEL_NAME=... # 验证专用模型
总结
ReviewCerberus 为团队代码审查提供了一个实用且灵活的自动化方案。它的核心优势在于:
- 门槛低 — Docker 一键运行,无需复杂配置
- 多 Provider — 可以选择云端或本地模型,数据安全可控
- GitHub Action 集成 — 自动在 PR 中发表审查评论
- 质量门禁 — 支持 fail_on 参数控制 CI 流程
- 验证机制 — Chain-of-Verification 减少误报
对于希望提升代码审查效率的团队来说,ReviewCerberus 是一个值得尝试的开源工具。
相关链接: