2026年7月10日 2 分钟阅读

ReviewCerberus 实战教程:用 AI 代码审查工具自动守护 PR 质量

tinyash 0 条评论

代码审查(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 BedrockAWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEYClaude Opus 4.5
Anthropic APIANTHROPIC_API_KEYClaude Opus 4.5
Ollama(本地)OLLAMA_BASE_URLDeepSeek V3.1
MoonshotMOONSHOT_API_KEYKimi 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. 生成质疑问题 — 为每个发现的问题构造可证伪的验证问题
  2. 回答问题 — 利用代码上下文回答这些问题
  3. 评分置信度 — 为每个问题分配 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 是一个值得尝试的开源工具。


相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。