Skip to main content
Code Review 是一项托管服务,由您的 Claude 组织中的 Owner 为一组 GitHub 仓库启用。启用后,Claude 会审查这些仓库中的 Pull Request,并将其发现以内联评论、审查正文中的摘要以及名为 Claude Code Review 的检查运行的形式发布。审查永远不会批准或阻止您的 Pull Request,检查运行也永远不会以失败结束。 Owner 可以为每个仓库控制审查何时运行以及审查的详尽程度。
如果您的套餐不包含 Code Review,您仍然可以在 Claude Code 会话中让 Claude 审查您的分支:请参阅使用 /code-review 在本地审查。

严重程度级别

Claude 将每个发现作为内联评论发布在相关代码行上,并用以下三种严重程度级别之一进行标记: 如果审查记录了其推理过程,该发现会带有一个折叠的 Why this was flagged 部分。展开它即可了解 Claude 为何标记该问题以及如何验证该问题。 要更改 Claude 在您的仓库中标记的内容或其对严重程度的判定方式,请参阅自定义 Code Review。

回应发现

除非您的仓库自身规则有要求,否则您无需回应发现即可合并。如果仓库的分支保护要求解决对话,请在合并前解决每个发现的讨论串。 要清除某个发现,请解决其讨论串或推送修复。
  • 不修改代码直接忽略:在 GitHub 上自行解决该讨论串。仅回复并不会忽略发现。
  • 修复问题:修改代码并推送。当下一次对该 Pull Request 的审查判断问题已修复时,会解决之前的讨论串,无论该审查是在您推送时自动运行还是由您请求的。
  • 解释或提出异议:回复该评论。Claude 不会立即回复,回复也不会启动审查。下一次对该 Pull Request 的审查会读取对其之前发现的回复,并可以解决该讨论串或发布一条后续回复。如果同类发现反复出现,请让维护者在 REVIEW.md 中添加规则。
要在不推送的情况下获得下一次审查,请以顶层 Pull Request 评论的形式发表 @claude review。

检查运行输出

Claude Code Review 检查运行上的 Details 链接会在一个按严重程度排序的表格中打开所有发现,包括 GitHub 未接受其行内评论的发现: 对于有对应行号但未作为行内评论发布的发现,会以注释的形式显示在 Files changed 标签页中的相关行上。Important 发现显示为红色,nit 显示为黄色,已存在的 bug 显示为灰色。 检查运行的结论为 neutral;如果因推送未更改任何文件而未运行自动审查,则结论为 skipped。它的结论永远不会是 failure,因此已完成的审查不会导致必需检查失败。如果您没有看到发现,或者审查未运行,请参阅排查 Code Review 问题。

通过脚本读取结果

要在您自己的 CI 中控制合并或发布摘要,请使用 gh 和 jq 解析 Details 文本的最后一行。该行是一条机器可读的注释。
1

查找检查运行 ID

在您的 shell 中,列出该提交的检查运行,并获取 Claude Code Review 运行的 id。将 OWNER 和 REPO 替换为您的仓库所有者和名称,将 <commit-sha> 替换为 Pull Request 的头部提交:
2

读取严重程度计数

从该检查运行中读取计数,将 CHECK_RUN_ID 替换为该 ID:
这会输出一个 JSON 对象,其中包含每种严重程度的计数,键按字母顺序排列,例如 {"nit": 1, "normal": 2, "pre_existing": 0}。计数包括该 Pull Request 早期审查中讨论串仍处于打开状态的发现。
3

根据结果采取行动

让您的脚本处理以下情况:
  • normal 大于零:如果您希望控制合并,请让作业失败。normal 键保存的是 Important 发现的数量,这意味着 Claude 至少发现了一个值得在合并前修复的 bug。
  • 该行缺失:将其视为没有结论,而不是零个发现。对于失败、超时、被取消或被更新审查取代的审查,其检查运行中没有此行,某些已完成的审查也没有此行。

请求审查

如果您的 Pull Request 是草稿或来自 fork,自动审查会跳过它,因此请使用评论命令请求审查。要让您的 Pull Request 获得审查,请执行以下操作之一:
  • 打开或标记为就绪:在设置为 Once after PR creation 或 After every push 的仓库中,当您打开或重新打开 Pull Request,或将草稿标记为可供审查时,会启动审查。
  • 发表命令评论:在 Pull Request 上发布 @claude review。
  • 推送提交:在设置为 After every push 的仓库中,或在您使用 @claude review always 订阅的 Pull Request 上,推送会启动审查。
  • 点击 Re-run:在非 fork 的 Pull Request 上审查失败或超时后,从检查运行中再次运行。
  • 等待自动重试:会话中断的审查会自动重试一次。检查运行的摘要会显示何时正在进行重试。

评论命令

在 Pull Request 上以评论形式发布以下命令之一: 要让这些命令中的任何一个启动审查,必须满足以下所有条件:
  • 将其作为新的顶层 Pull Request 评论发布,而不是 diff 行上的内联评论,也不是审查的正文。编辑之前的评论不算数。
  • 将命令放在评论开头,并且 always 需与命令的其余部分位于同一行。大小写无关紧要。
  • 您需要拥有该仓库的 write、maintain 或 admin 权限。Claude 会向 GitHub 核实每位评论者的权限,来自 bot 的评论不会启动审查。
  • Pull Request 必须处于打开状态。
命令被接受后,Pull Request 上会出现一个标题为 Code review queued… 的 Claude Code Review 检查运行。审查开始时,标题会变为 Code review in progress…。Claude 也可能会用 👀 回应您的评论,但即使没有启动审查,该回应也可能出现,因此请以检查运行为准。 如果 Pull Request 的最新提交上已有审查正在运行,新的请求不会启动第二次审查。
在 2026 年 7 月的更新之前,@claude review 会为 PR 订阅由推送触发的审查。如果您依赖该行为,请改为评论 @claude review always。

后续审查涵盖的内容

自行启动的后续审查(例如推送后)会侧重于自上次审查以来的更改,并发布较少的 nit 和已存在问题的发现。其摘要会统计被省略的内容,相应行以 “found and not posted” 或 “outside the scope of this re-review and not posted.” 结尾。 要获得不省略任何这些内容的审查,请评论 @claude review。它会再次涵盖整个 Pull Request。

审查草稿和来自 fork 的 Pull Request

自动审查会跳过这两种情况,因此请使用评论命令请求审查:
  • 草稿 Pull Request:评论命令可以在草稿上运行,因此您可以在将 Pull Request 标记为就绪之前请求审查。即使使用了 @claude review always,推送到草稿也不会启动审查。订阅会在您将 Pull Request 标记为就绪后生效。
  • 来自 fork 的 Pull Request:无论仓库的 Review runs 设置如何,Claude 都不会自动审查来自 fork 的 Pull Request。要启动审查,请在 Pull Request 上评论 @claude review。评论命令的条件仍然适用,并且您需要的是对基础仓库而非 fork 的写入权限。
在来自 fork 的 Pull Request 上,@claude review always 同样有效,但不会为该 Pull Request 订阅后续推送的审查。在那里点击检查运行上的 Re-run 不会启动审查。

将 Code Review 与 Claude Code GitHub Action 一起使用

如果仓库还以交互模式运行 Claude Code GitHub Action,并使用其默认的 @claude 触发短语,那么 @claude review 评论也会启动该 Action。要将两者区分开,请将该 Action 的 trigger_phrase 输入设置为其他短语。