code-review-graph 接入 GitHub Actions:增量建图、PR 审查与缓存排错

code-review-graph 接入 GitHub Actions:增量建图、PR 审查与缓存排错,覆盖配置、验证、权限边界、故障回退和长期维护。

code-review-graph 的这个教程只处理标题中的具体任务。项目用 Tree-sitter 建立本地结构图,并通过 MCP 缩小代码审查上下文;CI 的关键是增量建图、缓存边界和最小权限。

下面所有操作都先放在测试仓库、测试账号或仅回环监听的服务中。命令中的域名、用户名、路径与密钥是占位符,执行前需要替换。

PR 审查为什么需要持久化代码图

这一节解决的是“PR 审查为什么需要持久化代码图”。先记录当前状态,再执行最小动作,最后用独立证据确认结果。

对 code-review-graph 而言,判断依据是:项目用 Tree-sitter 建立本地结构图,并通过 MCP 缩小代码审查上下文;CI 的关键是增量建图、缓存边界和最小权限。不要在这个阶段顺手打开更多权限。

1
2
python --version
pipx --version

执行后保留命令输出和时间戳。若输出依赖当前终端里的临时变量,打开新终端复查一次。

Python 3.10 与 pipx 环境准备

按下面顺序处理:

  1. 读取实际版本和当前配置。
  2. 只改变与本节相关的一项设置。
  3. 运行一个只读或可撤销的请求。
  4. 检查日志、退出码和最终文件。
  5. 失败时恢复刚才那一项修改。
1
pipx install code-review-graph

这里的完成标准不是界面出现,而是“Python 3.10 与 pipx 环境准备”有可重复结果。

首次 build 要在什么目录执行

要检查的内容 合格表现 需要停止的信号
首次 build 要在什么目录执行 输入和输出范围明确 自动扩大到其他项目或账号
权限 只获得完成任务所需权限 要求管理员权限或完整密钥
日志 能定位失败且已经脱敏 出现 Token、Cookie 或私有正文
回退 能恢复上一步状态 修改不可逆且没有备份
1
code-review-graph build

表格中的停止信号一旦出现,先撤销本节改动,不要继续后面的自动化。

只为 Codex 安装 MCP 配置

围绕“只为 Codex 安装 MCP 配置”准备一个成功样本和一个失败样本。成功样本验证正常路径,失败样本验证限制是否真的生效。

1
code-review-graph install --platform codex

建议记录以下四项:

  • 执行前的版本或 Git 提交。
  • 实际输入,不记录秘密值。
  • 可观察的输出、状态码或 diff。
  • 恢复动作以及恢复后的复查结果。

如果失败原因仍不清楚,每次只修改一个变量;不要同时换端口、运行时、Provider 和代理。

检查生成图是否覆盖目标语言

这一节解决的是“检查生成图是否覆盖目标语言”。先记录当前状态,再执行最小动作,最后用独立证据确认结果。

对 code-review-graph 而言,判断依据是:项目用 Tree-sitter 建立本地结构图,并通过 MCP 缩小代码审查上下文;CI 的关键是增量建图、缓存边界和最小权限。不要在这个阶段顺手打开更多权限。

1
code-review-graph build

执行后保留命令输出和时间戳。若输出依赖当前终端里的临时变量,打开新终端复查一次。

设计 GitHub Actions 的触发条件

按下面顺序处理:

  1. 读取实际版本和当前配置。
  2. 只改变与本节相关的一项设置。
  3. 运行一个只读或可撤销的请求。
  4. 检查日志、退出码和最终文件。
  5. 失败时恢复刚才那一项修改。
1
git diff --name-only origin/main...HEAD

这里的完成标准不是界面出现,而是“设计 GitHub Actions 的触发条件”有可重复结果。

缓存键应该绑定哪些文件

要检查的内容 合格表现 需要停止的信号
缓存键应该绑定哪些文件 输入和输出范围明确 自动扩大到其他项目或账号
权限 只获得完成任务所需权限 要求管理员权限或完整密钥
日志 能定位失败且已经脱敏 出现 Token、Cookie 或私有正文
回退 能恢复上一步状态 修改不可逆且没有备份
1
git rev-parse HEAD

表格中的停止信号一旦出现,先撤销本节改动,不要继续后面的自动化。

来自 Fork 的 PR 如何降低权限

围绕“来自 Fork 的 PR 如何降低权限”准备一个成功样本和一个失败样本。成功样本验证正常路径,失败样本验证限制是否真的生效。

1
git status --short

建议记录以下四项:

  • 执行前的版本或 Git 提交。
  • 实际输入,不记录秘密值。
  • 可观察的输出、状态码或 diff。
  • 恢复动作以及恢复后的复查结果。

如果失败原因仍不清楚,每次只修改一个变量;不要同时换端口、运行时、Provider 和代理。

图谱失效时退回普通 git diff

这一节解决的是“图谱失效时退回普通 git diff”。先记录当前状态,再执行最小动作,最后用独立证据确认结果。

对 code-review-graph 而言,判断依据是:项目用 Tree-sitter 建立本地结构图,并通过 MCP 缩小代码审查上下文;CI 的关键是增量建图、缓存边界和最小权限。不要在这个阶段顺手打开更多权限。

1
git diff --stat origin/main...HEAD

执行后保留命令输出和时间戳。若输出依赖当前终端里的临时变量,打开新终端复查一次。

复现本地与 CI 结果差异

按下面顺序处理:

  1. 读取实际版本和当前配置。
  2. 只改变与本节相关的一项设置。
  3. 运行一个只读或可撤销的请求。
  4. 检查日志、退出码和最终文件。
  5. 失败时恢复刚才那一项修改。
1
code-review-graph build

这里的完成标准不是界面出现,而是“复现本地与 CI 结果差异”有可重复结果。

升级解析器后重建缓存

要检查的内容 合格表现 需要停止的信号
升级解析器后重建缓存 输入和输出范围明确 自动扩大到其他项目或账号
权限 只获得完成任务所需权限 要求管理员权限或完整密钥
日志 能定位失败且已经脱敏 出现 Token、Cookie 或私有正文
回退 能恢复上一步状态 修改不可逆且没有备份
1
2
pipx upgrade code-review-graph
code-review-graph build

表格中的停止信号一旦出现,先撤销本节改动,不要继续后面的自动化。

PR 审查的最终证据应该包含什么

围绕“PR 审查的最终证据应该包含什么”准备一个成功样本和一个失败样本。成功样本验证正常路径,失败样本验证限制是否真的生效。

1
git diff --check

建议记录以下四项:

  • 执行前的版本或 Git 提交。
  • 实际输入,不记录秘密值。
  • 可观察的输出、状态码或 diff。
  • 恢复动作以及恢复后的复查结果。

如果失败原因仍不清楚,每次只修改一个变量;不要同时换端口、运行时、Provider 和代理。

Monorepo 中缩小建图目录

这一节解决的是“Monorepo 中缩小建图目录”。先记录当前状态,再执行最小动作,最后用独立证据确认结果。

对 code-review-graph 而言,判断依据是:项目用 Tree-sitter 建立本地结构图,并通过 MCP 缩小代码审查上下文;CI 的关键是增量建图、缓存边界和最小权限。不要在这个阶段顺手打开更多权限。

1
git diff --name-only origin/main...HEAD

执行后保留命令输出和时间戳。若输出依赖当前终端里的临时变量,打开新终端复查一次。

定位 Tree-sitter 解析失败的文件

按下面顺序处理:

  1. 读取实际版本和当前配置。
  2. 只改变与本节相关的一项设置。
  3. 运行一个只读或可撤销的请求。
  4. 检查日志、退出码和最终文件。
  5. 失败时恢复刚才那一项修改。
1
code-review-graph build

这里的完成标准不是界面出现,而是“定位 Tree-sitter 解析失败的文件”有可重复结果。

把图谱产物与源码版本绑定

要检查的内容 合格表现 需要停止的信号
把图谱产物与源码版本绑定 输入和输出范围明确 自动扩大到其他项目或账号
权限 只获得完成任务所需权限 要求管理员权限或完整密钥
日志 能定位失败且已经脱敏 出现 Token、Cookie 或私有正文
回退 能恢复上一步状态 修改不可逆且没有备份
1
git rev-parse HEAD

表格中的停止信号一旦出现,先撤销本节改动,不要继续后面的自动化。

比较启用图谱前后的上下文开销

围绕“比较启用图谱前后的上下文开销”准备一个成功样本和一个失败样本。成功样本验证正常路径,失败样本验证限制是否真的生效。

1
git diff --stat origin/main...HEAD

建议记录以下四项:

  • 执行前的版本或 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 仍处于试用状态,不应扩大权限或接入生产自动化。