code-review-graph 的这个教程只处理标题中的具体任务。项目用 Tree-sitter 建立本地结构图,并通过 MCP 缩小代码审查上下文;CI 的关键是增量建图、缓存边界和最小权限。
下面所有操作都先放在测试仓库、测试账号或仅回环监听的服务中。命令中的域名、用户名、路径与密钥是占位符,执行前需要替换。
PR 审查为什么需要持久化代码图
这一节解决的是“PR 审查为什么需要持久化代码图”。先记录当前状态,再执行最小动作,最后用独立证据确认结果。
对 code-review-graph 而言,判断依据是:项目用 Tree-sitter 建立本地结构图,并通过 MCP 缩小代码审查上下文;CI 的关键是增量建图、缓存边界和最小权限。不要在这个阶段顺手打开更多权限。
|
|
执行后保留命令输出和时间戳。若输出依赖当前终端里的临时变量,打开新终端复查一次。
Python 3.10 与 pipx 环境准备
按下面顺序处理:
- 读取实际版本和当前配置。
- 只改变与本节相关的一项设置。
- 运行一个只读或可撤销的请求。
- 检查日志、退出码和最终文件。
- 失败时恢复刚才那一项修改。
|
|
这里的完成标准不是界面出现,而是“Python 3.10 与 pipx 环境准备”有可重复结果。
首次 build 要在什么目录执行
| 要检查的内容 | 合格表现 | 需要停止的信号 |
|---|---|---|
| 首次 build 要在什么目录执行 | 输入和输出范围明确 | 自动扩大到其他项目或账号 |
| 权限 | 只获得完成任务所需权限 | 要求管理员权限或完整密钥 |
| 日志 | 能定位失败且已经脱敏 | 出现 Token、Cookie 或私有正文 |
| 回退 | 能恢复上一步状态 | 修改不可逆且没有备份 |
|
|
表格中的停止信号一旦出现,先撤销本节改动,不要继续后面的自动化。
只为 Codex 安装 MCP 配置
围绕“只为 Codex 安装 MCP 配置”准备一个成功样本和一个失败样本。成功样本验证正常路径,失败样本验证限制是否真的生效。
|
|
建议记录以下四项:
- 执行前的版本或 Git 提交。
- 实际输入,不记录秘密值。
- 可观察的输出、状态码或 diff。
- 恢复动作以及恢复后的复查结果。
如果失败原因仍不清楚,每次只修改一个变量;不要同时换端口、运行时、Provider 和代理。
检查生成图是否覆盖目标语言
这一节解决的是“检查生成图是否覆盖目标语言”。先记录当前状态,再执行最小动作,最后用独立证据确认结果。
对 code-review-graph 而言,判断依据是:项目用 Tree-sitter 建立本地结构图,并通过 MCP 缩小代码审查上下文;CI 的关键是增量建图、缓存边界和最小权限。不要在这个阶段顺手打开更多权限。
|
|
执行后保留命令输出和时间戳。若输出依赖当前终端里的临时变量,打开新终端复查一次。
设计 GitHub Actions 的触发条件
按下面顺序处理:
- 读取实际版本和当前配置。
- 只改变与本节相关的一项设置。
- 运行一个只读或可撤销的请求。
- 检查日志、退出码和最终文件。
- 失败时恢复刚才那一项修改。
|
|
这里的完成标准不是界面出现,而是“设计 GitHub Actions 的触发条件”有可重复结果。
缓存键应该绑定哪些文件
| 要检查的内容 | 合格表现 | 需要停止的信号 |
|---|---|---|
| 缓存键应该绑定哪些文件 | 输入和输出范围明确 | 自动扩大到其他项目或账号 |
| 权限 | 只获得完成任务所需权限 | 要求管理员权限或完整密钥 |
| 日志 | 能定位失败且已经脱敏 | 出现 Token、Cookie 或私有正文 |
| 回退 | 能恢复上一步状态 | 修改不可逆且没有备份 |
|
|
表格中的停止信号一旦出现,先撤销本节改动,不要继续后面的自动化。
来自 Fork 的 PR 如何降低权限
围绕“来自 Fork 的 PR 如何降低权限”准备一个成功样本和一个失败样本。成功样本验证正常路径,失败样本验证限制是否真的生效。
|
|
建议记录以下四项:
- 执行前的版本或 Git 提交。
- 实际输入,不记录秘密值。
- 可观察的输出、状态码或 diff。
- 恢复动作以及恢复后的复查结果。
如果失败原因仍不清楚,每次只修改一个变量;不要同时换端口、运行时、Provider 和代理。
图谱失效时退回普通 git diff
这一节解决的是“图谱失效时退回普通 git diff”。先记录当前状态,再执行最小动作,最后用独立证据确认结果。
对 code-review-graph 而言,判断依据是:项目用 Tree-sitter 建立本地结构图,并通过 MCP 缩小代码审查上下文;CI 的关键是增量建图、缓存边界和最小权限。不要在这个阶段顺手打开更多权限。
|
|
执行后保留命令输出和时间戳。若输出依赖当前终端里的临时变量,打开新终端复查一次。
复现本地与 CI 结果差异
按下面顺序处理:
- 读取实际版本和当前配置。
- 只改变与本节相关的一项设置。
- 运行一个只读或可撤销的请求。
- 检查日志、退出码和最终文件。
- 失败时恢复刚才那一项修改。
|
|
这里的完成标准不是界面出现,而是“复现本地与 CI 结果差异”有可重复结果。
升级解析器后重建缓存
| 要检查的内容 | 合格表现 | 需要停止的信号 |
|---|---|---|
| 升级解析器后重建缓存 | 输入和输出范围明确 | 自动扩大到其他项目或账号 |
| 权限 | 只获得完成任务所需权限 | 要求管理员权限或完整密钥 |
| 日志 | 能定位失败且已经脱敏 | 出现 Token、Cookie 或私有正文 |
| 回退 | 能恢复上一步状态 | 修改不可逆且没有备份 |
|
|
表格中的停止信号一旦出现,先撤销本节改动,不要继续后面的自动化。
PR 审查的最终证据应该包含什么
围绕“PR 审查的最终证据应该包含什么”准备一个成功样本和一个失败样本。成功样本验证正常路径,失败样本验证限制是否真的生效。
|
|
建议记录以下四项:
- 执行前的版本或 Git 提交。
- 实际输入,不记录秘密值。
- 可观察的输出、状态码或 diff。
- 恢复动作以及恢复后的复查结果。
如果失败原因仍不清楚,每次只修改一个变量;不要同时换端口、运行时、Provider 和代理。
Monorepo 中缩小建图目录
这一节解决的是“Monorepo 中缩小建图目录”。先记录当前状态,再执行最小动作,最后用独立证据确认结果。
对 code-review-graph 而言,判断依据是:项目用 Tree-sitter 建立本地结构图,并通过 MCP 缩小代码审查上下文;CI 的关键是增量建图、缓存边界和最小权限。不要在这个阶段顺手打开更多权限。
|
|
执行后保留命令输出和时间戳。若输出依赖当前终端里的临时变量,打开新终端复查一次。
定位 Tree-sitter 解析失败的文件
按下面顺序处理:
- 读取实际版本和当前配置。
- 只改变与本节相关的一项设置。
- 运行一个只读或可撤销的请求。
- 检查日志、退出码和最终文件。
- 失败时恢复刚才那一项修改。
|
|
这里的完成标准不是界面出现,而是“定位 Tree-sitter 解析失败的文件”有可重复结果。
把图谱产物与源码版本绑定
| 要检查的内容 | 合格表现 | 需要停止的信号 |
|---|---|---|
| 把图谱产物与源码版本绑定 | 输入和输出范围明确 | 自动扩大到其他项目或账号 |
| 权限 | 只获得完成任务所需权限 | 要求管理员权限或完整密钥 |
| 日志 | 能定位失败且已经脱敏 | 出现 Token、Cookie 或私有正文 |
| 回退 | 能恢复上一步状态 | 修改不可逆且没有备份 |
|
|
表格中的停止信号一旦出现,先撤销本节改动,不要继续后面的自动化。
比较启用图谱前后的上下文开销
围绕“比较启用图谱前后的上下文开销”准备一个成功样本和一个失败样本。成功样本验证正常路径,失败样本验证限制是否真的生效。
|
|
建议记录以下四项:
- 执行前的版本或 Git 提交。
- 实际输入,不记录秘密值。
- 可观察的输出、状态码或 diff。
- 恢复动作以及恢复后的复查结果。
如果失败原因仍不清楚,每次只修改一个变量;不要同时换端口、运行时、Provider 和代理。
code-review-graph 常见问题
是否可以跳过测试环境,直接把 code-review-graph 用到正式项目?
不建议。至少先完成一次最小成功请求、一次故意失败和一次恢复演练。
code-review-graph 命令能运行但结果不对,先查哪里?
先查输入范围、实际生效的配置和上游响应,再查模型总结。进程正常不代表业务结果正确。
如何避免 code-review-graph 的密钥或令牌进入 Git?
使用系统环境变量、Secret 管理或项目外配置文件,并在提交前搜索 diff。发现泄露后必须轮换密钥。
升级 code-review-graph 时最容易漏掉什么?
最容易漏掉配置格式、默认监听地址、权限范围和缓存兼容性。升级前保存版本与验证样本。
code-review-graph 验收问题
完成后应能回答下面的问题:
- 使用的是哪个确切版本?
- 哪些目录、端口、账号和外部服务可被访问?
- 成功结果如何回到原始数据或 Git diff?
- 上游失败时会报错、重试还是切换?
- 密钥是否可能出现在日志或历史记录?
- 如何在十分钟内回到修改前状态?
如果其中任何一项无法回答,code-review-graph 仍处于试用状态,不应扩大权限或接入生产自动化。