open-code-review 快速上手:从安装 CLI 到跑通第一次 AI 代码评审
【免费下载链接】open-code-reviewFast, efficient, battle-tested at Alibaba's scale. Hybrid architecture code review tool: deterministic pipelines + LLM Agent, precise line-level comments, built-in multi-language ruleset (NPE, thread-safety, XSS, SQL injection), OpenAI & Anthropic compatible.项目地址: https://gitcode.com/GitHub_Trending/op/open-code-review
本篇指南以 open-code-review(CLI 命令ocr)的官方快速入门文档为主线,带你用几分钟时间完成一次真实的 AI 代码评审:先安装 CLI、再配置 LLM 提供方与模型、验证连通性,最后以工作区、分支区间、单个提交三种模式跑通ocr review,并掌握--preview预览与--format json机器可读输出等关键实操技能。读完你即可在本地仓库、CI 脚本乃至 Agent 工作流中直接复用这些命令。
前置要求
在开始之前,请确认环境满足以下条件:
| 依赖 | 要求 | 说明 |
|---|---|---|
| Git | ≥ 2.41 | ocr review依赖 Git 解析 diff、计算 merge-base、读取工作区改动 |
| Node.js | ≥ 18 | 使用推荐的 NPM 方式安装 CLI 时需要 |
| LLM API Key | 视模式而定 | 使用普通模式评审时必须;若使用委派模式(例如在 Claude Code 内部运行),模型由宿主 Agent 提供,无需配置 API Key,可直接跳到第四步 |
快速验证 Git 与 Node 版本:
git --version node --version第一步:安装 CLI
最推荐的方式是通过 NPM 全局安装:
npm install -g @alibaba-group/open-code-review安装完成后,用version子命令确认可执行文件已就位:
ocr version该命令会打印构建时写入的版本号、Git 短提交、平台(<GOOS>/<GOARCH>)与构建日期。若输出command not found,请检查安装目录是否在$PATH中(which ocr、echo $PATH)。
除 NPM 外,项目还支持 Homebrew(brew install open-code-review)、MacPorts、curl | sh安装脚本、GitHub Release 静态二进制以及make build源码构建等多种安装方式;通过 NPM 安装时ocr默认还会在后台自动检查并升级(可用OCR_NO_UPDATE关闭、OCR_UPDATE_INTERVAL调整检查间隔)。完整清单与状态目录说明见安装指南。
数据存储位置:OCR 的配置与评审记录统一存放在~/.opencodereview/目录下,其中:
~/.opencodereview/config.json—— LLM 端点、语言等全局配置(由ocr config set管理);~/.opencodereview/sessions/<编码后的仓库路径>/<session-id>.jsonl—— 每次评审的流式 JSONL 会话记录,供ocr viewer回放;<仓库>/.opencodereview/rule.json—— 可提交进仓库的项目级评审规则。
第二步:配置 LLM
如果你使用委派模式(例如运行在 Claude Code、Codex 等订阅制 AI 编码 Agent 内),宿主 Agent 自带模型额度,OCR 侧不会发起任何 LLM 调用,无需执行本节,直接跳到第四步。
交互式配置(推荐)
运行:
ocr config provider该命令会启动交互式 TUI:你可以从内置提供方列表或自定义提供方中选择一个,输入 API Key、选定模型;命令随后将全部配置写入~/.opencodereview/config.json,并自动执行一次ocr llm test验证端点可用。
之后想更换模型,无需重走整个流程:
ocr config model非交互式配置(CI / 无 TUI 环境)
在 CI 流水线或没有终端交互界面的环境中,用ocr config set直接写入同样的配置键:
ocr config set provider anthropic ocr config set model claude-opus-4-6 ocr config set providers.anthropic.api_key sk-ant-xxxxxxxxxx从源码实现看(cmd/opencodereview/config_cmd.go),config set支持provider、model、max_tokens、effort、providers.<name>.<field>、custom_providers.<name>.<field>、mcp_servers.<name>.<field>、llm.*、language、telemetry.*等键;其中api_key/auth_token类密钥在回显时会被自动脱敏(shouldMaskConfigValue),避免密钥泄露到终端日志。
OCR 内置了anthropic、openai、openai-responses、gemini、dashscope、deepseek、kimi、minimax、baidu-qianfan、siliconflow、xai、bedrock等二十余个提供方,Base URL 与协议均已预置,选中后只需补 API Key;若providers.<name>.api_key未设置,OCR 会回退读取对应的环境变量(如ANTHROPIC_API_KEY、OPENAI_API_KEY)。完整提供方表格、自定义提供方(custom_providers.*,需至少提供url与protocol)、AWS Bedrock 签名认证、api_key_cmd密钥命令等进阶配置,见配置指南。
第三步:验证 LLM 连通性
ocr llm test该命令与ocr review使用完全相同的端点解析逻辑(cmd/opencodereview/llm_cmd.go):加载配置 → 解析端点 → 发送一次固定的短对话请求,然后打印解析来源、URL、生效模型与模型回复,最后输出✓ Connection test successful。
常见报错排查:
no valid LLM endpoint configured—— 端点未解析成功,请回头检查第二步的配置是否完整(provider / model / api_key 是否齐全);- HTTP
401 / 403—— API Key 错误或已过期,请更换密钥后重试。
第四步:运行第一次代码评审
进入任意 Git 仓库目录,即可开始评审:
cd path/to/your-repo # 工作区模式(默认):评审暂存 + 未暂存 + 未跟踪的全部本地改动 ocr review # 分支区间:评审 feature-branch 相对 main 引入的改动(基于 merge-base 计算) ocr review --from main --to feature-branch # 单个提交:评审 abc123 这个提交引入的 diff ocr review --commit abc123三种模式的语义在源码中有明确对应(cmd/opencodereview/review_cmd.go 的reviewModeFromOptions):
| 模式 | 判定条件 | 底层行为 |
|---|---|---|
| 工作区(默认) | 不带--from/--to/--commit | 用git diff HEAD汇总已跟踪文件的改动(若为空则回退git diff --staged),用git ls-files --others --exclude-standard收集未跟踪新文件并当作整文件新增读取 |
| 分支区间 | 同时指定--from与--to | 计算merge-base(from, to)..to,只评审该分支自身引入的改动,不掺入main上后来新增的无关变更 |
| 单个提交 | 指定--commit(别名-c) | 评审git show <commit>产生的 diff |
模式互斥:--from/--to与--commit混用属于硬错误。此外,出于安全考虑(issue #112),所有 ref 参数都会先经过校验(validateReviewRefs):ref 不能以-开头、必须是真实的 commit ref(git rev-parse --verify <ref>^{commit}),防止在 git 子进程调用中注入任意选项。
完整评审流程是:解析 Git diff → 用一次轻量元数据调用把改动文件按语义分组成文件组(如 handler + service + test 归入同一组)→ 为每个组派发一个子 Agent(按--concurrency默认 8 并行)→ 收集评论并按--format输出。--concurrency、--timeout、--effort、--max-tokens、--background(需求上下文)等全部ocr review旗标与其余子命令,见CLI 参考手册。
先预览:哪些文件会进入评审?
评审真正调用 LLM 之前,可以先跑过滤管线预览文件清单与排除原因:
ocr review --preview # 工作区改动预览 ocr review -c abc123 --preview # 单个提交预览(-c 是 --commit 的短别名)--preview只执行过滤管线、跳过 LLM(源码路径为 runPreviewContext →agent.Preview),支持--format json;由于没有完成的评审结论,不支持--format sarif。
面向系统的 JSON 输出
--audience agent会隐藏面向人类的进度界面,让标准输出(stdout)上只剩 JSON 文档与最终摘要——这正是上游 Agent 或 CI 脚本想要的纯净格式:
ocr review --format json --audience agent > review.jsonJSON 文档顶层字段包括:
status:success/completed_with_warnings/completed_with_errors/skipped;llm:实际解析到的提供方与模型;summary:files_reviewed、comments、total_tokens、input_tokens、output_tokens、elapsed等运行聚合;comments:按文件路径、行号区间(start_line/end_line)、原始代码与建议代码(suggestion_code)结构化的评论数组;warnings(可选):部分子 Agent 失败时的逐文件错误说明;session_id(可选):持久化会话 ID,可用于--resume断点续跑。
细节提示:--format json单独使用时,[ocr]进度行会走stderr,因此你仍可以ocr review --format json | jq .summary边观察进度边解析标准输出;只有再加上--audience agent(或 shell 层2>/dev/null)才会彻底静音进度。
常见问题速查
- 评审前如何确认改动范围?用
ocr review --preview(或-c <sha> -p)先看文件清单与排除原因,确认无误再正式评审。 - 如何把评审交给 Agent / CI 消费?用
ocr review --format json --audience agent > review.json,标准输出只含 JSON,且已包含session_id便于追溯。 - 想要更严格或更省成本的评审?用
--effort low|medium|high调节每组的评审轮数(默认medium= 2 轮),或用ocr config set effort high持久化;--background "需求描述"是提升评审质量性价比最高的旗标之一。 - 评审中途被打断?区间与提交模式可用
ocr session list找到会话,再用ocr review --from main --to feature-branch --resume <session-id>断点续跑(工作区模式不支持 resume,且 resume 会严格校验输入一致性)。 - 不想给 OCR 配模型?走委派模式:OCR 只做文件筛选与规则解析等确定性工程,评审推理由宿主 Agent 完成,OCR 侧零 LLM 配置。
进一步阅读
- 安装指南:全部安装方式与 OCR 数据目录说明。
- 配置指南:全部环境变量、配置键与内置提供方。
- CLI 参考手册:全部子命令、旗标与输出模式。
- 评审规则:自定义评审什么内容进入评审范围。
- 集成指南:把 OCR 嵌入 Claude Code、Agent Skill 或 CI。
- FAQ:已知错误与解决办法。
【免费下载链接】open-code-reviewFast, efficient, battle-tested at Alibaba's scale. Hybrid architecture code review tool: deterministic pipelines + LLM Agent, precise line-level comments, built-in multi-language ruleset (NPE, thread-safety, XSS, SQL injection), OpenAI & Anthropic compatible.项目地址: https://gitcode.com/GitHub_Trending/op/open-code-review
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考