Skip to content
Discussion options

You must be logged in to vote

Hi @zwlpwl,感谢提问。

你对匹配机制的理解是准确的 — OCR 当前的规则解析是 "first match wins":对每个文件,在 rules 数组中按声明顺序找到第一个 glob 匹配的 entry 后即停止,不会继续应用其它 entry。这意味着如果你有多个规则文件(或多个 entry)的 path glob 都能匹配同一文件,只有第一个会生效。

当前版本下的可行方案

方案一:合并 rule 文本,按 path 归类

将所有适用于同一 path glob 的规则合并到同一个 entry 的 rule 字段中(或引用一个较长的 .md 文件)。rule 字段支持引用文件路径 — 只要值是以 .md / .txt / .markdown 结尾的单行路径,OCR 会自动读取文件内容作为规则文本(上限 512KB)。

{
  "rules": [
    {
      "path": "src/**/*.java",
      "rule": ".opencodereview/rules/java-all.md"
    }
  ]
}

你可以在 java-all.md 中用 markdown 章节组织多条规则(安全、性能、规范等)。这样一个文件匹配一个完整的规则集,不存在冲突。

注意:规则条数越多,模型在单次审查中需要逐条检查的维度越多,对每条规则的关注度可能被稀释。如果你对审查深度有严格要求且 token 不受限,建议单个规则文件中的规则条数控制在合理范围内(经验上 10-15 条以内效果较稳定),超出的可考虑方案二分轮审查。

方案二:多轮审查 + --…

Replies: 2 comments 1 reply

Comment options

You must be logged in to vote
1 reply
@zwlpwl
Comment options

Answer selected by zwlpwl
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants