open-code-review 是什么?

Alibaba OpenCodeReview 是 Go 编写的 AI 代码审查 CLI。它先用确定性流程选择文件、分组和匹配规则,再让可调用搜索与读文件工具的 LLM agent 生成行级评论;既能审 Git diff,也能用 ocr scan 检查整文件。

⭐ 10,238 Stars 🍴 678 Forks Go Apache-2.0 作者: alibaba
来源:github.com/alibaba/open-code-review 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

官方项目没有自有付费、充值、订阅或转售入口,默认模式使用用户配置的 OpenAI/Anthropic 兼容 endpoint,Delegation Mode 还可复用宿主 agent 的模型,因此保留。

来源:github.com/alibaba/open-code-review

核心功能

确定性审查管线

文件选择、相关文件分组、细粒度规则匹配、评论定位与反思模块提供硬约束,减少大 diff 漏审和行号漂移。

来源:github.com/alibaba/open-code-review
工具型 LLM agent

agent 可读取完整文件、搜索代码库、检查其他变更文件,再输出结构化行级评论。

来源:github.com/alibaba/open-code-review
多种执行模式

ocr review 支持工作区、分支范围、单次提交和会话恢复;ocr scan 用于无有效 diff 的目录或整文件审计。

来源:github.com/alibaba/open-code-review

技术架构

CLI 从 Git 生成变更集合,确定性模块过滤并把相关文件组成 review unit,再按文件特征注入规则。每个 bundle 由隔离上下文的子代理审查,结果经过定位与 reflection 模块校正后输出评论;Session Viewer 可浏览与标记结果,CI 集成可发布到代码托管平台。

来源:github.com/alibaba/open-code-review

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) Git >=2.41 Node/npm(npm 安装方式)Node/npm(npm… 默认模式的模型 endpoint 与 API key默认模式的模型 e… 可选 coding-agent plugin 或 CI token可选 coding-ag… 确定性审查管线 工具型 LLM agent 多种执行模式 open-code-review 项目本体 核心功能 关键依赖

技术栈

语言Go;npm 包只是跨平台二进制启动器框架OpenAI/Anthropic 兼容 LLM agent + Git 确定性管线
Git >=2.41Node/npm(npm 安装方式)默认模式的模型 endpoint 与 API key可选 coding-agent plugin 或 CI token
npm postinstall 会按 OS/架构从 GitHub release 下载二进制;代码上下文会发送给配置的模型 endpoint
来源:github.com/alibaba/open-code-review/blob/main/package.json

快速上手

确认 Git 2.41+ 后,用 npm 安装固定版本的 @alibaba-group/open-code-review。运行 ocr config provider 和 ocr config model,选择 endpoint、录入 key 并完成连通测试。先在无敏感信息的小仓库中暂存一处可核对改动,再运行 ocr review;检查它读取了哪些文件和输出的行号。
来源:github.com/alibaba/open-code-review

使用场景

适合在本地、CI 或 coding agent 中审查 Git 变更,也适合用 scan 盘点陌生目录。涉及专有代码时,要先确认所选模型 endpoint 的数据保留条款;生成评论只能作为人工审查线索,不能替代测试和安全扫描。

来源:github.com/alibaba/open-code-review

优势与局限

优势

  • Git 文件范围和规则匹配由代码约束
  • 可按相关文件 bundle 并行审查
  • 支持工作区、分支、commit、scan 和恢复
  • Delegation Mode 可复用宿主 agent,不要求 OCR 自己的 API key

局限

  • 默认模式必须把代码发给外部或自建 LLM endpoint
  • npm 包版本 0.0.0 是下载器占位,真实产品版本看 GitHub release
  • 模型评论仍可能误报、漏报或引用错误上下文
  • Git 下限 2.41 会排除较旧环境
  • CI 发布评论还会增加代码托管 token 权限
来源:github.com/alibaba/open-code-review

最新版本

最新公开 release 是 v1.12.9,发布于 2026-09-22。该版本修复跨文件重命名时 findings 丢失、配置更新抹掉未知 JSON 字段、commit 后台任务混入 git stderr,并固定 CI action commit。

来源:github.com/alibaba/open-code-review/releases/tag/v1.12.9

实测与证据

status: docs-only  |  checked_at: 2026-09-23  |  environment: 核对官方 README、package.json、安装文档入口和 GitHub Releases  |  limitations: 未安装 npm 包或 release 二进制,未配置模型 key,未读取任何仓库 diff,未运行 review、scan、viewer、plugin 或 CI  |  observed_output: 最新 release 为 v1.12.9(2026-09-22),修复文件重命名后的 findings、配置未知字段和 commit 后台 git stderr;README 要求 Git 2.41+

来源:github.com/alibaba/open-code-review/releases/tag/v1.12.9

同类项目对比

reviewdog 把现有 linter 输出转换成 GitHub/GitLab 等平台的 review comment,结论主要来自确定性分析器;OpenCodeReview 自己组织代码上下文并调用 LLM agent。已有成熟 lint 规则时 reviewdog 更可预测;需要跨文件语义审查时才考虑 OpenCodeReview。

来源:github.com/reviewdog/reviewdog

总结评价

保留。项目自身没有商业漏斗,流量虽弱但版本和使用边界清晰;教程必须把代码外发范围、二进制下载器、Git 版本与模型误报写在安装命令之前。

来源:github.com/alibaba/open-code-review

常见问题

OpenCodeReview 会把整个仓库发给模型吗?

它先按 Git diff、过滤规则和文件 bundle 选择上下文,agent 还能按需读取完整文件和搜索代码库。实际外发范围取决于任务与工具调用;专有仓库应先用受控 endpoint,并检查会话记录。

为什么 npm package.json 的版本是 0.0.0?

npm 包是平台二进制启动器,postinstall 按版本和系统下载 GitHub release 资产;0.0.0 属于打包占位。判断功能版本应看 ocr --version 与 GitHub release,例如本轮核对的 v1.12.9。

OpenCodeReview 不配置 API key 能用吗?

默认 OCR-managed 模式要配置模型 endpoint 和 key。官方另有 Delegation Mode,让 Claude Code、Codex 等宿主 agent 执行审查,这种模式不需要 OCR 再保存一份模型 key。

ocr review 和 ocr scan 有什么区别?

ocr review 面向工作区、分支范围或单次提交的 Git 变更;ocr scan 面向整个文件或目录,适合陌生代码库和没有有效 diff 的场景,范围通常更大、成本也更高。

OpenCodeReview 能替代人工 code review 吗?

不能。确定性管线能改善覆盖和行号定位,但缺陷判断仍由模型参与。应把结果作为线索,结合测试、静态分析、安全扫描和负责人复核。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件