Open Code Review 项目解析知识图谱 / 分组目录 / 使用场景索引 / 场景:扩展审查能力

场景:扩展审查能力

使用场景高级场景索引G-S · 使用场景索引

What · 是什么

规则不够用?MCP 接入外部工具、自定义规则文件、--rule 临时规则、委托模式喂给任意 Agent
内置规则不够用时提供四条扩展路径:MCP 接入、自定义规则文件、--rule ad-hoc 规则、委托模式
MCP 接入:config.json 的 mcp_servers.<name> 配置外部工具,支持 stdio(本地进程)与 remote(远程服务)两种模式,让审查过程调用外部工具能力
自定义规则文件:内置覆盖 10+ 语言,专项场景(特定框架/合规要求)可补写专属规则文件
--rule ad-hoc 规则:单次命令临时注入规则,不改动任何配置文件
委托模式:把审查规则喂给任意 Agent 的 skill(如 skills/open-code-review/),让外部 Agent 以 OCR 规则为 skill 执行审查
规则值可引用 .md/.txt 文件:复杂审查指令可写在独立文档中,规则文件仅引用其路径,便于维护长指令

Why · 为什么

原理 · Principle

单一内置规则无法覆盖所有团队规范与框架特性,扩展性是工具长期可用的前提

MCP 生态让审查能联动外部工具(如安全扫描器、数据库 schema 检查),审查从『读代码』升级为『查事实』

复杂指令内联在 JSON 规则里难以维护,引用外部 .md/.txt 把指令与配置分离,可读性与可维护性双提升

How · 怎么做

接入 MCP 工具:在 config.json 的 mcp_servers 下新增 <name>,配置 stdio(本地命令启动)或 remote(远程端点)类型,审查中即可调用该工具
编写专项规则:按内置规则文件格式新建自定义规则文件,覆盖内置 10+ 语言之外的场景(如特定框架规范),再在配置中启用
临时注入:运行审查时追加 --rule '规则内容',一次性生效,适合现场临时检查
委托扩展:把审查规则以 skill 形式(skills/open-code-review/)喂给任意 Agent,外部 Agent 加载 skill 后按规则审查
复杂指令外置:把长审查指令写入 .md/.txt 文件,规则值引用文件路径,审查时读取文件内容作为指令

案例 · Cases

代表性案例
框架专项审查:自定义规则覆盖公司内部框架约定,内置规则不认识的模式也能被审查
安全联动:MCP 接入依赖扫描器,审查时自动交叉验证依赖版本与已知漏洞
多 Agent 协作:委托模式 + skill 文件让 Claude Code 等宿主 Agent 用同一套 OCR 规则审查
复杂合规指令:审查标准写成 .md 文档(数十条细则),规则文件只引用路径,评审修改只动文档

反模式 · Anti-patterns

正反实例论证 · Evidence

正例 · Pro
MCP 接入外部工具联动审查
# config.json"mcp_servers": {"dep-scan": {"type": "stdio", "command": "dep-scanner", "args": ["--json"]}}# 审查中调用 dep-scan 交叉验证依赖版本
审查从『读代码』升级为『查事实』:依赖漏洞、schema 一致性等外部事实可实时核对。
反例 · Con
MCP 配置不可信 remote 端点
"mcp_servers": {"tool": {"type": "remote", "url": "http://unknown-host:8080"}}
审查数据可能被发送到不可信远程端点,源码外泄风险;remote 模式必须先确认信任边界。
正例 · Pro
规则值引用 .md 文件承载复杂指令
# rule.json 中规则值引用文档路径"rules": [{"name": "compliance", "value": "rules/compliance.md"}]# 数十条细则写在 compliance.md 中
长指令与配置分离,评审修改只动文档不改 JSON,可读性与可维护性双提升。
反例 · Con
长指令内联进 rule.json 字符串
"rules": [{"value": "禁止1、禁止2、禁止3…(数十条细则内联)"}]
JSON 转义与换行处理困难,评审每次改动都触碰配置文件,容易引入语法错误。
正例 · Pro
--rule ad-hoc 补充专项检查
ocr review --rule '禁止在事务中执行耗时查询'
内置 10+ 语言规则之外的专项约束随时补充,一次性生效,适合现场临时检查。
反例 · Con
自定义规则与内置规则命名冲突
# 自定义规则与内置规则同名且作用域重叠ocr review
规则互相覆盖导致行为不可预测,改动前应先用 ocr rules check 验证命中与覆盖关系。

实践资产 · Assets

Skill
委托审查 skill:preview→rule→git diff→逐文件→格式化→覆盖率
skills/open-code-review-delegate/SKILL.md · 6162 B
配置示例
项目级规则示例(rule.json:include/exclude + 四规则含 glob/docs 外置)
(自建示例) · 1308 B

相关边