跳转到主要内容

为 Claude Code 设置代码审查

代码审查分析您的 GitHub pull request,并在发现问题的代码行上发布内联注释。一组专门的代理在完整代码库的上下文中检查代码更改,查找逻辑错误、安全漏洞、损坏的边界情况和回归。

本文介绍如何启用代码审查、配置审查触发器、自定义标记内容以及排查常见设置问题。

注意:代码审查处于研究预览阶段,仅在 Team 和 Enterprise 计划中可用。对于启用了零数据保留的组织,该功能不可用。代码审查使用量通过使用额度单独计费,不计入您计划的包含使用量。


代码审查的工作原理

组织启用代码审查后,可以在 pull request 打开时、每次推送时或仅在有人手动请求审查时自动触发。审查运行时,多个代理并行分析差异和周围代码。每个代理查找不同类别的问题,然后验证步骤根据实际代码行为检查结果,以过滤掉误报。

发现结果被去重、按严重程度排序,并作为内联注释发布在发现问题的特定行上。如果未发现问题,Claude 会在 PR 上发布简短的确认注释。审查不会批准或阻止您的 PR,因此现有审查工作流保持不变。

审查成本随 PR 大小和复杂性而增加,平均完成时间为 20 分钟。

严重程度级别

每个发现结果都标记有严重程度级别:

标记

严重程度

含义

🔴

正常

应在合并前修复的错误

🟡

小问题

值得修复但不阻止的小问题

🟣

已存在

代码库中存在但不是由此 PR 引入的错误

发现结果包括可折叠的扩展推理部分,您可以展开查看 Claude 为什么标记该问题以及如何验证问题。

代码审查检查的内容

默认情况下,代码审查专注于正确性:会破坏生产的错误,而不是格式偏好或缺失的测试覆盖。您可以通过向存储库添加指导文件来扩展其检查范围。


设置代码审查

下面的步骤涵盖 github.com 上的存储库设置。如果您的存储库在自托管的 GitHub Enterprise Server (GHES) 实例上,请参阅 Claude Code 与 GitHub Enterprise Server 了解完整设置指南。

Team 和 Enterprise 计划的所有者和主要所有者可以为组织启用一次代码审查,并选择要包含的存储库。除了在 Claude 组织内拥有所有者角色外,您还需要在 GitHub 组织中安装 GitHub App 的权限。

  1. 转到 组织设置 > Claude Code 并找到 代码审查 部分。

  2. 点击"配置"开始 GitHub App 安装流程。

  3. 按照提示将 Claude GitHub App 安装到您的 GitHub 组织。该应用请求对内容、问题和 pull request 的读写权限。

  4. 选择要为代码审查启用的存储库。如果您看不到某个存储库,请确认在安装期间为 Claude GitHub App 提供了对其的访问权限。

  5. 使用 审查行为 下拉菜单为每个存储库设置审查触发器(有关每个选项的详细信息,请参阅下一部分)。

要验证设置,请打开测试 PR。如果您选择了自动触发器,名为 Claude Code Review 的检查运行应在几分钟内出现。如果您选择了手动,请在 PR 上评论"@claude review"以开始第一次审查。


选择审查触发器

设置后,代码审查 部分在表格中显示您的存储库。对于每个存储库,选择审查运行的时间:

  • PR 创建后一次:当 PR 打开或标记为准备审查时,审查运行一次。

  • 每次推送后:审查在每次推送到 PR 分支时运行,在 PR 演变时捕获新问题。当您修复之前标记的问题时,Claude 会自动解决线程。这会运行最多的审查,成本也最高。

  • 手动:仅当有人在 PR 上评论"@claude review"时才开始审查。适用于高流量存储库,您可以选择要审查的 PR。

存储库表还显示每个存储库基于最近活动的平均审查成本。


手动触发审查

在 pull request 上评论"@claude review"以开始审查,并将该 PR 选择加入后续的推送触发审查。无论存储库的配置触发器如何,这都有效。

要使评论触发审查:

  • 将其作为顶级 PR 评论发布,而不是差异行上的内联评论。

  • 在评论的开头放置"@claude review"。

  • 您必须对存储库具有所有者、成员或协作者访问权限。

  • PR 必须打开且不是草稿。

如果审查已在运行,请求将排队等待进行中的审查完成。


自定义审查

代码审查从您的存储库中读取两个文件来指导其标记内容。两者都是在默认正确性检查的基础上进行的补充。

CLAUDE.md

代码审查读取您的存储库的 CLAUDE.md 文件,并将新引入的违规视为细微级别的发现。如果您的 PR 以使 CLAUDE.md 语句过时的方式更改代码,Claude 会标记文档也需要更新。

Claude 在您目录层次结构的每个级别读取 CLAUDE.md 文件,因此子目录的 CLAUDE.md 中的规则仅适用于该路径下的文件。

REVIEW.md

在您的存储库根目录添加 REVIEW.md 文件以获取特定于审查的规则。使用它来编码:

  • 公司或团队风格指南

  • linter 未涵盖的特定于语言或框架的约定

  • Claude 应始终标记的内容(例如,"任何新的 API 路由必须有集成测试")

  • Claude 应跳过的内容(例如,"不要对生成的代码进行评论")

Claude 在存储库根目录自动发现 REVIEW.md。无需配置。


定价和使用情况

代码审查根据令牌使用情况计费。每次审查的平均成本为 $15–25,根据 PR 大小、代码库复杂性和需要验证的问题数量而变化。

代码审查使用情况通过使用额度单独计费,不计入您计划的包含使用情况。您选择的审查触发器会影响总成本:

  • 在 PR 创建后一次每个 PR 运行一次。

  • 每次推送后在每次推送时运行,将成本乘以推送次数。

  • 手动在有人评论"@claude review"之前不产生成本。在该评论之后,对 PR 的其他推送会自动触发审查。

无论您的组织是否为其他 Claude 代码功能使用 AWS Bedrock 或 Google Vertex AI,成本都会显示在您的 Anthropic 账单上。

要设置每月支出上限,请转到 组织设置 > 使用情况并为 Claude 代码审查服务配置限制。

通过分析仪表板中的每周成本图表或管理员设置中的每个存储库平均成本列来监控支出。

查看使用情况

转到 代码审查分析仪表板查看您的组织中的活动。仪表板显示:

  • 审查的 PR:在选定时间范围内审查的拉取请求的每日计数。

  • 每周成本:代码审查的每周支出。

  • 反馈:因有人解决问题而自动解决的审查评论计数。

  • 存储库分解:每个存储库的审查 PR 计数和已解决评论。


故障排除

安装 GitHub App 后存储库未出现

如果您已安装 Claude GitHub App 但您的存储库未出现在管理面板中:

  1. 确认 Claude GitHub App 有权访问您期望的存储库。转到您的 GitHub 组织设置,在 已安装的 GitHub App 下找到 Claude GitHub App,并检查它是否有权访问所有存储库或仅选定的存储库。

  2. 如果您的组织使用带有企业托管用户 (EMU) 的 GitHub Enterprise Cloud,请确保 Claude GitHub OAuth App 在企业级别获得授权。EMU 企业可以限制哪些 OAuth 应用被批准,Claude 应用必须被明确允许。

  3. 尝试断开并重新连接 GitHub 集成。转到 组织设置 > Claude 代码,删除存储库配置,然后重新运行设置。

  4. 如果问题仍然存在,请 联系我们的支持团队,提供您的组织名称和 GitHub 组织名称,以便我们进行调查。

代码审查不在新 PR 上启动

如果打开 PR 后未出现检查运行:

  • 确认存储库已列出并在您的管理员设置中启用。

  • 检查审查触发器设置。如果设置为"手动",您需要在 PR 上评论"@claude review"以启动审查。

  • 确保 PR 不是草稿。代码审查不在草稿 PR 上运行。

  • 验证 Claude GitHub App 在您的 GitHub 组织设置中仍然有权访问存储库。

GitHub Enterprise Cloud 与 IP 限制

如果您的 GitHub Enterprise Cloud 组织按 IP 地址限制访问,Claude GitHub App 可能无法访问您的存储库。要解决此问题,请在您的 GitHub 企业设置中 为已安装的 GitHub App 启用 IP 允许列表继承。Claude GitHub App 注册其 IP 范围,因此启用此设置允许访问而无需手动配置。要 改为手动将范围添加到您的允许列表,或配置其他防火墙,请参阅 Anthropic API IP 地址

GitHub Enterprise Server(自托管)

自托管 GitHub Enterprise Server (GHES) 通过单独的设置流程得到支持。有关完整说明,请参阅 Claude Code with GitHub Enterprise Server

常见 GHES 设置问题:

  • "Public cannot be private"错误在设置期间:您的 GHES 主机名必须解析为可公开路由的 IP 地址。代码审查通过互联网访问您的服务器,因此内部或专用网络地址不起作用。更新 DNS 或您的网络配置,使主机名解析为公共 IP,然后重试。

  • GitHub Enterprise Cloud with Data Residency 是一个不同的产品。数据驻留租户(主机名匹配 *.ghe.com)不受代码审查支持。仅支持自托管 GitHub Enterprise Server 和标准 github.com 存储库。


常见问题

创建自定义角色时代码审查是否可用?

不,代码审查目前不可用于添加到 自定义角色


相关资源

  • 插件 — 浏览插件市场,包括代码审查插件,可在推送前在本地运行按需审查。

  • GitHub Actions — 在您自己的 GitHub Actions 工作流中运行 Claude,实现代码审查之外的自定义自动化。

  • GitLab CI/CD — GitLab 管道的自托管 Claude 集成。

这是否解答了您的问题?