Open Code Review Skill:阿里开源的AI代码审查工具,精准定位+1/9 Token消耗

你有没有过这种感觉:让 AI代码审查,结果要么漏掉关键问题,要么位置对不上代码行号,审查质量还忽好忽坏?这不是你的提示词不够好——而是纯语言驱动的架构,根本无法对审查流程形成硬约束。

Open Code Review(简称 OCR)阿里巴巴将内部运行了两年、服务数万名开发者、识别过数百万个代码缺陷的官方 AI 审查工具开源给社区的项目。它以 CLI 为载体,采用「确定性工程 + LLM Agent」混合架构,对代码审查场景的覆盖精度和稳定性,远超通用 Agent + Skills 方案。内置 Claude Code、Codex、Cursor、OpenCode 等主流 AI 编程工具插件,配置一个模型端点即可接入现有研发流程。

核心设计理念是各司其职:确定性工程负责文件筛选、打包分组、规则匹配、评论定位等「不能出错」的环节;Agent 则专注动态决策与上下文召回。Benchmark 数据来自 50 个热门开源仓库的 200 个真实 PR,覆盖 10 种编程语言,由 80+ 资深工程师交叉标注验证。结果显示:相同底层模型下,F1 和 Precision 均显著高于通用 Agent,同时 Token 消耗仅为后者的约 1/9,审查速度更快。但召回率(Recall)低于通用 Agent——这是以精准度换低噪声的有意取舍。

内置一套经大规模验证的代码审查规则体系,涵盖:空指针风险(NPE)SQL 注入XSS 漏洞线程安全问题参数校验缺失Mapper SQL 配置错误等。支持项目级、用户级、自定义规则覆盖,可针对不同业务团队制定专属 Review 标准,实现统一的代码规范管理。

链接:GitHub:https://github.com/alibaba/open-code-review

原作者:阿里巴巴(Alibaba Group),Apache-2.0 协议开源,核心引擎为 Go,插件为 TypeScript。

介绍

Open Code Review 脱胎于阿里集团内部官方 AI 代码审查助手,历经两年大规模生产验证。工具通过 Git 读取 diff 内容,将变更文件发送至可配置 LLM(支持 OpenAI 和 Anthropic 兼容端点),由 Agent 生成具有行级精度的结构化审查意见。Agent 不仅能看到 diff,还能读取完整文件内容、搜索代码库、检查其他变更文件以获取上下文,进行深度审查,而非仅停留在表面的逐行反馈。

除了 diff 审查,ocr scan 还支持对整个目录或文件进行审查,适用于审计不熟悉的代码库、没有有意义 diff 的增量变更、以及 CI/CD 流水线中的自动化扫描场景。审查结果支持在浏览器中浏览和回放(会话查看器),并可与 GitHub Actions、GitLab CI、GitFlic CI、Gerrit 等主流 CI 系统集成。

特点

  • 混合架构:确定性工程(文件筛选、打包分组、规则匹配、定位反思)+ LLM Agent(动态决策、上下文召回),各司其职,行为可预期
  • 精准定位:独立的评论定位与反思模块,确保问题位置与代码行号准确对应,消灭「位置漂移」
  • 超低消耗:相同模型下 Token 消耗约为通用 Agent 的 1/9,F1/Precision 更高,CI 成本更低
  • 内置规则:NPE、SQL 注入、XSS、线程安全、参数校验等开箱即用规则,支持项目级/用户级自定义规则
  • 多平台插件:Claude Code、Codex、Cursor、OpenCode 均有原生集成插件,也支持 MCP 服务器扩展

使用方法

安装(npm):

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

配置 LLM(交互式引导):

ocr config provider   # 选择供应商(OpenAI / Anthropic 或自定义)
ocr config model      # 选择模型

开始审查:

# 审查工作区变更
ocr review

# 比较两个分支
ocr review --from main --to feature-branch

# 扫描整个文件(无需 git diff)
ocr scan --path src/main.go

# 委托模式:让 AI 编程 Agent 使用自身 LLM 执行评审(无需 OCR API Key)
ocr delegate preview
ocr delegate rule src/main.go src/handler.go

使用场景与人群

适用场景:CI/CD 流水线强制门禁、团队代码规范审查、不熟悉代码库的快速审计、AI 编程工具的质量增强层。

目标用户:后端/前端/全栈开发者(尤其是使用 Claude Code、Codex、Cursor 等 AI 编程工具的团队)、代码规范有明确要求的技术团队、需要自动化门禁的中大型研发组织。

输入与输出案例

案例 1:审查一个 SQL 注入风险的 PR

输入:

ocr review --from main --to fix-user-query

输出(示意):

[src/db/user_query.go:47] 🔴 HIGH - SQL 注入风险
  问题:用户输入 `username` 直接拼接到 SQL 语句中
  建议:使用参数化查询 `SELECT * FROM users WHERE id = $1`
  规则:sql-injection

[src/db/user_query.go:52] 🟡 MEDIUM - 参数校验缺失
  问题:函数未对 `offset` 参数做边界检查
  建议:添加 `if offset < 0 || offset > 10000 { return err }`
  规则:param-validation

案例 2:委托模式,Claude Code 自主完成审查

输入(Claude Code 中):

/review --delegate src/auth/verify.go

输出:Claude Code 自身 LLM 执行评审,OCR 负责文件选择 + 规则解析,无需额外 API Key,结果直接内嵌在 Claude Code 对话中。


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

评论区

0 条评论

登录后可评论。

Skill超级捕获手 29 阅读