按图谱分组类别分层:先架构理念与引擎机制,再命令行工具与配置,随后集成生态,工程保障横切支撑,最后是使用场景索引。
架构与机制 层
G-A · 核心架构 (架构理念) · 6 节点
审查流水线核心架构从 CLI 入口到评论输出的 8 步确定性+Agent 混合时序:diff→过滤→分派→并行子 Agent→反思→输出 规则引导分派核心架构确定性文件选择/过滤/分束机制:用规则而非语言模型决定审什么、怎么分组 受限工具集审查核心架构6 个审查专用工具(file_read/file_find/code_search/file_read_diff/code_comment/task_done)经 ReAct 循环驱动文件级子 Agent 独立反思核心架构证伪优先的评论过滤器:只看到 diff 与评论,用 Ground A/B 双地面验证消除幻觉评论 文件级并行与上下文隔离核心架构每文件一个子 Agent 任务、独立上下文,信号量限流(默认 8 并发),防 token 雪球 G-B · 审查引擎 (核心机制) · 10 节点
Git Diff 获取与解析审查引擎三种 diff 来源(workspace/range/commit)+ unified diff 解析器(ParseDiffText/ParseHunks) 文件选择与过滤审查引擎whyExcluded 过滤链:binary→用户 exclude→include 覆盖→扩展名白名单→默认路径黑名单 文件分束审查引擎将关联文件归并为审查单元(en/zh properties 捆审);scan 按 by-language/by-directory 分桶,delegate 按规则文本聚簇 行号定位回退链审查引擎五级回退:hunk 新侧→hunk 旧侧→全文件滑动窗口→跨文件重定位→LLM 重定位,保证评论落在真实行 跨文件与 LLM 重定位审查引擎评论目标代码在别处时:纯字符串匹配迁移(唯一命中才动)+ LLM 从 diff 重生成代码块再定位 上下文三区压缩审查引擎frozen(前 2 条)+ compress(LLM 摘要进 previous_review_summary)+ active(最近 K 轮),60%/80% 双阈值触发 会话 JSONL 持久化审查引擎~/.opencodereview/sessions/ 下 JSONL 记录全部任务记录(Plan/Main/压缩/重定位/反思),可回放可审计 断点续审与指纹复用审查引擎sha256(mode+old+new+diffText) 指纹复用已完成文件评论;SealedInput 冻结 commit 端点防 ref 漂移 全文件扫描引擎审查引擎无 diff 审查:枚举→过滤→分束→批处理→DEDUP 去重→项目总结,ScanItem 携带全文件内容 G-D · 配置与模型 (配置体系) · 5 节点
Provider 体系配置模型27 个内置 LLM provider(anthropic/openai/dashscope/deepseek/z-ai/kimi/...)+ 自定义端点,覆盖国内外主流模型 LLM 协议层配置模型4 种协议:Anthropic Messages / OpenAI Chat Completions / OpenAI Responses / Bedrock SigV4,统一 CompletionsWithCtx 接口 配置优先级配置模型5 级解析:显式 --provider/--model > config.json > OCR_LLM_* 环境变量 > ANTHROPIC_* 环境变量 > shell RC 四层规则链配置模型custom(--rule) > project(.opencodereview/rule.json) > global(~/.opencodereview/rule.json) > system(内嵌),doublestar glob 匹配 MCP 扩展配置模型Model Context Protocol:stdio 子进程 + remote Streamable HTTP 双传输,外部工具接入审查工具链(allowlist 过滤) 工具 层
G-C · 命令行工具 (CLI) · 9 节点
ocr 命令总览与安装命令行安装方式(npm/脚本/二进制/源码)、cobra 命令树、全局参数与 version/completion 子命令 ocr review命令行基于 git diff 的审查主命令:workspace/range/commit 三模式,--format text|json|sarif,--resume 断点续审 ocr scan命令行全文件扫描:无需 git 历史,--path 指定目录,--batch by-language/by-directory,PLAN/DEDUP/SUMMARY 三阶段 ocr delegate命令行委托模式:OCR 只做文件选择+规则解析输出 spec JSON,编码 Agent 用自己的 LLM 审查,无需 OCR API Key ocr config命令行配置管理:set/unset 键值 + provider/model 交互式 TUI 向导(Bubble Tea),自动测试连通性 ocr session命令行会话管理:list/show/comments 子命令,--json 输出,按 severity/category 过滤评论 ocr viewer命令行本地 WebUI 会话查看器(默认 localhost:5483):浏览器回放审查会话 JSONL,hostGuard 防 DNS-rebind ocr rules命令行规则调试:rules check <file> 显示命中规则层(custom/project/global/system)与匹配模式 ocr llm命令行LLM 工具:test 发送测试对话、providers 列出全部 27 个内置 provider G-E · 集成生态 (集成) · 9 节点
GitHub Actions 集成集成生态composite action(action.yml):24 入参/6 出参,fork-safe PR 解析,评论发布脚本(sticky/增量 IoU 去重/路由) 其他 CI 集成集成生态GitLab CI / Gerrit Jenkinsfile / GitFlic CI / Bitbucket Pipelines / 阿里云 Codeup CI + post_review.py 评论回贴 Claude Code 插件集成生态claude-code 插件:/open-code-review:review 与 :delegate-review 斜杠命令,marketplace 安装 Codex 插件集成生态.codex-plugin/plugin.json + skills:以 @Open Code Review review ... 调用,interface Read capability Cursor 插件集成生态.cursor-plugin/plugin.json + 可移植 skill,复制到 ~/.cursor/plugins/local/ 手动安装 OpenCode 原生插件集成生态@opencode-ai/plugin:tool() 注册原生审查工具,spawn 'ocr review --audience agent --format json',参数互斥校验 QCA Forward 委托集成生态QCA 宿主模型运行委托模式:只允许 ocr delegate preview/rule(只读),OCR 侧零 LLM 调用 通用 Agent Skill集成生态skills/open-code-review/SKILL.md:四步 review/filter/fix/report 工作流 + delegate 六步 skill,兼容任意 skill 型 Agent VSCode 扩展集成生态React webview(侧边栏/配置面板/评论面板)+ CliService 封装,i18n en/zh,webpack+jest 保障 层
G-F · 工程保障 (质量与运营) · 6 节点
AACR-Bench 基准工程保障50 仓库/200 真实 PR/10 语言/1505 人工标注问题的审查基准(HuggingFace 开源),驱动 Precision/F1/token 量化优化 OpenTelemetry 遥测工程保障console/OTLP 双导出(grpc/http),审查事件与指标埋点,OCR_ENABLE_TELEMETRY 环境变量开启 安全设计工程保障路径穿越防护(WithinBase+EvalSymlinks)、git grep 拒 '..'、viewer hostGuard 防 DNS-rebind、manifest 哈希不含密钥 重试与错误分类工程保障SDK 内建 max-retries=5 + 可配置 RetryCodes;错误按 ErrorClass(timeout/cancelled/network/provider/unknown)+FailurePhase 分类入报告 构建与发布体系工程保障npm 包(6 平台 optionalDependencies)+ GitHub Release 二进制 + install.sh/ps1,Makefile 覆盖率 90% 门禁 Token 计费与成本控制工程保障tiktoken-go 计费(o200k/cl100k_base),预算前瞻截断、80% token 大文件丢弃、prompt-cache 亲和键命中前缀缓存 场景索引 层
G-S · 使用场景索引 (工具索引) · 6 节点
场景:审查 PR/分支变更使用场景日常审查入口:合并基准模式审 feature 分支、单 commit 审查、GitHub PR 上自动触发 场景:审计陌生代码库使用场景无 git 历史/无有意义 diff 时:全文件扫描,按语言/目录分束,DEDUP 去重,项目级总结 场景:免 Key 委托审查使用场景没有 LLM API Key 或想用宿主 Agent 模型:ocr delegate preview/rule 输出 spec,编码 Agent 自己审 场景:接入 CI 流水线使用场景让审查自动跑在每个 MR/PR:GitHub Actions 一步复用、GitLab/Gerrit 等加 post_review.py 回贴评论 场景:配置模型与规则使用场景首次上手必做:选 provider/模型/API Key,按项目定制规则(rule.json)、过滤路径、调并发与预算 场景:扩展审查能力使用场景规则不够用?MCP 接入外部工具、自定义规则文件、--rule 临时规则、委托模式喂给任意 Agent