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 对话中。
评论区
登录后可评论。