Open Code Review 在 GitHub Trending 2026 年 8 月第一周冲上前 15,一周内新增 4,700+ stars,目前已累计 17,000+ stars,是本周最炙手可热的开源项目之一。
一、Open Code Review 是什么?
Open Code Review(简称 OCR)是阿里巴巴开源的 AI 驱动代码审查 CLI 工具。它的前身是阿里集团内部官方 AI 代码审查助手,在过去两年服务了数万名开发者,识别了数百万个代码缺陷。经过大规模生产环境验证后,阿里将其正式开源。
与 Claude Code、Cursor 等通用 AI 编码 Agent 不同,OCR 专注做一件事:代码审查,并且做得更好、更快、更省钱。
官方基准测试表明,使用相同的底层模型,OCR 的审查质量(F1 分数和 Precision)显著高于通用 Agent,而 token 消耗仅为后者的 1/9,审查速度也更快。
🔗 GitHub: alibaba/open-code-review 🌐 官网: open-codereview.ai 📜 License: Apache-2.0
二、为什么通用 AI Agent 做不好代码审查?
如果你试过用 Claude Code 或类似工具来做代码审查,大概率遇到过这些问题:
- 覆盖不全 — 改动文件较多时,Agent 容易"偷懒",只审查部分文件,遗漏重要变更
- 位置漂移 — 报告的问题行号与实际代码位置不符,开发者需要手动定位
- 质量不稳定 — 纯自然语言驱动的 Skills 难以调试,审查质量随 prompt 微调剧烈波动
根本原因:纯语言驱动的架构缺少对审查流程的硬性约束。
三、OCR 的混合架构:确定性工程 + LLM Agent
OCR 的核心设计理念是将"绝对不能出错"的部分交给确定性工程,将"需要动态决策"的部分交给 Agent:
确定性工程层
- 精准文件选择 — 用工程逻辑确定哪些文件需要审查、哪些应过滤,确保不错过重要变更
- 智能文件分组 — 将相关文件打包为审查单元(如
message_en.properties和message_zh.properties一组),每个分组由独立子 Agent 审查,天然支持并发 - 细粒度规则匹配 — 根据文件特征匹配审查规则,让模型注意力高度聚焦,消除信息噪声
- 外部定位与反思模块 — 独立的位置定位和内容反思模块,系统性提高 AI 反馈的行号准确度和内容准确度
Agent 层
- 场景化 Prompt — 针对代码审查深度优化的 Prompt 模板,效果更好且更省 token
- 场景化工具集 — 从大规模生产数据中提炼的专用工具集,比通用 Agent 工具更稳定可靠
四、安装
OCR 支持多种安装方式,最简单的是通过 npm 全局安装:
npm install -g @alibaba-group/open-code-review
安装完成后,ocr 命令即可在全局使用:
ocr --version
其他安装方式包括:
- 安装脚本 — 适合无 Node.js 环境
- GitHub Release 二进制 — 直接下载可执行文件
- 从源码编译 — 适合需要修改的贡献者
详情参考 官方安装文档。
五、快速上手
5.1 配置 LLM
首次使用前,必须配置一个 LLM(除非使用委托模式):
# 选择内置的模型提供商
ocr config provider
# 选择模型
ocr config model
交互式 UI 会引导你完成提供商选择、API Key 输入和模型配置,并自动测试连通性。
内置支持的主流提供商包括 OpenAI、Anthropic、Google Gemini、通义千问等。你也可以添加自定义提供商:
ocr config provider add-custom
5.2 第一次审查
进入你的项目目录,执行:
cd your-project
# 审查所有暂存、未暂存和未跟踪的变更
ocr review
OCR 会自动读取 Git diff,将变更文件发送给 LLM,生成带行号精度的审查意见。
5.3 比较两个分支
ocr review --from main --to feature-branch
5.4 审查单个提交
ocr review --commit abc123
5.5 全文件扫描
不依赖 Git diff,直接扫描整个仓库或指定目录:
# 扫描整个仓库
ocr scan
# 扫描指定目录
ocr scan --path src/agent
这在审计不熟悉的代码库时非常有用。
六、进阶功能
6.1 委托模式(Delegation Mode)
OCR 支持"委托模式"——让你的 AI 编码 Agent 自己执行审查,OCR 负责文件选择和规则解析,无需单独配置 LLM:
# 预览委托审查
ocr delegate preview
# 对指定文件执行委托审查
ocr delegate rule src/main.go src/handler.go
这对已经在使用 Claude Code、Cursor 等工具的团队特别实用。
6.2 内置安全规则
OCR 内置了经过微调的安全规则集,能自动检测:
| 规则类型 | 说明 |
|---|---|
| NPE(空指针异常) | Java/Kotlin 中潜在的空引用问题 |
| 线程安全 | 并发场景下的竞态条件 |
| XSS 攻击 | 前端跨站脚本漏洞 |
| SQL 注入 | 数据库查询中的注入风险 |
这些规则不是靠 prompt 提示,而是通过模板引擎驱动的规则匹配,更稳定、更可预测。
6.3 会话管理
如果一次大规模审查中途被打断,可以恢复:
# 列出所有会话
ocr session list
# 恢复中断的审查
ocr review --from main --to feature-branch --resume <session-id>
6.4 集成 CI/CD
OCR 非常适合接入 CI 流水线。在 GitHub Actions 中:
name: Code Review
on:
pull_request:
branches: [main]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install OCR
run: npm install -g @alibaba-group/open-code-review
- name: Run Review
run: ocr review --from main --to HEAD
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
6.5 多模型对比
你可以切换不同模型来对比审查效果:
# 切换到 GPT-4
ocr config model gpt-4
# 审查
ocr review
# 切换到 Claude
ocr config model claude-sonnet-4-20250514
# 再次审查,对比结果
ocr review
七、性能与成本
以下是官方基准测试的核心数据对比:
| 指标 | OCR | Claude Code (同模型) | 优势 |
|---|---|---|---|
| F1 分数 | 更高 | 较低 | 综合质量更好 |
| Precision | 更高 | 较低 | 误报更少 |
| Recall | 较低 | 更高 | 有意取舍,优先减少噪音 |
| 平均耗时 | 更短 | 更长 | CI 延迟更低 |
| Token 消耗 | ~1/9 | 基准 | 成本节省 89% |
OCR 的 Recall 略低于通用 Agent,但这是有意的设计取舍:与其报告一堆误报让开发者疲于奔命,不如确保报告的每个问题都是真实缺陷。
八、与其他代码审查工具对比
| 工具 | 类型 | AI 能力 | 成本 | 适用场景 |
|---|---|---|---|---|
| Open Code Review | CLI | ✅ 专用 | 低(1/9 token) | 自动化 CI 审查、本地快速审查 |
| GitHub Copilot Code Review | IDE 插件 | ✅ 通用 | 中 | IDE 内即时反馈 |
| SonarQube | 静态分析 | ❌ 规则引擎 | 低 | 规范检查、覆盖率 |
| Claude Code / Cursor | AI Agent | ✅ 通用 | 高 | 全功能开发 |
总结:如果你的核心需求是代码审查,OCR 是最优解。 如果你需要的是全面的 AI 编码助手,Claude Code 等工具更合适。
九、总结
Open Code Review 代表了一个重要趋势:专用 AI 工具正在超越通用 Agent。它不是又一个用 prompt 拼凑的"skill",而是经过两年阿里内部大规模验证、真正解决生产痛点的工程化产品。
如果你每天要 review 多个 PR,OCR 能帮你: - ✅ 省时 — 自动化初步审查,聚焦真正重要的问题 - ✅ 省钱 — 比通用 Agent 节省约 89% 的 token 消耗 - ✅ 提质 — 确定性工程保证覆盖率和位置精度 - ✅ CI 友好 — CLI 设计天然适合流水线集成
💡 下一步:安装 OCR 后,在你的日常 PR 中试用
ocr review,体验一下阿里内部验证两年的 AI 代码审查实力。
本文介绍的项目 alibaba/open-code-review 采用 Apache-2.0 许可证开源,欢迎贡献和使用。