Open Code Review:审查范围、文件过滤与模型调用
做一个只读的 Open Code Review 范围解释器
把文件选择规则做成学习项目,解释排除原因,并分别显示计划审查范围和实际执行结果。
你将学会
- 让排除原因可以被查看
- 分别展示计划范围和执行状态
- 先定义验收,再增加图形效果
开始前需要
- 理解 Git 改动与合并基点比较
- 会使用命令行并理解模型凭据的用途
选择审查范围,解释文件排除原因,设计受控试验,并区分源码审阅和运行证据。
先看结论
- 不调用模型也能用解释器学习排除顺序。
- 入选范围和完成审查需要不同状态。
- 该练习不代表上游产品承诺。
让排除原因可以被查看
一个实用扩展是把每个变更路径与它的选择原因并排显示,再标出原因对应的源码版本。重命名时显示旧路径和新路径,因为当前选择器会同时检查两者是否属于敏感模式,单看新名称可能解释不全。
第一版保持只读,输入合成决定或脱敏预览产物,不赋予仓库写权限,也不配置模型凭据。读者就可以学习选择机制,同时避免新增评论发布或代码合并的操作入口。
分别展示计划范围和执行状态
把入选文件与已完成的审查分为不同区域。一个文件可以已经入选,却因为提供商错误或预算结果而未完成审查。如果只显示一个绿色入选标记,读者很容易把它理解为模型已经成功检查。
准备包含普通文件、删除项、敏感路径和模板名称的小夹具集。.ssh/.env.example 适合解释 basename 例外为什么不能决定完整路径结果。每项都标明是合成样本,并说明它来自哪一级函数或产物。
先定义验收,再增加图形效果
首要验收条件是每个显示决定与输入产物和固定源码解释一致。测试空结果、未知原因值和不完整运行。文件名与说明应作为文本渲染,不应因为来自审查工具就被当成可信 HTML。
图形只有在帮助解释关系时才有价值,例如用小图并排展示重命名前后的路径。本项目用 SVG 流程图即可起步。这是本系列提出的学习练习,不代表上游已经宣布或实现了对应功能。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
定义包含源码版本和选择原因的只读输入格式。
- 2
把合成选择结果与运行状态分别渲染。
- 3
验证未知状态和不可信显示字符串,再考虑增加视觉效果。
可复制示例
{
"proposal": true,
"revision": "189be5b024d3309dd10fdc8cd8ee31b2530c210b",
"input": "合成的选择结果",
"oldPath": ".env",
"newPath": "config.txt",
"selectionReason": "敏感路径",
"execution": "尚未开始",
"readOnly": true
}常见问题
这个项目需要 Three.js 吗?
不需要。表格和小流程图已经能解释当前关系;只有出现具体的读者问题时,再引入更复杂的图形。
上游已经发布这个功能了吗?
本章提出的是独立学习练习,没有宣称上游已发布对应功能。
资料来源
- Open Code Review / internal/agent/selection.go来源核查 2026-09-18
- Open Code Review / internal/config/allowlist/secret_path.go来源核查 2026-09-18
- Open Code Review / internal/config/allowlist/secret_path_test.go来源核查 2026-09-18
- Open Code Review / pages/src/content/docs/en/architecture.md来源核查 2026-09-18