阿里开源代码 Review 利器 OpenCodeReview:Codex / Claude Code / OpenCode 三大 AI 编程 Agent 集成上手指南

还在让 AI 编程助手"看一眼 diff 就吐一串评论",结果漏掉一半文件、行号对不上、改一半就跑偏?阿里巴巴开源的 OpenCodeReview(简称 OCR)用一个"确定性工程 × Agent 混合架构"把这个老问题彻底重做了一遍。本文带你从 0 到 1 跑通它,并讲清楚如何集成进 Codex、Claude Code、OpenCode 三大主流 AI 编程 Agent。


一、它是什么?为什么值得一看

1.1 项目背景

OpenCodeReview 是阿里巴巴开源、免费的 AI 代码评审工具,采用 Apache-2.0 协议,用 Go 编写。

  • 开源地址:https://github.com/alibaba/open-code-review
  • 官网:https://open-codereview.ai
  • 许可证:Apache-2.0(Copyright 2026 Alibaba)

官方的定位一句话概括:

Open-source & free — Battle-tested at Alibaba’s scale.
(开源免费 —— 在阿里规模下经受过实战检验)

它目前已在阿里内部服务上万名开发者,识别出上百万个代码缺陷。

1.2 它解决了什么痛点?

让 LLM 直接做代码 review,几乎都会踩到这几个坑:

痛点 表现
漏看文件 "偷懒式"评审,只看一部分文件,漏掉关键改动
位置漂移 报出来的问题,行号 / 文件名对不上实际代码
质量不稳定 纯靠自然语言 prompt 驱动,稍改措辞结果就大幅波动

OpenCodeReview 给出的根因诊断很直接:

纯粹由语言驱动的架构,缺乏对评审流程的硬约束。

所以它的解法不是"换个更强的模型 + 更花哨的 prompt",而是重构流程


二、核心设计:确定性工程 × Agent 混合架构

这是 OpenCodeReview 最值得讲的设计理念,也是它和"纯 prompt 评审"的根本区别。

2.1 两层各司其职

它把整个评审流程拆成两层,各司其职:

分层 职责 谁来做
确定性工程层(Deterministic) git diff 收集、文件选择、规则解析、结构化输出 用代码写死,保证稳定
Agent 层(LLM) 理解语义、判断问题、生成行级精准评审意见 发挥 LLM 理解力

架构示意:确定性工程层(git diff 收集 / 文件选择 / 规则解析 / 结构化输出)Agent 层(语义理解 / 问题判断 / 行级评审意见)

简单说:凡是能确定下来的步骤,绝不让 LLM “自由发挥”

  • 哪些文件要评审 —— 由确定性工程层根据 git diff 精确选定,杜绝"漏看文件"。
  • 评审意见定位到哪一行 —— 由结构化约束锁定,杜绝"位置漂移"。
  • LLM 只做它擅长的事 —— 理解语义、判断是否有问题、用自然语言表达。

2.2 基准测试:精度碾压,成本极低

官方的基准测试(同模型对比)给出了一个非常"反直觉"的结果:

指标 对比 Claude Code(同模型)
精准度(Precision) 显著更高
F1 分数 显著更高
Token 消耗 仅约 1/9
召回率(Recall) 略低(刻意取舍)

为什么召回率反而低?这是刻意的设计取舍:与其报一大堆"疑似问题、吹毛求疵、缺上下文"的噪音评论让开发者烦,不如宁缺毋滥,只报真正值得看的。配合混合架构对"位置漂移"的消除,最终呈现给开发者的,是少而准、定位精确的高质量评审。


三、快速上手:CLI 三步走

在讲 Agent 集成之前,先理解 OpenCodeReview 本身是一个 CLI 工具(命令 ocr),这是所有集成方式的底层基础。

3.1 第一步:安装

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

安装后即可全局使用 ocr 命令。

也支持安装脚本、GitHub Release 二进制、源码编译等其他方式,详见官网 Installation 文档。

3.2 第二步:配置 LLM

ocr config

按交互提示配置 LLM 的 provider(如 OpenAI、Anthropic 等)和模型、API Key。

3.3 第三步:开始评审

最常用的就是 ocr review

# 评审当前工作区改动(staged + unstaged + untracked)
ocr review

# 评审某个 commit
ocr review --commit abc1234

# 评审分支区间(如 feature 分支相对 main 的所有改动)
ocr review --from main --to feature

除了评审,ocr 还有这些常用命令,覆盖完整工作流:

命令 用途
ocr review [flags] / ocr r 执行评审(r 是别名)
ocr config 交互式配置 LLM(provider / model / API Key)
ocr llm test / ocr llm providers 测试 LLM 连通性 / 查看支持的厂商
ocr session list / ocr session show <id> 查看 / 回溯历史评审会话
ocr rules check <file> 校验自定义评审规则文件
ocr viewer 启动本地 Web 会话查看器(默认 localhost:5483
ocr version 查看版本

ocr review 的常用参数也很多,按需组合:

参数 说明
--commit <sha> / -c 评审指定提交
--from <ref> --to <ref> 评审分支区间
--preview / -p 只预览评审范围,不真正调用 LLM
--resume 恢复上次中断的评审
`–audience human agent`
--background <text> / -b 附带业务上下文,提升评审相关性
`–format text json/-f`
--rule <path> 自定义规则文件
--concurrency / --timeout 并发数 / 超时控制

跑完 ocr review --audience agent,你会拿到一份结构化的 JSON findings(评审发现),这就是后续 Agent 集成要消费的核心产物。


四、三大 Agent 集成用法(本文重点)

OpenCodeReview 提供了多种集成方式,覆盖几乎所有主流 AI 编程 Agent。下面分别讲 Codex、Claude Code、OpenCode 三种最常用的。

4.1 通用底座:Agent Skill(推荐首选)

在任何支持 Skill 机制的 Agent 上,都可以用这一条命令安装:

npx skills add alibaba/open-code-review --skill open-code-review

装上之后,Agent 就获得了一个可调用的评审 Skill,它会自动完成这套标准化流程:

  1. 前置检查:检测 ocr CLI 是否已安装,没有就自动 npm install;检测 LLM 是否配置好,没配就停下来问你。
  2. 执行评审:调用 ocr review --audience agent,拿到结构化结果。
  3. 分级呈现:把每条评审意见按 High / Medium / Low 分级,低置信(疑似误报、吹毛求疵)的直接丢弃。
  4. 修复前先问:和"自动乱改"不同,Skill 模式默认在动手修复前先征求你同意

Skill 模式的特点:稳、可控、适合"先给我看问题,我决定怎么改"的工作流。

4.2 Claude Code:Plugin / Slash 命令

Claude Code 用户有两种安装方式。

方式 1:Plugin Marketplace(推荐)

在 Claude Code 内依次运行:

/plugin marketplace add alibaba/open-code-review
/plugin install open-code-review@open-code-review

这会注册 /open-code-review:review 这个 slash 命令,后续可通过 /plugin 一键更新。

方式 2:直接复制命令文件

如果你不想用 marketplace,可以把命令文件直接放进 .claude/commands/ 目录:

# 项目级(随仓库提交,团队共享)
mkdir -p .claude/commands
curl -o .claude/commands/open-code-review.md \
  https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/review.md

# 用户级(本机所有项目可用)
mkdir -p ~/.claude/commands
curl -o ~/.claude/commands/open-code-review.md \
  https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/review.md

使用:直接喊命令即可,支持自然语言:

/open-code-review:review
/open-code-review:review review this PR against main
/open-code-review:review focus on race conditions in commit abc123

它会自动解析你的意图并选择正确的 ocr review 参数:

  • 不带参数 → 工作区模式(staged + unstaged + untracked)
  • 提到 commit → --commit
  • 提到分支区间 → --from / --to

也可以直接透传参数:/open-code-review:review --commit abc123--from main --to feature

Claude Code Plugin 的特点:和 Skill 不同,它默认自动修复值得采纳的 High/Medium 问题——是一个"评审并清理"的工作流,而非"只给我看 diff"。如果想在改代码前先询问,编辑本地 prompt 副本即可,Claude Code 每次调用都会重新读取,无需重启。

4.3 Codex(及 Cursor 等):命令约定通吃

这里要敲一下黑板:Claude Code 的命令文件,本质只是一个带单个 frontmatter 字段的纯 markdown,没有任何 Claude Code 专有内容。

官方原话:

命令文件是带单个 frontmatter 字段的纯 markdown——没有任何 Claude Code 专有内容。如果你的 Agent 支持类似的 command 约定(从目录加载为可调用命令的 markdown prompt),把 open-code-review.md 放进你的 Agent 读取命令的目录,按它的方式调用即可。

也就是说,Codex、Cursor 这类支持 command 约定的 Agent,安装路径完全一样

  1. 拿到命令文件 open-code-review.md(从上面的 curl 地址下载)。
  2. 放进你的 Agent 读取命令的目录。
  3. 按你的 Agent 调用命令的方式调用它。

prompt 正文与 Agent 无关——它只告诉模型"该选哪些 ocr 参数、怎么分级输出"。

4.4 OpenCode:原生工具 + 斜杠命令

OpenCode 有专门的集成插件(仓库路径 plugins/open-code-review/opencode/),它会把 OpenCodeReview 暴露成 原生工具(tools)和斜杠命令

  • ocr_review —— 评审工作区改动 / 单个 commit / ref 区间,返回结构化 JSON findings。
  • ocr_health —— 健康检查(确认环境就绪)。

以及对应的斜杠命令,让你在 OpenCode 里像调用内置功能一样使用它。具体安装命令详见仓库内的 plugins/open-code-review/opencode/README.md

4.5 额外选项:委托模式(Delegation Mode)

如果你不想单独为 OCR 配置 LLM——比如你用的是订阅制的 Claude Code / Codex / Cursor / OpenCode / Qoder,想直接复用已有订阅额度——那么**委托模式(Delegation Mode)**就是为你准备的。

它的核心思想:OCR 只出"工程脚手架"(文件过滤、规则解析、排除逻辑、流程编排),把真正的 LLM 评审交给宿主 Agent 用它自己的模型来完成,OCR 端无需配置任何 API Key。

前置条件:只需安装好 ocr CLI(npm install -g @alibaba-group/open-code-review),无需 ocr config

安装委托模式的 Skill / 命令文件

# 方式 1:作为 Skill 安装(支持 Skill 机制的 Agent)
npx skills add alibaba/open-code-review --skill open-code-review-delegate

# 方式 2:复制命令文件(Claude Code / Codex / Cursor 等)
mkdir -p .claude/commands
curl -o .claude/commands/delegate-review.md \
  https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md

委托模式的工作流是 5 步(核心命令就两条):

# 第 1 步:确定要评审的范围(哪些文件、哪些 diff)
ocr delegate preview            # 默认评审工作区改动
ocr delegate preview --from main --to feature
ocr delegate preview -c abc1234

# 第 2 步:取出评审规则
ocr delegate rule <path...>     # 输出结构化的评审规则

完整的 5 步是:

  1. ocr delegate preview —— 确定评审范围(文件列表 + diff 区间)。
  2. ocr delegate rule —— 取出 OCR 的分级评审规则。
  3. 宿主 Agent 取 diff —— 用 git showgit diff HEAD -- <path>cat <path> 自己拿到代码内容。
  4. 宿主 Agent 用自己的 LLM 评审 —— 按规则逐条判断。
  5. 按 Critical / High / Medium / Low 分级输出报告
选项 适用场景
我用订阅制 AI 编程代理,想复用已有额度 ✅ 委托模式
我只想用 OCR 的工程脚手架,LLM 部分自己接管 ✅ 委托模式
我在搭自定义 Agent 流水线,需要结构化输入 ✅ 委托模式

对于"我已经在 Claude Code / Codex 里,不想再为 OCR 配一套 Key"的场景,这是最省事的方案。


五、四种集成方式怎么选?

集成方式 适用场景 是否自动修复 LLM 配置
Agent Skill 任何支持 Skill 的 Agent 修复前先问 需为 OCR 配置
Claude Code Plugin Claude Code 用户 默认自动修复 需为 OCR 配置
OpenCode 插件 OpenCode 用户 工具化调用 需为 OCR 配置
委托模式 不想单独配 LLM 由宿主 Agent 决定 复用宿主 Agent

一个简单的选择思路:

  • 想最稳、最通用 → Agent Skill
  • 用 Claude Code,想要"评审+自动清理"一条龙 → Claude Code Plugin
  • 用 Codex / Cursor → 复制命令文件(command 约定通用)
  • 用 OpenCode → 装原生插件
  • 懒得配 LLM → 委托模式

六、一点个人思考

OpenCodeReview 给我最大的启发,不是它用了多强的模型,而是它对"AI 辅助开发"这件事的工程化态度

  1. 不要把所有事都甩给 LLM。 文件选择、结果定位这类"必须准"的事,用确定性代码兜底;语义理解这类"必须灵活"的事,才交给 LLM。
  2. 少而准,好过多而噪。 主动牺牲一点召回率换取精准度,对真实开发者体验是巨大的提升——没人愿意在 50 条评论里淘 3 条真问题。
  3. 和 Agent 生态深度融合。 不是造一个孤立的工具,而是把自己变成 Skill / Plugin / 原生工具,融入开发者已有的 AI 编程工作流。

如果你正在用 Codex、Claude Code 或 OpenCode 写代码,强烈建议花 10 分钟把 OpenCodeReview 集成进去——它可能不会让你的代码"惊艳",但会切实帮你少踩很多本可以避免的坑


相关链接

  • GitHub 开源地址:https://github.com/alibaba/open-code-review
  • 官方网站:https://open-codereview.ai
  • npm 包@alibaba-group/open-code-review
  • 许可证:Apache-2.0
  • 基准测试项目:alibaba/aacr-bench(多语言 LLM 代码评审基准)

如果这篇文章对你有帮助,欢迎点赞收藏。在集成过程中遇到任何问题,欢迎在评论区交流!

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐