阿里巴巴不仅仅在内部使用 AI 代码审查——他们自己构建了工具,为数万名开发者提供服务,在两年生产运营中发现了数百万个代码缺陷,然后将其开源。
Open Code Review(open-code-review)是阿里巴巴的 AI 代码审查 CLI。它读取 Git diff,将更改的文件发送给可配置的 LLM 代理,并生成具有行级精度的结构化审查评论。与朴素的提示词包装器不同,它结合了确定性工程约束和动态 LLM 决策,以避免文件遗漏和行号漂移等经典陷阱。
Open Code Review 是什么?#
一款执行 AI 代码审查的 CLI 工具,提供:
- 精确的行级审查 — 评论精确映射到文件路径和行范围
- 工作区与分支审查(
ocr review)— 暂存、未暂存和未跟踪的更改;ref 之间的 diff;或单个提交 - 全文件扫描(
ocr scan)— 无需 Git diff 即可审计整个仓库,非常适合陌生代码库和安全审计 - 委派模式(
ocr delegate)— 让外部 AI 编码代理使用自己的 LLM 审查,无需额外 API 密钥 - 会话管理 — 列出、恢复和重放中断的审查会话
- CI/CD 集成 — GitHub Actions 复合操作、GitLab CI、Gerrit 工作流
安装#
npm install -g @alibaba-group/open-code-reviewbash需要 Git ≥ 2.41 和 Node.js ≥ 14。也可通过 GitHub Releases 和容器运行器获取二进制文件。
配置#
ocr config provider # 选择内置提供商或自定义端点
ocr config model # 选择模型bash或使用环境变量:OCR_LLM_URL、OCR_LLM_TOKEN、OCR_LLM_MODEL、OCR_USE_ANTHROPIC。
工作原理#
Open Code Review 采用混合架构——确定性工程流水线加上动态 LLM 代理。
确定性工程(硬约束)#
- 精确的文件选择与过滤 — 以编程方式确定哪些文件需要审查,过滤无关资源
- 智能文件打包 — 将相关文件分组(头文件/实现、匹配的属性文件),为子代理提供连贯的上下文
- 模板引擎规则匹配 — 基于文件路径应用严格的规则模式,而不仅仅依赖自然语言
- 外部定位与反思 — 专用验证模块在输出前双重检查评论行位置和内容准确性
动态 LLM 代理#
- 针对场景调整的提示模板
- 从生产调用追踪数据中提炼的专用工具集
- 动态上下文检索、代码搜索和缺陷推理
这种组合很重要:通用编码代理在大型变更集上往往存在文件覆盖不完整、位置漂移和质量不稳定的问题。Open Code Review 在达到或超过其精度的同时,仅消耗约 1/9 的 Token,并且运行更快。
CI/CD 集成#
GitHub Actions#
复合操作(action.yml)自动:
- 在拉取请求或评论事件时触发
- 检出仓库并计算合并基准
- 运行
ocr review - 上传诊断产物(
ocr-result.json) - 发布行内评论和置顶 PR 摘要
智能发布#
- 增量评论 — 非破坏性,更新现有线程而不是刷屏
- 置顶 PR 摘要 — 原地更新
- 批处理 — 将大型审查拆分为顺序批次(例如每批 50 条评论),以尊重 GitHub API 速率限制
- 严重性路由 — 将低严重性或样式类发现从行内评论转移到 PR 摘要
主要命令#
| 命令 | 用途 |
|---|---|
ocr review | 审查工作区更改、ref 或提交 |
ocr scan | 审计整个仓库或目录(无需 diff) |
ocr delegate | 将审查委托给外部 AI 编码代理 |
ocr session list | 列出、恢复或重放审查会话 |
ocr config | 配置 LLM 提供商和模型 |
使用场景#
CI 中的自动化 PR 审查 — 在 GitHub/GitLab 合并请求中自动捕获错误、安全漏洞和逻辑缺陷。
遗留代码与安全审计 — ocr scan 无需 diff 即可审查整个代码库的合规性和架构问题。
本地提交前检查 — 在推送前自我审查暂存或未暂存的更改。
企业代码标准 — 在大型多语言代码库中强制执行团队特定的审查规则。
对比#
| 方面 | Open Code Review | 通用编码代理 | 静态分析(SonarQube、ESLint) |
|---|---|---|---|
| 行精度 | ✅ 精确 | ⚠️ 漂移风险 | ✅ 精确 |
| 语义理解 | ✅ LLM | ✅ LLM | ❌ 模式匹配 |
| Token 效率 | ✅ 约 1/9 | ❌ 冗长 | N/A |
| 逻辑缺陷误报 | ✅ 低 | ⚠️ 不稳定 | ❌ 高 |
| 全仓库审计 | ✅ ocr scan | ⚠️ 有限 | ✅ |
| 隐私 | ✅ 任意 LLM 端点 | 视情况 | ✅ 本地部署 |
| 许可证 | ✅ Apache 2.0 | 视情况 | 视情况 |
为什么重要#
Open Code Review 是经过生产验证的 AI 工具开源的罕见案例:在发布之前,它已经帮助数万名开发者在数百万个缺陷上积累了实战经验。其混合架构——确定性流水线保证精度,LLM 代理保证语义理解——是构建可靠 AI 开发工具的设计蓝图。
而且它完全开源、隐私优先:可以接入任何 LLM 端点(包括本地托管的模型),让你的代码库完全私密。