Open Code Review(ocr)
阿里内部跑了两年的代码审查 CLI:确定性工程兜流程,模型只做判断
把「不该出错的步骤」从模型手里拿回来的代表作。精度约为通用 Agent 的 4.7 倍、token 只要 1/9,代价是刻意压低 recall——适合跑在 CI 里当低噪门禁,不适合当唯一的人审替代品。免费开源 + 可接国产模型,国内团队值得一试。
TL;DR
一句话定位: 阿里巴巴内部跑了两年、服务数万开发者、发现数百万缺陷的 AI 代码审查工具,2026 年以 Apache-2.0 开源,形态是一个叫 ocr 的 CLI。
它的核心主张不是「模型更强」,而是「流程不该交给模型」。 选哪些文件、怎么打包、规则怎么配——这些必须用工程逻辑钉死,只把动态判断留给 LLM Agent。官方 AACR-Bench 上下同模型精度 33.90% vs 通用 Agent 7.23%,token 约 1/9,recall 更低是刻意取舍。
适合谁:想在 CI 里加一道低噪、便宜的 AI 门禁的团队;已经在用 Claude Code / Codex / Cursor 又不想再配一套模型凭证的人(Delegation Mode)。
轻评测说明:本卡片基于官方仓库文档与第三方工具目录整理,未做长期一手实测。项目开源时间短、缺少独立复现,结论以官方基准为准。
核心能力
确定性工程 × Agent 的混合架构
| 层 | 负责 | 具体做法 |
|---|---|---|
| 确定性工程 | 不能出错的步骤 | 精确选文件(哪些必审、哪些过滤)、智能文件打包、模板引擎规则匹配、外部定位与反思模块 |
| Agent | 动态决策 | 场景化 prompt、从生产工具调用轨迹里蒸馏出的专用工具集、动态上下文检索 |
这个分层解决了通用 Agent 做代码审查的三个老毛病:
- 覆盖不全——改动集一大就挑文件看 → 用工程逻辑保证每个该审的文件都进队列;
- 位置漂移——报的问题与实际行号对不上 → 独立的评论定位模块单独修这个问题;
- 质量不稳——prompt 微调一句结果就变 → 规则匹配走模板引擎而不是自然语言描述。
智能文件打包:大改动集不塌的关键
相关文件会被打成一个 bundle(官方例子:message_en.properties 与 message_zh.properties 打在一起),每个 bundle 跑一个上下文隔离的 sub-agent。
两个直接收益:超大改动集能被切分,以及天然支持并发审查。这是它能在阿里内部规模上跑通的原因。
两种审查模式
| 模式 | 命令 | 适用 |
|---|---|---|
| diff 审查 | ocr review | 审查当前改动集,产出行级结构化评论 |
| 全文件扫描 | ocr scan | 审整个文件 / 目录,适合审计陌生代码库或没有有意义 diff 的场景 |
Delegation Mode
让 Claude Code / Codex / Cursor / OpenCode 这类宿主 Agent 用它们自己的模型跑 ocr 的编排逻辑——你不需要再配一套 LLM 凭证。
对已经订阅了某个编程 Agent 的团队,这是最低成本的接入方式。
内置规则集与 CI 集成
- 内置多语言规则集,覆盖 NPE、线程安全、XSS、SQL 注入等常见问题;
- 支持 GitHub Actions / GitLab CI,输出 JSON 供流水线或宿主 Agent 消费。
上手
# 前置:Git >= 2.41(ocr 依赖 Git 生成 diff、做代码检索与仓库操作)
git --version
# 安装(npm 为官方默认方式;另有安装脚本、GitHub Release 二进制、源码构建)
npm install -g @alibaba-group/open-code-review
# 配置模型 provider 与模型(交互式,配完会自动测连通性)
ocr config provider
ocr config model
# 审查当前工作区的改动
cd your-project
ocr review
# 审查分支区间
ocr review --from main --to feature-branch
# 全文件扫描(审计陌生代码库 / 指定目录)
ocr scan --path internal/agent
Delegation Mode:不想单独配模型时,让宿主编程 Agent 用自己的模型跑,可跳过 ocr config 这一步。
价格速览
| 项目 | 说明 |
|---|---|
| 许可 | Apache-2.0(开源免费,可自部署) |
| 工具费 | 无 |
| 模型费 | BYOK,接你自己的 OpenAI / Anthropic 兼容 endpoint |
| Delegation Mode | 无需额外 LLM 凭证,复用宿主 Agent 的模型 |
| 成本优势 | 官方基准:同模型下 token 约为通用 Agent 的 1/9 |
适用判断
真正值得肯定的一点是它承认了取舍。多数 AI 审查工具宣称「又全又准又便宜」,ocr 直接写明白:recall 比通用 Agent 低,这是为了换精度和成本 deliberate 选的。
对 CI 场景这个取舍是对的——没人愿意每个 PR 收 50 条误报;误报的代价是工程师开始忽略 AI 评论,那这套门禁就废了。
但对安全审计、合规审查这类「宁可错杀不能放过」的场景,低 recall 是硬伤,ocr 不适合当唯一关口。
另一个判断:这套「确定性工程 × Agent」的分层值得抄。 它不只适用于代码审查——凡是流程固定、判断灵活的场景(日志分析、配置校验、数据清洗)都能套。
避坑提醒
- 别当唯一审查关口。 recall 偏低是设计选择,漏报会更多——ocr 应该叠在人工 review 与安全扫描之上,不是替代它们。
- 先确认 Git >= 2.41。 老环境跑不起来,这是最常见的安装失败原因。
- 官方基准是厂商自己发的。 33.90% vs 7.23% 这个对比没有第三方复现——用它做选型时,先拿你们自己的 20 个历史 PR 跑一遍。
- star 数别信单一来源。 各聚合站给出的数字从 25.9k 到 34.7k 都有,请以 GitHub 仓库实时数据为准。
- Delegation Mode 换模型结果会变。 它复用宿主 Agent 的模型能力,模型强弱仍然影响审查质量——编排层提供的是稳定性,不是能力本身。
- v1.12.3 之前的版本有路径穿越问题。 2026-09-16 的 v1.12.3 修复了
code_search与code_comment工具的路径穿越绕过(改为路径归一化),并排除了 secret 路径与各环境.env文件——用旧版本的请尽快升级。
相关阅读
- 本期资讯:AI 编程周报 2026-09-19 · Real-SWE 私有代码库基准
- 同类工具:CodeRabbit · Greptile · Qodo · Bito · Sourcery
- 可作宿主的编程 Agent:Claude Code · Codex CLI · Cursor · OpenCode
- 概念:Agentic Coding · MCP · AGENTS.md · BYOK
来源
- alibaba/open-code-review(GitHub 官方仓库)
- Open Code Review: Alibaba's LLM Code-Review CLI(AI/TLDR)
- Alibaba Group Launches Open Source AI CLI Tool for Automated Code Review(The Next Gen Tech Insider)
- OpenCodeReview · Coding Agent(AgentList)
- Open Code Review: AI Code Review Tool(TopGit)
待核实:AACR-Bench 的「精度 33.90% vs Claude Code 7.23%(约 4.7 倍)」与「token 约 1/9」为官方口径,未见第三方独立复现;各聚合站给出的 star 数差异较大(25.9k / 28.8k / 33.2k / 34.7k),请以仓库实时数据为准;国产模型适配清单官方未完整公布。
本卡片由 AI 之家 编辑部根据公开资料整理,非厂商付费内容;定价与功能以官方仓库为准,欢迎在 反馈邮箱 反馈更新。
- · 想在 CI 里加一道低噪 AI 门禁的团队(GitHub Actions / GitLab CI + JSON 输出)
- · 审查大改动集时受够了通用 Agent 漏文件、位置漂移的人
- · 想压 token 成本——同模型下约为通用 Agent 的 1/9
- · 用 Claude Code / Codex / Cursor 且不想再配一套模型凭证(Delegation Mode)
- · 需要私有化 / 自建模型 endpoint 的国内团队
- · 要求高召回(宁可误报也不能漏)的安全审计场景
- · Git 版本低于 2.41 且无法升级的环境
- · 期待开箱即用 SaaS 体验、不想碰命令行的团队
不适合想用一次 AI 审查替代人工 review 的团队——它的设计目标是低噪、低成本,不是全覆盖。
- recall 偏低是刻意设计,不是 bug——漏报会更多,不能当唯一审查关口
- 要求 Git >= 2.41,老环境要先升级
- 开源时间短,缺少第三方独立复现;官方基准由厂商自己发布
- star 数各聚合站口径差异明显(25.9k / 28.8k / 33.2k / 34.7k 均有出现),社区热度需自行核对
- Delegation Mode 依赖宿主 Agent 的模型能力,换模型结果波动仍在
和直接用 Claude Code 做代码审查有什么区别?
架构不同:Claude Code 是纯语言驱动,改动集一大就容易漏文件、报的位置对不上行号、prompt 微调一句结果就变。ocr 把选文件、文件打包、规则匹配用确定性工程固定,只把动态判断交给 Agent——官方基准下同模型精度从 7.23% 提到 33.90%,token 降到约 1/9,代价是 recall 更低。
Delegation Mode 是什么,有什么用?
让 Claude Code、Codex、Cursor、OpenCode 这类宿主 Agent 用它们自己的模型来跑 ocr 的编排逻辑,你不需要再单独配一套 LLM 凭证。适合已经订阅了某个编程 Agent、只想复用它的额度的团队。
国内能用吗?要接什么模型?
可以。Apache-2.0 开源、可自部署,provider 支持 OpenAI 与 Anthropic 兼容接口并允许自定义 provider,可接自建或国产模型 endpoint;但官方未公布完整的国产模型适配清单,接入前需自行验证兼容性。
可接入 / 兼容以下大模型 API(在设置中配置 key 即可切换底座):
同任务替代方案
CodeRabbit
AI PR 评审事实标准——v3 + 40+ linter + Codegraph + IDE/CLI/PR 三入口,8K+ 企业、$15M ARR
4.4 分
Qodo
前 CodiumAI——AI 评审 + 自动测试生成双合一,Qodo Merge / Cover / Gen 三件套
4.0 分
Bito AI
AI Code Reviews + AI Architect 双产品——PR 自动审查 + 代码库知识图谱 + 给 Cursor / Claude Code 注入架构上下文
3.8 分
Ellipsis
$20/dev/月 flat 无限——AI 评审 + 从 GitHub 评论生成 PR + 67K+ 仓库使用、公共项目永久免费
3.8 分