17611538698
webmaster@21cto.com

阿里开源AI代码审查工具 Open Code Review 使用指南

人工智能 1 2511 2026-06-06 11:27:15
图片

导读:前面我们曾登载过一篇OpenCodeReview的文章,内容有诸多不匹配,会耽误时间,现已经关闭,给各位带来不全深表羞涩。今天此文为原作者小灰灰的最新版本,供大家查阅参考。

问题:AI 代码审查的「精度瓶颈」


如果你用过 Claude Code 或 Cursor 让 AI 做代码审查,大概率遇到过这些问题:

  • 覆盖不全
    ——改动文件多了,AI 只审了其中一部分
  • 位置漂移
    ——报的问题跟实际代码行号对不上
  • 质量波动
    ——同样的 Prompt,今天审得好明天审得差


这些问题的根源在于:纯语言驱动的架构缺少对审查过程的硬约束

AI Agent 像人类一样会「偷懒」——审到一半觉得够了就停,或者因为上下文太长而遗漏关键文件。

阿里巴巴内部也有同样的痛点。经过两年、数万开发者的内部验证后,他们把成果做成了开源项目——Open Code Review。

什么是 Open Code Review


Open Code Review(简称 OCR)是一个 AI 驱动的代码审查 CLI 工具。核心设计是确定性工程 + Agent 混合架构——把「绝对不能出错」的部分交给工程逻辑,把「需要动态判断」的部分交给 LLM。

  • 仓库:https://github.com/alibaba/open-code-review
  • 语言:Go|许可证:Apache-2.0
  • Stars:1469|**89 forks

安装方法如下:
npm install -@alibaba-group/open-code-review

对比纯 Agent 方案(如用 Claude Code Skills 做审查),OCR 的核心差异在于:

特征
纯 Agent 方案
Open Code Review
文件选择
靠模型理解
确定性规则匹配
位置精度
可能漂移
后处理反射模块修正
审查稳定性
Prompt 波动影响大
模板引擎 + 规则分层
大变更集
容易遗漏文件
文件分片 + 子 Agent 并发
自定义规则
难以实现
JSON 规则文件,四层优先级


安装与配置


以下是安装方式。


推荐各位通过 NPM 安装:

npm install -@alibaba-group/open-code-review

安装后 ocr 命令全局可用。也可以从 GitHub Releases 直接下载二进制文件:

curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-amd64chmod +x ocr && sudo mv ocr /usr/local/bin/ocr

配置 LLM


OCR 需要配置一个 LLM 端点。支持 OpenAI 和 Anthropic 兼容 API:

ocr config set llm.url https://api.anthropic.com/v1/messagesocr config set llm.auth_token sk-ant-xxxxxocr config set llm.model claude-sonnet-4-6ocr config set llm.use_anthropic trueexport OCR_LLM_URL=https://api.openai.com/v1/chat/completionsexport OCR_LLM_TOKEN=sk-xxxxxexport OCR_LLM_MODEL=gpt-4o

OCR 还会自动读取 Claude Code 的环境变量(ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKENANTHROPIC_MODEL),甚至能从 ~/.zshrc~/.bashrc 中解析这些变量。

配置完成后测试连通性:

ocr llm test

如果返回 Connection OK,就可以开始审查代码了。

日常使用场景


场景一:审查工作区变更

在项目目录下直接运行:

cd your-projectocr review

这会审查所有已暂存(staged)、未暂存和未跟踪的变更。默认按并发数 8 执行,超时时间 10 分钟。

场景二:审查分支差异


在提交 PR 前,对比当前分支和主分支:

ocr review --from main --to feature-branch

场景三:审查特定提交


ocr review --commit abc1234

配合 --format json 输出机器可读的审查结果:

ocr review --from main --to feature-branch --format json --audience agent

--audience agent 模式只输出摘要信息,适合 CI 管道解析。

场景四:预览审查范围


如果你不确定 OCR 会审查哪些文件,先用预览模式看看:

ocr review --preview

这不会调用 LLM,只输出文件选择结果,帮你确认配置是否正确。

自定义审查规则


OCR 的审查规则有四层优先级

  1. CLI 指定:
    ocr review --rule /path/to/rule.json
  2. 项目级:
    /.opencodereview/rule.json
  3. 全局级:
    ~/.opencodereview/rule.json
  4. 系统内置:
    内嵌的通用规则集


规则文件 JSON 格式:

{"rules":[{"path":"**/*.java","rule":"检查空指针异常风险:所有方法参数和返回值必须做 null 检查"},{"path":"**/*mapper*.xml","rule":"检查 SQL 注入风险、参数类型错误和缺少闭合标签"},{"path":"api/**/*.ts","rule":"所有 API 端点必须包含输入校验和错误处理"}]}

path 支持 ** 通配和 {java,kt} 大括号展开。同层规则按声明顺序匹配。

配合 ocr rules check 命令可以预览某个文件匹配哪条规则:

ocr rules check src/main/java/com/example/UserService.java

集成到工作流


与编码 Agent 集成


OCR 可以直接安装为 Claude Code 的插件:

/plugin marketplace add alibaba/open-code-review/plugin install open-code-review@open-code-review

然后就可以用 /open-code-review:review 命令触发审查,AI 会自动帮你过滤和修复发现问题。

也可以直接用 npx 安装 Skill:

npx skills add alibaba/open-code-review --skill open-code-review

CI/CD 集成


OCR 提供了开箱即用的 GitHub Actions 和 GitLab CI 集成示例:

GitHub Actions

name: AI Code Review

on:[pull_request]

jobs:

review:

runs-on: ubuntu-latest

steps:

      - uses: actions/checkout@v4

with:

fetch-depth:0

      - run: npm install -g @alibaba-group/open-code-review

      - run: ocr review --from origin/main --to origin/${{ github.head_ref }} --format json

env:

OCR_LLM_TOKEN: ${{ secrets.OCR_LLM_TOKEN }}

OCR_LLM_URL: ${{ secrets.OCR_LLM_URL }}

OCR_LLM_MODEL: claude-sonnet-4-6

OCR_USE_ANTHROPIC:true

浏览审查历史


OCR 内置了一个 WebUI 查看器:

ocr viewer

启动后在 localhost:5483 打开浏览器即可查看审查会话记录。每个审查会话的 LLM 请求和响应都保存为 JSONL 格式,方便调试和审计。

出于安全考虑,查看器只允许 loopback 地址访问。如果需要开放其他主机访问:

OCR_VIEWER_ALLOWED_HOSTS=review.internal,ocr.lan ocr viewer --addr :3000

几个实用技巧


  1. 审查前预览:
    ocr review --preview
    确认文件选择正确后再执行,避免浪费 Token。
  2. 自定义规则提效:
    在项目根目录创建 .opencodereview/rule.json,按团队规范编写规则,能让审查结果更贴合实际。
  3. 并发数与超时调整:
    大项目调低并发(--concurrency 4)避免 API 限流;小项目调高并发(--concurrency 12)加速。
  4. Telemetry 调试:
    ocr config set telemetry.enabled true 开启 OTLP 追踪,方便排查审查质量波动的根因。
  5. 与 Codex 配套使用:
    在 Codex CLI 中 OCR 审查结果可以作为二次处理的输入,形成「OCR 审查 → AI 修复」的闭环。


小结


Open Code Review 最大的价值不在于「能审查代码」——这个 AI 早就做到了。

它的价值在于用确定性工程约束解决了 AI 审查的核心痛点:覆盖不全、位置漂移、质量波动。

对于团队来说,在 CI 中加入 OCR 只需要几行 YAML 配置,带来的收益却是每次 PR 都能获得稳定的、可追溯的 AI 审查反馈。如果你正被 AI 代码审查的「开盲盒」体验困扰,OCR 值得一试。

GitHub 地址:https://github.com/alibaba/open-code-review

作者:小灰灰

参考:

https://www.tinyash.com/blog/open-code-review-practice-guide/

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信