开发与工程 code-reviewgit-diffcodexcursorclimulti-language

OpenCodeReview

基于确定性工程与Agent混合架构的AI代码评审CLI工具,在阿里巴巴规模下经过实战检验,提供精确到行级的评审意见。

FollowAgents 评估 · FARS-2.1
不推荐
53/ 100 五分制 2.7 / 5
1 2 3 4 5 6
1信任安全11 / 29 · 1.9/5

证据显示:CLI 工具需要用户配置 LLM API 密钥,但未明确说明权限最小化原则;交互式配置界面可能提供用户确认,但未在文档中明确;数据流透明度不足,未详细说明代码和提示词如何发送至 LLM;敏感数据处理(如 API 密钥)有安全策略提及,但未展示具体实现;依赖安全方面,CI 中有 govulncheck 和 CodeQL,但未提供依赖漏洞报告;外部影响方面,工具会调用外部 LLM API,但未说明数据外发范围;回滚方面,有会话恢复功能,但未说明回滚机制;来源归属方面,发布者未验证,但代码有版权声明。扣分原因:权限最小化、用户确认、数据流透明度、敏感数据处理、外部影响、回滚、来源归属均缺乏具体实现证据,仅部分提及。

2可靠稳定8 / 14 · 2.9/5

证据显示:README 和文档描述一致,CI 中有测试和覆盖率检查,但未提供测试结果;依赖可用性方面,有 go.mod 和 package.json,但未提供依赖锁定或镜像;失败消息方面,未提供错误处理文档。扣分原因:自洽性有文档支持,但依赖可用性和失败消息缺乏具体证据。

3适用触发12 / 18 · 3.3/5

证据显示:README 明确目标用户为开发者,支持多种平台和代理;能力边界有文档说明,如支持 diff 和 scan 模式;触发精度方面,有规则匹配和文件选择机制;环境适配方面,支持多种操作系统和 CI 集成。扣分原因:能力边界和触发精度有文档支持,但未提供具体配置示例。

4规范维护10 / 18 · 2.8/5

证据显示:信息架构清晰,有文档链接;安装说明详细,支持多种安装方式;命名稳定性方面,CLI 命令命名一致,但版本号在 package.json 中为 0.0.0;示例和 FAQ 有文档;已知限制在 README 中提及(如召回率较低);许可证为 Apache-2.0;版本变更日志未提供;维护责任方面,有贡献指南和安全策略。扣分原因:命名稳定性因版本号未更新而扣分,版本变更日志缺失。

5有效结果9 / 13 · 3.5/5

证据显示:输出可用性方面,生成行级评论,格式结构化;边际价值方面,与通用代理相比有基准测试;成本效益方面,声称 token 消耗低,但未提供具体数据。扣分原因:成本效益缺乏具体数据支持。

6证据核验3 / 8 · 1.9/5

证据显示:README 中有基准测试声明,但未提供原始数据;跨来源验证方面,有 OpenSSF 徽章,但未提供具体报告;事实与推断分离方面,文档中区分了设计权衡,但未明确标注。扣分原因:声明可追溯性不足,跨来源验证缺乏具体证据。

证据充分度: 评估于 2026年8月13日 审查版本 5fafe8297293
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 发布者身份未验证,需谨慎对待供应链风险。
  • API 密钥等敏感信息处理方式未在源码中明确,需检查配置存储。
  • 数据流透明度不足,代码和提示词发送至 LLM 的过程未详细说明。
  • 版本号在 package.json 中为 0.0.0,可能影响依赖解析。
  • 基准测试声明缺乏原始数据,需独立验证。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

OpenCodeReview 是阿里巴巴集团开源的 AI 代码评审命令行工具,原为阿里内部官方 AI 代码评审助手,服务数万名开发者,识别了数百万个代码缺陷。工具以混合架构为核心:确定性工程负责文件选择、文件捆绑、规则匹配和评论定位,确保硬性正确;LLM Agent 负责动态决策,读取完整文件、搜索代码库并生成深入评审。它读取 Git diff,输出结构化、带有精确行号信息的评审评论,支持 NPE、线程安全、XSS、SQL注入等多语言规则。提供 CLI 命令(ocr review、ocr scan 等),并可与 Claude Code、Codex、Cursor 等编码Agent集成。项目采用 Apache-2.0 许可,支持多语言文档(英文、简体中文、日语、韩语、俄语)。

OpenCodeReview 通过 CLI 工具执行代码评审。核心操作包括:读取 Git diff,使用Git命令生成变更集;通过确定性工程选择需评审的文件并过滤无关文件,将相关文件打包(如将不同语言属性文件捆绑);匹配预置规则(如NPE、线程安全、XSS、SQL注入),并通过模板引擎精准匹配;将处理后的文件发送给配置的LLM(支持OpenAI、Anthropic兼容API),由Agent读取完整文件、搜索代码库上下文,生成精确到行号的评审评论;支持 'ocr review' 对工作区、分支范围、单次提交进行评审,'ocr scan' 对完整文件或目录进行无diff扫描;提供会话恢复(--resume)和委派模式(ocr delegate),后者无需配置LLM,由编码Agent自身执行评审。

  1. 开发者在合并Pull Request前,使用 ocr review --from main --to feature-branch 审查功能分支的变更,获取精确行级评论。
  2. 团队在CI/CD流水线中集成OCR,对每次提交自动运行代码评审,确保问题在合并前被发现。
  3. 审计人员使用 ocr scan 扫描不熟悉或没有有意义diff的目录,进行全文件评审。
  4. 使用Claude Code或Codex等编码Agent的开发者,通过委派模式(ocr delegate)让Agent使用自身LLM执行评审,无需配置额外API密钥。
  5. 在处理大量变更时,OCR通过文件捆绑和子Agent并发处理,保持稳定性和覆盖完整性,适合大型仓库。
  6. 需要定制评审规则的用户,可通过路径过滤和规则目标设置自定义规则,调整评审标准。

这个 Agent 有哪些优点和局限?

优点
  • 混合架构:确定性工程保证文件选择和规则匹配的准确性,Agent提供动态上下文,评审精度高。
  • 规模验证:在阿里巴巴内部服务数万开发者,识别数百万缺陷,经大规模生产数据验证。
  • 效率高:相比通用Agent(如Claude Code),同模型下F1和精确度更高,token消耗约为1/9,速度更快。
  • 多语言支持:内置NPE、线程安全、XSS、SQL注入等规则,覆盖主流编程语言。
  • 灵活集成:支持Claude Code、Codex、Cursor等编码Agent插件,以及CI/CD平台(GitHub Actions、GitLab CI、Gerrit)。
局限
  • 需要配置LLM:使用默认模式需要提供OpenAI或Anthropic兼容的API密钥,增加成本和配置负担。
  • CLI工具:主要使用命令行,对非技术用户有上手门槛,需要Git >= 2.41。
  • 依赖网络和外部API:评审过程需要网络连接,LLM API的响应影响速度。
  • 召回率相对低:文档承认其召回率低于通用Agent,可能漏掉一些非关键问题,需要人工复查。
  • 配置文件可能复杂:高级配置涉及环境变量、自定义提供商等,需要阅读文档。

如何安装或部署这个 Agent?

全局安装CLI:npm install -g @alibaba-group/open-code-review。安装后,ocr 命令可用。其他安装方式包括脚本安装、GitHub Release二进制和源码安装,详见官方文档。

如何使用这个 Agent?

  1. 配置LLM:运行 ocr config provider 选择内置提供商或自定义,ocr config model 选择模型,交互式界面引导输入API密钥并测试连通性。2. 执行评审:在项目目录下运行 ocr review 审查所有更改,或用 --from main --to feature-branch 指定分支范围,--commit abc123 审查单次提交。3. 全文件扫描:ocr scan --path internal/agent 扫描指定目录。4. 委派模式:ocr delegate preview 预览委派内容,无需配置LLM。会话恢复:ocr session list 查看会话,--resume 恢复中断的评审。

常见问题

使用OCR需要什么前提条件?
需要Node.js环境(用于npm安装)和Git >= 2.41,以及一个LLM API密钥(OpenAI或Anthropic兼容),除非使用委派模式。
OCR的评审成本如何控制?
OCR通过确定性文件选择和打包优化token使用,相比通用Agent可节省约9倍的token消耗,但具体成本取决于所选模型和API定价。
OCR可以自定义评审规则吗?
可以,通过路径过滤和目标设置自定义规则,并针对不同文件特性匹配规则。
OCR能处理大型代码库吗?
是的,通过文件打包和子Agent并发执行,保持稳定性和覆盖完整性,适合大型变更集。
委派模式与默认模式有何区别?
委派模式(ocr delegate)让编码Agent(如Claude Code)使用自身LLM执行评审,无需OCR配置API密钥;默认模式由OCR管理LLM调用。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents