开源项目

open-code-review

open-code-review

阿里开源的AI代码审查CLI工具,采用确定性工程+LLM Agent混合架构,能对Git diff精准定位行级问题,内置NPE、线程安全等规则集。相比通用agent,在相同模型下实现更高精确度和F1,token消耗仅约1/9,且支持分支、提交、全文件扫描等多种审查模式。已在阿里内部经数万开发者验证,开源免费且兼容OpenAI/Anthropic。

README

OpenCodeReview 标志

OpenCodeReview

alibaba%2Fopen-code-review | Trendshift

npm 构建状态 许可证 向 DeepWiki 提问 OpenSSF 最佳实践

Windows macOS Linux Claude Code Codex Cursor

English | 简体中文 | 日本語 | 한국어 | Русский


什么是 Open Code Review?

Open Code Review 是一个 AI 驱动的代码审查 CLI 工具。它最初作为阿里巴巴集团内部的官方 AI 代码审查助手——在过去两年中,它为数万名开发者提供了服务,并识别了数百万个代码缺陷。经过大规模充分验证后,我们将其孵化成一个开源项目,供社区使用。只需配置一个模型端点即可开始使用。

它会读取 Git diff(差异快照),通过一个具备工具使用能力的 agent(代理)将变更的文件发送给可配置的 LLM,并生成带有行级精度的结构化审查评论。agent 可以读取完整文件内容、搜索代码仓库、检查其他变更文件以获取上下文,从而生成深度审查——而不仅仅是表面的 diff 反馈。除了 diff 审查外,ocr scan 还可以审查整个文件,用于审计不熟悉的代码库或没有有意义 diff 的目录。

访问官方网站获取更多详情。

亮点

基准测试

与通用 agent(Claude Code)相比,在相同底层模型下,Open Code Review 实现了显著更高的 精确率 (Precision)F1,同时仅消耗约 1/9 的 token,并且审查速度更快。请注意,其召回率 (Recall) 低于通用 agent——这是有意在设计上偏向于精确率而非噪声的权衡。

一个基于 50 个流行开源仓库、200 个真实 Pull Request 和 10 种编程语言构建的真实代码审查基准——由 80 多名资深工程师交叉验证(1,505 个标注的真实问题)。

指标 衡量内容 为何重要
F1 精确率和召回率的调和平均值 衡量整体审查质量的最佳单一数值
Precision 报告问题中实际缺陷的比例 越高意味着需要排查的误报越少
Recall 被发现的实际缺陷比例 越高意味着漏掉的问题越少
Avg Time 每次审查的挂钟时间 影响 CI 流水线延迟
Avg Token 每次审查消耗的总 token 数 直接影响 API 成本

基准测试

为什么选择 Open Code Review?

通用 Agent 的问题

如果你使用过带 Skills 的通用 agent(如 Claude Code)进行代码审查,很可能遇到过以下痛点:

  • 覆盖率不完整——在较大的变更集上,agent 倾向于“偷工减料”,只选择性审查部分文件,遗漏其他文件。
  • 位置漂移——报告的问题经常与实际代码位置不匹配,行号或文件引用偏离目标。
  • 质量不稳定——基于自然语言驱动的 Skills 难以调试,审查质量随提示词的微小变化而显著波动。

根本原因:纯语言驱动的架构缺乏对审查过程的硬约束。

核心设计:确定性工程 × 智能体混合架构

Open Code Review 的核心思想是将确定性工程与 agent 相结合,各司其职。

确定性工程——硬约束

对于绝对不能出错的审查步骤,由工程逻辑(而非语言模型)保证正确性:

  • 精确的文件选择——准确判断哪些文件需要审查、哪些应被过滤,确保不遗漏任何重要变更。
  • 智能文件捆绑——将相关文件分组到单个审查单元中(例如,message_en.propertiesmessage_zh.properties 捆绑在一起)。每个捆绑包作为一个子 agent 运行,拥有独立的上下文——这是一种分治策略,在非常大的变更集上也能保持稳定,并自然支持并发审查。
  • 细粒度规则匹配——将审查规则与每个文件的特性匹配,使模型的注意力保持高度集中,从源头消除信息噪声。与纯语言驱动的规则引导相比,基于模板引擎的规则匹配更稳定、更可预测。
  • 外部定位与反思模块——独立的评论定位模块和评论反思模块系统地提高了 AI 反馈的位置准确性和内容准确性。

Agent——动态决策

agent 的优势集中在最能发挥作用的地方——动态决策和动态上下文检索:

  • 场景调优的提示词——针对代码审查深度优化的提示词模板,在提高效果的同时减少 token 消耗。
  • 场景调优的工具集——基于对大规模生产数据中工具调用轨迹(包括调用频率分布、每个工具的重复率、新工具对整个调用链的影响)的深入分析提炼而成,形成了比通用 agent 工具集更稳定、更可预测的专用于代码审查的工具集。

如何使用

前置条件

  • Git >= 2.41——Open Code Review 依赖 Git 进行 diff 生成、代码搜索和仓库操作。

CLI

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

安装后,ocr 命令在全局可用。

其他安装方式(安装脚本、GitHub Release 二进制文件、从源码构建)请参见安装文档

快速开始

1. 配置 LLM

在审查代码之前必须配置 LLM,除非你使用委托模式

ocr config provider          # 选择内置提供商或添加自定义提供商
ocr config model             # 为当前活跃的提供商选择模型

提供商设置

交互式 UI 会引导你完成提供商选择、API 密钥输入和模型配置,然后自动测试连接性。

对于 CLI 设置、环境变量、自定义提供商和其他高级配置,请参见配置文档

2. 审查

cd your-project

# 工作区模式——审查所有暂存、未暂存和未跟踪的变更
ocr review

# 分支范围——比较两个 ref
ocr review --from main --to feature-branch

# 单个提交
ocr review --commit abc123

# 恢复中断的范围或提交审查
ocr session list
ocr review --from main --to feature-branch --resume <session-id>

# 全文件扫描——审查整个文件而非 diff(无需 git 历史)
ocr scan                          # 扫描整个仓库
ocr scan --path internal/agent    # 扫描目录或特定文件

# 委托模式——让你的 AI 编码 agent 自行执行审查
# OCR 负责文件选择和规则解析;无需配置 LLM
ocr delegate preview
ocr delegate rule src/main.go src/handler.go

文档

完整文档位于 open-codereview.ai/docs

  • 快速开始 — 安装并运行你的第一次审查
  • 安装 — 所有平台和包管理器
  • CLI 参考 — 所有命令和参数
  • 审查规则 — 使用路径过滤和定位自定义审查规则
  • 配置 — 配置键和环境变量
  • MCP 服务器 — 用外部工具扩展审查 agent
  • 编码 Agent 集成 — 将 OCR 集成到 Claude Code、Codex、Cursor 等中
    • Skill — 安装为可复用的 agent skill
    • 插件 — 安装为 Claude Code / Codex / Cursor 插件
    • 委托模式 — 让 agent 使用自己的 LLM 进行审查
  • CI/CD 集成 — GitHub Actions、GitLab CI、GitFlic CI 和 Gerrit 集成
  • 会话查看器 — 在浏览器中浏览和回放审查会话
  • 遥测 — OpenTelemetry 集成以实现可观测性
  • 常见问题 — 常见问题与故障排除

贡献

本项目感谢所有贡献者。请参见 CONTRIBUTING.md 了解开发环境搭建、编码指南以及如何提交 Pull Request。

许可证

Apache-2.0 — 版权所有 2026 Alibaba

开源项目alibaba2026-07-23原文

相关内容