12 12
13> [!NOTE]13> [!NOTE]
14>14>
15> 如需在 GitHub 上自动审查仓库中的每个 Pull Request,请参阅 [Code Review](/docs/zh-CN/code-review.md),这是一项由 Owner 为您的组织启用的托管服务。15> 如需在 GitHub 上自动审查仓库中的每个 Pull Request,请参阅 [Code Review](https://code.claude.com/docs/zh-CN/code-review.md),这是一项由 Owner 为您的组织启用的托管服务。
16 16
17`/review` 是 `/code-review` 的别名。在 v2.1.223 之前,`/review` 是一个单独的命令,对 GitHub Pull Request 执行单次、只读的审查。17`/review` 是 `/code-review` 的别名。在 v2.1.223 之前,`/review` 是一个单独的命令,对 GitHub Pull Request 执行单次、只读的审查。
18 18
28 28
29您还可以添加标志:29您还可以添加标志:
30 30
31* `--fix`:在审查后还要求 Claude 将发现的问题修复应用到您的工作树。其编辑会经过您的[权限模式](/docs/zh-CN/permission-modes.md)。31* `--fix`:在审查后还要求 Claude 将发现的问题修复应用到您的工作树。其编辑会经过您的[权限模式](https://code.claude.com/docs/zh-CN/permission-modes.md)。
32* `--comment`:将发现的问题以行内评论形式发布到 GitHub Pull Request 上,或以单条备注形式发布到 [GitLab 合并请求](#post-findings-to-a-gitlab-merge-request)上32* `--comment`:将发现的问题以行内评论形式发布到 GitHub Pull Request 上,或以单条备注形式发布到 [GitLab 合并请求](#post-findings-to-a-gitlab-merge-request)上
33 33
34**2. 继续工作**34**2. 继续工作**
35 35
36审查作为后台[子代理](/docs/zh-CN/sub-agents.md)运行,拥有自己的上下文窗口,因此不会占满您的对话。审查完成后,发现的问题会出现在您的对话中。36审查作为后台[子代理](https://code.claude.com/docs/zh-CN/sub-agents.md)运行,拥有自己的上下文窗口,因此不会占满您的对话。审查完成后,发现的问题会出现在您的对话中。
37 37
38**3. 处理发现的问题**38**3. 处理发现的问题**
39 39
61在运行审查之前,尤其是使用 `--fix` 时,请检查以下内容:61在运行审查之前,尤其是使用 `--fix` 时,请检查以下内容:
62 62
63* **编辑**:不使用 `--fix` 时,审查的指令仅要求 Claude 提供报告。使用 `--fix` 时,还会要求它将发现的问题修复应用到您的工作树。无论哪种情况,任何编辑都会经过您的权限模式。63* **编辑**:不使用 `--fix` 时,审查的指令仅要求 Claude 提供报告。使用 `--fix` 时,还会要求它将发现的问题修复应用到您的工作树。无论哪种情况,任何编辑都会经过您的权限模式。
64* **回退**:后台审查在会话的[检查点](/docs/zh-CN/checkpointing.md#subagent-edits-not-restored)之外应用其 `--fix` 编辑。在此之后,`/rewind` 只会恢复 Claude 此前已在您的对话中编辑过的文件。审查对其他文件的编辑会保留,因此请使用 git 撤销这些编辑。当审查[在前台运行](#run-in-the-foreground)时,它会在您自己的轮次中编辑工作树,因此 `/rewind` 会照常恢复其编辑。64* **回退**:后台审查在会话的[检查点](https://code.claude.com/docs/zh-CN/checkpointing.md#subagent-edits-not-restored)之外应用其 `--fix` 编辑。在此之后,`/rewind` 只会恢复 Claude 此前已在您的对话中编辑过的文件。审查对其他文件的编辑会保留,因此请使用 git 撤销这些编辑。当审查[在前台运行](#run-in-the-foreground)时,它会在您自己的轮次中编辑工作树,因此 `/rewind` 会照常恢复其编辑。
65* **指令**:审查会遵循您的 `CLAUDE.md`,包括在非交互的 `-p` 运行中。它不会读取 `REVIEW.md`。该文件用于配置 GitHub Pull Request 上的托管 [Code Review 服务](/docs/zh-CN/code-review-customize.md#use-review-md-for-review-only-rules)。65* **指令**:审查会遵循您的 `CLAUDE.md`,包括在非交互的 `-p` 运行中。它不会读取 `REVIEW.md`。该文件用于配置 GitHub Pull Request 上的托管 [Code Review 服务](https://code.claude.com/docs/zh-CN/code-review-customize.md#use-review-md-for-review-only-rules)。
66 66
67## 如何报告发现的问题67## 如何报告发现的问题
68 68
69在以下两种运行中,Claude 都会在回复中以文本形式报告发现的问题:69在以下两种运行中,Claude 都会在回复中以文本形式报告发现的问题:
70 70
71* 在终端会话中,`/code-review` 以[分叉子代理](/docs/zh-CN/skills.md#run-skills-in-a-subagent)的形式运行审查71* 在终端会话中,`/code-review` 以[分叉子代理](https://code.claude.com/docs/zh-CN/skills.md#run-skills-in-a-subagent)的形式运行审查
72* 在输出为文本或 JSON 的 `-p` 运行中72* 在输出为文本或 JSON 的 `-p` 运行中
73 73
74在请求发现列表的宿主应用程序(例如[桌面应用](/docs/zh-CN/desktop.md#review-your-code))中,Claude 会改为通过 [`ReportFindings` 工具](/docs/zh-CN/tools-reference)报告审查发现的问题。报告以发现列表的形式显示,每个条目会显示文件位置、一句话摘要,以及类别标签(例如 `correctness`,如果该问题带有类别)。宿主请求适用于所有 effort 级别,需要 Claude Code v2.1.218 或更高版本。74在请求发现列表的宿主应用程序(例如[桌面应用](https://code.claude.com/docs/zh-CN/desktop.md#review-your-code))中,Claude 会改为通过 [`ReportFindings` 工具](https://code.claude.com/docs/zh-CN/tools-reference)报告审查发现的问题。报告以发现列表的形式显示,每个条目会显示文件位置、一句话摘要,以及类别标签(例如 `correctness`,如果该问题带有类别)。宿主请求适用于所有 effort 级别,需要 Claude Code v2.1.218 或更高版本。
75 75
76当 Claude 在会话后续修复已报告的问题时,会再次报告这些问题。Claude Code 随后会在更新后的发现列表中将每个问题标记为已修复、已跳过或无需更改。76当 Claude 在会话后续修复已报告的问题时,会再次报告这些问题。Claude Code 随后会在更新后的发现列表中将每个问题标记为已修复、已跳过或无需更改。
77 77
79 79
80除了 `--fix` 和 `--comment` 之外,该命令还接受以下标志:80除了 `--fix` 和 `--comment` 之外,该命令还接受以下标志:
81 81
82* `--post`:在对 `github.com` Pull Request 进行 `ultra` 云端审查时,在启动对话框中预先选择将最终发现的问题发布到 PR。请参阅[将发现的问题发布到 Pull Request](/docs/zh-CN/ultrareview.md#post-findings-to-the-pull-request)。需要 Claude Code v2.1.227 或更高版本。82* `--post`:在对 `github.com` Pull Request 进行 `ultra` 云端审查时,在启动对话框中预先选择将最终发现的问题发布到 PR。请参阅[将发现的问题发布到 Pull Request](https://code.claude.com/docs/zh-CN/ultrareview.md#post-findings-to-the-pull-request)。需要 Claude Code v2.1.227 或更高版本。
83* `--max-findings <n>`、`--max-findings all` 或 `--max-findings default`:最多报告 `n` 个发现的问题,或使用 `all` 报告所有发现的问题,以替代审查的常规上限。当审查通过发现工具报告时,上限为 32。之后的审查会沿用您输入的值,直到您传入 `--max-findings default`,但在非交互的 `-p` 运行中传入的值不会被记住。需要 Claude Code v2.1.288 或更高版本。83* `--max-findings <n>`、`--max-findings all` 或 `--max-findings default`:最多报告 `n` 个发现的问题,或使用 `all` 报告所有发现的问题,以替代审查的常规上限。当审查通过发现工具报告时,上限为 32。之后的审查会沿用您输入的值,直到您传入 `--max-findings default`,但在非交互的 `-p` 运行中传入的值不会被记住。需要 Claude Code v2.1.288 或更高版本。
84 84
85传入 [effort 级别](/docs/zh-CN/model-config.md#adjust-effort-level)以在覆盖范围和置信度之间进行权衡。在 `low` 级别,审查会报告它最有把握的问题,因此您看到的误报更少。从 `medium` 到 `max`,审查会扩大覆盖范围。85传入 [effort 级别](https://code.claude.com/docs/zh-CN/model-config.md#adjust-effort-level)以在覆盖范围和置信度之间进行权衡。在 `low` 级别,审查会报告它最有把握的问题,因此您看到的误报更少。从 `medium` 到 `max`,审查会扩大覆盖范围。
86 86
87如果您不输入级别,审查会沿用您上次输入的 `low` 到 `max` 之间的级别,即使是在之前的会话中输入的。Claude Code 会显示类似 `Reusing high effort, the level you typed last time` 的提示。以下规则决定一次运行使用哪个级别:87如果您不输入级别,审查会沿用您上次输入的 `low` 到 `max` 之间的级别,即使是在之前的会话中输入的。Claude Code 会显示类似 `Reusing high effort, the level you typed last time` 的提示。以下规则决定一次运行使用哪个级别:
88 88
103 103
104在 effort 级别和标志之后,Claude Code 会将该行的其余部分读取为审查目标。`ultra` 参数会改变这种解读方式:104在 effort 级别和标志之后,Claude Code 会将该行的其余部分读取为审查目标。`ultra` 参数会改变这种解读方式:
105 105
106* **使用 `ultra` 时**:Claude Code 会将单个单词读取为基础分支或 PR 编号。未指明分支或 PR 的较长文本会成为[附加到审查的备注](/docs/zh-CN/ultrareview.md#pass-a-request-in-plain-words)。`/code-review ultra check my auth changes` 会审查您的当前分支,Claude 会将发现的问题与您的备注关联起来。106* **使用 `ultra` 时**:Claude Code 会将单个单词读取为基础分支或 PR 编号。未指明分支或 PR 的较长文本会成为[附加到审查的备注](https://code.claude.com/docs/zh-CN/ultrareview.md#pass-a-request-in-plain-words)。`/code-review ultra check my auth changes` 会审查您的当前分支,Claude 会将发现的问题与您的备注关联起来。
107* **不使用 `ultra` 时**:剩余的所有内容都是审查目标,即使它以另一个命令名称开头。`/code-review /fix-issue 123` 会以 `/fix-issue 123` 作为目标文本进行审查,而不是将 `/fix-issue` 作为第二个[叠加的 skill](/docs/zh-CN/skills.md#stack-several-skills-in-one-message) 加载。在 v2.1.218 之前,叠加在 `/code-review` 之后的命令会作为其自身的 skill 展开。107* **不使用 `ultra` 时**:剩余的所有内容都是审查目标,即使它以另一个命令名称开头。`/code-review /fix-issue 123` 会以 `/fix-issue 123` 作为目标文本进行审查,而不是将 `/fix-issue` 作为第二个[叠加的 skill](https://code.claude.com/docs/zh-CN/skills.md#stack-several-skills-in-one-message) 加载。在 v2.1.218 之前,叠加在 `/code-review` 之后的命令会作为其自身的 skill 展开。
108 108
109## 在前台运行109## 在前台运行
110 110
111如需让审查在前台运行,请执行以下操作之一:111如需让审查在前台运行,请执行以下操作之一:
112 112
113* 在非交互模式下运行,使用 `-p` 标志或 Agent SDK。Claude Code 会等待审查完成,并在响应中包含发现的问题,但 `ultra` 除外,它[不会等待云端审查](/docs/zh-CN/ultrareview.md#run-ultrareview-non-interactively)。113* 在非交互模式下运行,使用 `-p` 标志或 Agent SDK。Claude Code 会等待审查完成,并在响应中包含发现的问题,但 `ultra` 除外,它[不会等待云端审查](https://code.claude.com/docs/zh-CN/ultrareview.md#run-ultrareview-non-interactively)。
114* 将 [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/zh-CN/env-vars) 设置为 `1`,这也会关闭所有其他后台任务功能114* 将 [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/zh-CN/env-vars) 设置为 `1`,这也会关闭其他后台任务功能
115* 在之前的审查仍在进行时再次运行 `/code-review`115* 在之前的审查仍在进行时再次运行 `/code-review`
116 116
117在 v2.1.218 之前,审查在您的对话内部运行。117在 v2.1.218 之前,审查在您的对话内部运行。
121Claude 可以自行启动 `/code-review`,无需您输入命令:121Claude 可以自行启动 `/code-review`,无需您输入命令:
122 122
123* **当您用自然语言提出请求时**:请 Claude 审查您的变更,它就可以运行该 skill123* **当您用自然语言提出请求时**:请 Claude 审查您的变更,它就可以运行该 skill
124* **通过定时任务**:以 `/code-review` 作为提示词的[会话级定时任务](/docs/zh-CN/scheduled-tasks.md)会运行审查124* **通过定时任务**:以 `/code-review` 作为提示词的[会话级定时任务](https://code.claude.com/docs/zh-CN/scheduled-tasks.md)会运行审查
125 125
126会话级定时任务永远不会启动[云端审查](#escalate-to-ultrareview),因此请在不带 `ultra` 参数的情况下安排 `/code-review`。126会话级定时任务永远不会启动[云端审查](#escalate-to-ultrareview),因此请在不带 `ultra` 参数的情况下安排 `/code-review`。
127 127
128如需阻止 Claude 和定时任务启动审查,同时保留 `/code-review` 供您手动输入,请在[设置文件](/docs/zh-CN/settings.md#where-settings-live)(例如 `~/.claude/settings.json`)中添加 [`skillOverrides`](/docs/zh-CN/skills#override-skill-visibility-from-settings) 条目:128如需阻止 Claude 和定时任务启动审查,同时保留 `/code-review` 供您手动输入,请在[设置文件](https://code.claude.com/docs/zh-CN/settings.md#where-settings-live)(例如 `~/.claude/settings.json`)中添加 [`skillOverrides`](https://code.claude.com/docs/zh-CN/skills#override-skill-visibility-from-settings) 条目:
129 129
130```json theme={null}130```json theme={null}
131{131{
135}135}
136```136```
137 137
138在 v2.1.246 之前,只有在从 Anthropic 获取的功能标志启用了该功能时,Claude 才会自行启动 `/code-review`。在[不获取功能标志的会话](/docs/zh-CN/env-vars.md#features-that-need-feature-flag-fetching)中,`/code-review` 仅在您输入时运行,而定时的 `/code-review` 会作为纯文本发送给 Claude。138在 v2.1.246 之前,只有在从 Anthropic 获取的功能标志启用了该功能时,Claude 才会自行启动 `/code-review`。在[不获取功能标志的会话](https://code.claude.com/docs/zh-CN/env-vars.md#features-that-need-feature-flag-fetching)中,`/code-review` 仅在您输入时运行,而定时的 `/code-review` 会作为纯文本发送给 Claude。
139 139
140## 升级到 ultrareview140## 升级到 ultrareview
141 141
142`/code-review ultra --fix` 会在云端运行更深入的 [ultrareview](/docs/zh-CN/ultrareview.md),然后在发现的问题返回到您的会话时,要求 Claude 将其修复应用到您的工作树。142`/code-review ultra --fix` 会在云端运行更深入的 [ultrareview](https://code.claude.com/docs/zh-CN/ultrareview.md),然后在发现的问题返回到您的会话时,要求 Claude 将其修复应用到您的工作树。
143 143
144Ultrareview 使用自己的范围:144Ultrareview 使用自己的范围:
145 145
146* **比较内容**:您的当前分支与仓库默认分支的对比,以及工作树中未提交和已暂存的变更146* **比较内容**:您的当前分支与仓库默认分支的对比,以及工作树中未提交和已暂存的变更
147* **敏感文件**:对于名称类似凭据或密钥的文件(例如 `.env` 和 `*.tfvars` 文件)的未提交变更,Claude Code 会遵循[将本地仓库上传到云端会话](/docs/zh-CN/claude-code-on-the-web.md#send-local-repositories-without-github)的规则147* **敏感文件**:对于名称类似凭据或密钥的文件(例如 `.env` 和 `*.tfvars` 文件)的未提交变更,Claude Code 会遵循[将本地仓库上传到云端会话](https://code.claude.com/docs/zh-CN/claude-code-on-the-web.md#send-local-repositories-without-github)的规则
148* **不同的基础分支**:传入分支名称(例如 `/code-review ultra develop`)以与不同的基础分支进行比较148* **不同的基础分支**:传入分支名称(例如 `/code-review ultra develop`)以与不同的基础分支进行比较
149 149
150当目标是 `github.com` Pull Request 时,您可以让 Claude 以您的 GitHub 账户身份[将最终发现的问题作为评论发布到 PR](/docs/zh-CN/ultrareview.md#post-findings-to-the-pull-request)。需要 Claude Code v2.1.227 或更高版本。150当目标是 `github.com` Pull Request 时,您可以让 Claude 以您的 GitHub 账户身份[将最终发现的问题作为评论发布到 PR](https://code.claude.com/docs/zh-CN/ultrareview.md#post-findings-to-the-pull-request)。需要 Claude Code v2.1.227 或更高版本。
151 151
152> [!NOTE]152> [!NOTE]
153>153>
154> Ultrareview 需要使用 claude.ai 账户进行身份验证。它不适用于 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry,也不适用于启用了零数据保留或应用了 [HIPAA 配置](/docs/zh-CN/hipaa-setup.md)的组织。在这些情况下,`/code-review ultra` 会改为在您的会话中运行本地审查。使用[客户管理的加密密钥](https://platform.claude.com/docs/en/manage-claude/cmek)(CMEK)的组织无法运行 ultrareview。如需在本地审查您的变更,请运行 `/code-review`。154> Ultrareview 需要使用 claude.ai 账户进行身份验证。它不适用于 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry,也不适用于启用了零数据保留或应用了 [HIPAA 配置](https://code.claude.com/docs/zh-CN/hipaa-setup.md)的组织。在这些情况下,`/code-review ultra` 会改为在您的会话中运行本地审查。使用[客户管理的加密密钥](https://platform.claude.com/docs/en/manage-claude/cmek)(CMEK)的组织无法运行 ultrareview。如需在本地审查您的变更,请运行 `/code-review`。
155 155
156如需从脚本或 CI 作业运行云端审查,请使用 [`claude ultrareview` 子命令](/docs/zh-CN/ultrareview#run-ultrareview-non-interactively),它会等待发现的问题并将其打印到 stdout。156如需从脚本或 CI 作业运行云端审查,请使用 [`claude ultrareview` 子命令](https://code.claude.com/docs/zh-CN/ultrareview#run-ultrareview-non-interactively),它会等待发现的问题并将其打印到 stdout。
157 157
158## 修改或基于审查进行构建158## 修改或基于审查进行构建
159 159
160`/code-review` 是一个[随附 skill](/docs/zh-CN/skills.md#bundled-skills):其指令内置于 Claude Code 中,因此磁盘上没有可打开或编辑的 `SKILL.md` 文件。如需为每次审查提供需遵循的项目规则,请将其添加到您的 `CLAUDE.md` 中。如需更进一步,请从以下页面之一开始:160`/code-review` 是一个[随附 skill](https://code.claude.com/docs/zh-CN/skills.md#bundled-skills):其指令内置于 Claude Code 中,因此磁盘上没有可打开或编辑的 `SKILL.md` 文件。如需为每次审查提供需遵循的项目规则,请将其添加到您的 `CLAUDE.md` 中。如需更进一步,请从以下页面之一开始:
161 161
162* **替换命令**:名为 `code-review` 的项目或个人 skill 会替代随附的 skill 运行,而 `/review` 别名仍会运行随附的审查。请参阅[解决同名 skill 的冲突](/docs/zh-CN/skills.md#resolve-skills-that-share-a-name)。162* **替换命令**:名为 `code-review` 的项目或个人 skill 会替代随附的 skill 运行,而 `/review` 别名仍会运行随附的审查。请参阅[解决同名 skill 的冲突](https://code.claude.com/docs/zh-CN/skills.md#resolve-skills-that-share-a-name)。
163* **构建您自己的审查器**:编写一个审查[子代理](/docs/zh-CN/sub-agents.md)或审查 [skill](/docs/zh-CN/skills.md)163* **构建您自己的审查器**:编写一个审查[子代理](https://code.claude.com/docs/zh-CN/sub-agents.md)或审查 [skill](https://code.claude.com/docs/zh-CN/skills.md)
164* **使用相邻命令**:[`/simplify`](/docs/zh-CN/commands) 仅审查清理方面的问题并应用其修复,[`/verify`](/docs/zh-CN/commands) 会运行您的应用以确认变更有效164* **使用相邻命令**:[`/simplify`](https://code.claude.com/docs/zh-CN/commands) 仅审查清理方面的问题并应用其修复,[`/verify`](https://code.claude.com/docs/zh-CN/commands) 会运行您的应用以确认变更有效
165 165
166在 v2.1.147 之前,该命令名为 `/simplify`,当时它默认会应用修复。如果您曾编写脚本使用 `/simplify` 查找 bug,请改用 `/code-review --fix`。166在 v2.1.147 之前,该命令名为 `/simplify`,当时它默认会应用修复。如果您曾编写脚本使用 `/simplify` 查找 bug,请改用 `/code-review --fix`。
167 167
168## 相关资源168## 相关资源
169 169
170* [Code Review](/docs/zh-CN/code-review.md):为您的组织审查 GitHub 上每个 Pull Request 的托管服务170* [Code Review](https://code.claude.com/docs/zh-CN/code-review.md):为您的组织审查 GitHub 上每个 Pull Request 的托管服务
171* [Ultrareview](/docs/zh-CN/ultrareview.md):更深入的云端审查的设置、限制和费用171* [Ultrareview](https://code.claude.com/docs/zh-CN/ultrareview.md):更深入的云端审查的设置、限制和费用
172* [命令](/docs/zh-CN/commands.md):`/code-review`、`/review`、`/simplify` 和 `/verify` 的单行参考172* [命令](https://code.claude.com/docs/zh-CN/commands.md):`/code-review`、`/review`、`/simplify` 和 `/verify` 的单行参考
173* [Skills](/docs/zh-CN/skills.md):随附 skill 的工作原理以及如何编写您自己的 skill173* [Skills](https://code.claude.com/docs/zh-CN/skills.md):随附 skill 的工作原理以及如何编写您自己的 skill