夜雨聆风学习资料网

ARTICLE · 1016769

一款免费、开源的 AI 代码审查工具,阿里出品久经实战,Star 25K+ !

一款免费、开源的 AI 代码审查工具,阿里出品久经实战,Star 25K+ !

做过代码审查的人都知道,人工 review 是件"良心活"——认真看了不一定有人感谢,漏了却是你的锅。团队大了,PR 排队等审,审查质量参差不齐,有时候 reviewer 自己也不一定熟悉那块代码。阿里内部也遇到了同样的问题,他们的做法是:做一个 AI 代码审查工具,在内部跑了两年,服务了几万名开发者、识别了上百万个代码缺陷,然后把成熟的东西开源出来。

一句话介绍 OpenCodeReview:阿里出品的 AI 代码审查 CLI 工具,混合确定性工程 + LLM Agent 架构,精确到行级别的代码审查,兼容 OpenAI 和 Anthropic。

项目简介

OpenCodeReview(简称 OCR)起源于阿里巴巴集团内部的 AI 代码审查助手。过去两年里,它在阿里内部服务了数万名开发者,识别了数百万个代码缺陷。经过大规模实战验证后,阿里把它孵化成了开源项目,社区任何人都可以直接用。

它的核心思路是:读取 Git diff,把变更文件发给配置好的 LLM(通过带工具调用能力的 Agent),生成精确到行级别的结构化审查意见。Agent 可以读取完整文件内容、搜索代码库、检查其他变更文件获取上下文——不是只看 diff 就拍脑袋,而是真正理解代码逻辑后给出深度反馈。

项目用 Go 写的,Apache-2.0 协议,完全免费开源,目前 GitHub Star 25,578,Fork 1,857。支持 Windows / macOS / Linux 三平台,可以和 Claude Code、Codex、Cursor 等主流 AI 编码工具集成。

核心特性

确定性工程 × Agent 混合架构——这是 OCR 最大的设计亮点。一般用 AI 做 code review 有几个痛点:大变更集覆盖不全(AI 偷懒只看部分文件)、行号定位飘移(报的问题跟实际位置对不上)、质量不稳定(改个 prompt 就天差地别)。OCR 的解法是把"不该出错的部分"交给工程逻辑硬约束,把"需要灵活判断的部分"交给 Agent 动态决策。

具体来说:

  • 精确文件选择:工程逻辑决定哪些文件需要审查、哪些该过滤,不会漏审
  • 智能文件打包:相关文件打包成一组审查(比如 message_en.properties 和 message_zh.properties 一起看),每个包独立跑子 Agent,分而治之,大变更集也能稳得住
  • 细粒度规则匹配:根据每个文件的特征匹配审查规则,让模型注意力集中,从源头消除信息噪音
  • 外部定位 + 反思模块:独立的评论定位和内容反思模块,系统性提升行号准确度和内容准确度
  • 场景化 Prompt + 工具集:从大规模生产数据中提炼出来的,不是随便写两句 prompt 就上线

全文件扫描模式:除了审查 diff,ocr scan 还能扫描整个文件——对于审计不熟悉的代码库、或者没有有意义 diff 的目录特别有用。

Delegation Mode(委托模式):让你的 AI 编码 Agent(比如 Claude Code)自己执行审查,OCR 负责文件选择和规则解析,不需要你配置 LLM API Key。这个模式对已经在用 AI 编码工具的团队来说非常友好,零额外成本。

CI/CD 集成:支持 GitHub Actions、GitLab CI、GitFlic CI 和 Gerrit,可以直接接入现有流水线。

Session Viewer:可以在浏览器里浏览和回放审查会话,把问题标记为"已修复"或"忽略",边看边处理。

怎么用

安装就一行命令:

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

安装完就能用 ocr 命令了。前提是你本地有 Git >= 2.41。

第一步:配置 LLM

ocr config provider          # 选一个内置 provider 或加自定义的ocr config model             # 给选中的 provider 挑个模型

交互式 UI 会引导你选 provider、填 API Key、选模型,然后自动测连通性。支持 OpenAI、Anthropic 以及自定义兼容 endpoint。

第二步:审查代码

cd your-project# 审查所有工作区变更(staged + unstaged + untracked)ocr review# 审查分支差异(feature 分支相对 main 的变更)ocr review --from main --to feature-branch# 审查单个 commitocr review --commit abc123# 全文件扫描(不依赖 git diff,适合审计陌生代码库)ocr scanocr scan --path internal/agent# 输出 JSON 结果(方便 AI Agent 消费)ocr review --format json --output result.json# 委托模式:让你的 AI 编码 Agent 来审查ocr delegate previewocr delegate rule src/main.go src/handler.go

中断了还能恢复:

ocr session listocr review --from main --to feature-branch --resume <session-id>

整个上手流程很简单:装好 → 配模型 → ocr review,三条命令搞定。

效果长啥样

OCR 团队做了一个真实的代码审查基准测试:从 50 个热门开源仓库、200 个真实 PR、10 种编程语言中构建数据集,由 80+ 位资深工程师交叉验证,标注了 1,505 条 ground-truth 问题。

结果很直观:跟通用 Agent(比如直接用 Claude Code 做代码审查)相比,OCR 在相同底层模型下,Precision 和 F1 显著更高,而 Token 消耗只有前者的 1/9 左右,审查速度也更快。Recall 比通用 Agent 低一些——这是刻意的设计:优先精准度,减少误报噪音,而不是追求数量堆砌。

这个权衡思路其实很对:在真实工程场景里,一次 review 塞给你 50 条"疑似问题",其中 40 条是误报,你很快就会忽略所有 AI 建议。但如果只报 5 条,条条精准,你就会认真看。

为什么值得用

对个人开发者:提交 PR 前先自己跑一遍 ocr review,相当于请了一个资深 reviewer 帮你过一遍代码,上线前把低级错误(空指针、线程安全、XSS、SQL 注入)提前挡掉。

对开发团队:接入 CI/CD 后,每个 PR 自动触发审查,reviewer 可以把精力放在架构和业务逻辑层面,机械性的规则检查交给 OCR。特别是团队里有新人或不熟悉某模块的成员时,OCR 的行级精确反馈能帮他们快速理解"这里为什么有问题"。

对企业:阿里内部两年实战、数万开发者验证过的工具,可靠性有保障。Apache-2.0 协议商用无碍,兼容 OpenAI / Anthropic / 自建模型 endpoint,数据不经过第三方。Delegation Mode 还能让团队已有的 AI 编码工具直接做审查,零额外 API 成本。

说到底,代码审查这件事,人工不可替代,但 AI 可以先把"低垂的果实"摘了。OCR 做的就是这件事——而且做得准、做得快、做得省。

clone 一份试试,给自己的 PR 请个 AI reviewer:

https://github.com/alibaba/open-code-review

相关学习资料