7> 使用 /code-review ultra 在云中运行深度多代理代码审查,在合并前查找和验证错误。7> 使用 /code-review ultra 在云中运行深度多代理代码审查,在合并前查找和验证错误。
8 8
9<Note>9<Note>
10 Ultrareview 是一个研究预览功能。该功能、定价和可用性可能会根据反馈而改变。该命令现在通过 `/code-review ultra` 调用,`/ultrareview` 仍然作为别名保留。10 Ultrareview 是一个研究预览功能。该功能、定价和可用性可能会根据反馈而改变。该命令是 `/code-review ultra`。当 ultrareview 对您的账户可用时,`/ultrareview` 是一个别名。
11</Note>11</Note>
12 12
13Ultrareview 是在 Claude Code 网络基础设施上运行的深度代码审查。当您运行 `/code-review ultra` 时,Claude Code 在远程沙箱中启动一队审查代理来查找您的分支或拉取请求中的错误。13Ultrareview 是在 Claude Code 网络基础设施上运行的深度代码审查。当您运行 `/code-review ultra` 时,Claude Code 在远程沙箱中启动一队审查代理来查找您的分支或拉取请求中的错误。
14 14
15与本地 `/code-review` 或 `/review` 相比,ultrareview 提供:15与本地 `/code-review` 相比,ultrareview 提供:
16 16
17* **更高的信号质量**:每个报告的发现都经过独立复现和验证,因此结果专注于真实的错误而不是风格建议17* **更高的信号质量**:每个报告的发现都经过独立复现和验证,因此结果专注于真实的错误而不是风格建议
18* **更广泛的覆盖范围**:许多审查代理并行探索更改,这会发现本地审查可能遗漏的问题18* **更广泛的覆盖范围**:许多审查代理并行探索更改,这会发现本地审查可能遗漏的问题
19* **无本地资源使用**:审查完全在远程沙箱中运行,因此您的终端在运行时保持空闲,可用于其他工作19* **无本地资源使用**:审查完全在远程沙箱中运行,因此您的终端在运行时保持空闲,可用于其他工作
20 20
21Ultrareview 需要使用 Claude.ai 账户进行身份验证,因为它在 Claude Code 网络基础设施上运行。如果您仅使用 API 密钥登录,请先运行 `/login` 并使用 Claude.ai 进行身份验证。当使用 Claude Code 与 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 时,Ultrareview 不可用,对于已启用零数据保留的组织也不可用。21Ultrareview 需要使用 claude.ai 账户进行身份验证,因为它在 Claude Code 网络基础设施上运行。如果您仅使用 API 密钥登录,请先运行 `/login` 并使用 claude.ai 进行身份验证。当使用 Claude Code 与 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 时,Ultrareview 不可用,对于已启用零数据保留的组织也不可用。当 ultrareview 不可用时,`/code-review ultra` 会在您的会话中运行本地审查。
22 22
23<h2 id="run-ultrareview-from-the-cli">23<h2 id="run-ultrareview-from-the-cli">
24 从 CLI 运行 ultrareview24 从 CLI 运行 ultrareview
25</h2>25</h2>
26 26
27从 Claude Code CLI 中的任何 git 存储库启动审查。27从任何 git 存储库启动审查:
28 28
29```text theme={null}29```text theme={null}
30/code-review ultra30/code-review ultra
31```31```
32 32
33不带参数时,ultrareview 审查您当前分支与默认分支之间的差异,包括工作树中任何未提交和暂存的更改。Claude Code 捆绑存储库状态并将其上传到远程沙箱进行审查。33不带参数时,ultrareview 审查您当前分支与默认分支之间的差异,包括未提交和暂存的更改。对于名称类似凭证或密钥的文件(如 `.env` 和 `*.tfvars` 文件)中的未提交更改,Claude Code 遵循[将本地存储库上传到云会话](/docs/zh-CN/claude-code-on-the-web#send-local-repositories-without-github)的规则。
34 34
35要审查 GitHub 拉取请求,请传递 PR 编号。35对于分支审查,Claude Code 捆绑存储库状态并将其上传到远程沙箱;当您[审查拉取请求](#review-a-pull-request)时,Claude Code 不会从您的计算机上传任何内容。
36
37启动前,Claude Code 显示一个确认对话框,其中包含审查范围、您剩余的免费运行次数和估计成本;对于分支审查,范围包括文件和行数。确认后,审查在后台继续进行,您可以继续使用您的会话。
38
39该命令仅在您使用 `/code-review ultra` 调用时运行;Claude 不会自动启动 ultrareview。
40
41<h3 id="review-against-a-different-base">
42 针对不同的基础进行审查
43</h3>
44
45要与默认分支以外的基础进行比较,请传递分支名称。此示例针对 `develop` 而不是默认分支审查您的当前分支:
46
47```text theme={null}
48/code-review ultra develop
49```
50
51基础分支不需要存在于您的本地克隆中;Claude Code 从 `origin` 获取它。如果名称有拼写错误,Claude Code 会在错误中建议最接近的分支名称。
52
53<h3 id="review-a-pull-request">
54 审查拉取请求
55</h3>
56
57要审查 GitHub 拉取请求而不是本地分支,请传递 PR 编号:
36 58
37```text theme={null}59```text theme={null}
38/code-review ultra 123460/code-review ultra 1234
39```61```
40 62
41在 PR 模式下,远程沙箱直接从主机克隆拉取请求,而不是捆绑您的本地工作树。PR 模式适用于 `github.com` 上的存储库以及 Owner 已连接到 Claude Code 的 [GitHub Enterprise Server](/zh-CN/github-enterprise-server) 实例。63该命令也接受 `#1234`、`PR 1234` 和粘贴的 PR URL;粘贴的 URL 必须指向您当前目录中的存储库。
64
65在 PR 模式下,远程沙箱直接从主机克隆拉取请求,而不是捆绑您的本地工作树。PR 模式适用于 `github.com` 上的存储库以及 Owner 已连接到 Claude Code 的 [GitHub Enterprise Server](/docs/zh-CN/github-enterprise-server) 实例。
66
67对于 `github.com` 上的存储库,沙箱使用连接到您的 Claude 账户的 GitHub 账户进行克隆,因此该账户必须能够读取 PR 的存储库。Claude Code 在创建云会话之前检查这一点,除非您已设置 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-CN/env-vars#variables),并在[未连接账户](/docs/zh-CN/errors#no-github-account-is-connected-to-your-claude-account)或[账户无法看到存储库](/docs/zh-CN/errors#your-connected-github-account-cant-see-the-repository)时拒绝启动;拒绝会说明修复方法。在 v2.1.248 之前,Claude Code 在启动前不检查这一点。
68
69运行 [`/web-setup`](/docs/zh-CN/web-quickstart#connect-from-your-terminal) 将您的 GitHub CLI 登录连接到您的 Claude 账户。
70
71<h3 id="post-findings-to-the-pull-request">
72 将发现发布到拉取请求
73</h3>
74
75在 Claude Code v2.1.227 或更高版本上,当您在 `github.com` 上审查拉取请求时,您可以让 Claude 将完成的发现作为来自您自己 GitHub 账户的单个纯文本评论发布到 PR。该评论不是审查或批准,并以"由 Claude Code 生成"的说明结尾。当您审查分支或 GitHub Enterprise Server 拉取请求时,Claude Code 仅在您的会话中显示发现。
76
77Claude Code 永远不会发布,除非您在该运行中选择,`--no-post` 是默认值。发布是您为每次运行做出的选择:
78
79* **交互式**:在启动对话框中,选择**运行并将发现作为我发布到 PR**。如果您将 `--post` 添加到命令中,如 `/code-review ultra 1234 --post`,Claude Code 会预选该选择,但仍会在启动前询问。
80* **非交互式**:使用 `--post` 运行 [`claude ultrareview` 子命令](#run-ultrareview-non-interactively)。通过使用该标志运行子命令,您同意发布,因此 Claude Code 会发布而不询问。在 `claude -p '/code-review ultra'` 运行中,Claude Code 在发现到达前退出,因此不会发布任何内容;改用子命令。
81
82Claude Code 不会从您的计算机发布。它将发现发送到 [Claude Code on the web](/docs/zh-CN/claude-code-on-the-web) 上的会话,该会话通过您连接到 Claude 的 GitHub 账户发布评论。发布需要与审查本身相同的 claude.ai 登录。由于发布通过 Claude Code on the web 运行,它在第三方提供商上或当您设置 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-CN/env-vars) 时不可用。
83
84在交互式会话中,Claude Code 在发现到达时启动发布,因此请保持会话打开直到审查完成。Claude Code 仅在该会话中保留发布选择。如果会话在审查完成前结束,Claude Code 不会发布任何内容,即使您稍后恢复对话。
85
86当发布无法在您的会话打开时启动时,Claude 会告诉您没有任何内容发送到 PR 以及原因,发现会保留在您的终端中,以便您可以手动发布。
87
88<h3 id="pass-a-request-in-plain-words">
89 用纯文本传递请求
90</h3>
91
92在 Claude Code v2.1.218 或更高版本上,您也可以用纯文本描述您正在处理的内容:
93
94```text theme={null}
95/code-review ultra check my auth changes
96```
97
98审查仍然涵盖您的当前分支,与不带参数运行的范围相同。Claude 将您的文本保留为一个说明,显示在启动对话框中,并在发现到达时将其与发现相关联。
99
100当 Claude Code 的文本超过一个单词且不是分支名称或 PR 引用时,它将您的文本视为说明。它将单个单词读取为分支名称或 PR 引用,因此拼写错误的分支名称会从[针对不同的基础进行审查](#review-against-a-different-base)获得最接近分支的错误,而不是使用说明启动。如果您的文本将 PR 引用与其他单词结合,如 `check PR 123 again`,Claude Code 也不会启动;它会要求您重新运行仅使用 PR 编号来审查该 PR,或不使用引用来审查您的当前分支。
42 101
43<Tip>102<Tip>
44 如果您的存储库太大而无法捆绑,Claude Code 会提示您改用 PR 模式。推送您的分支并打开草稿 PR,然后运行 `/code-review ultra <PR-number>`。103 如果您的存储库太大而无法捆绑,Claude Code 会提示您改用 PR 模式。推送您的分支并打开草稿 PR,然后运行 `/code-review ultra <PR-number>`。
45
46 如果拉取请求的差异太大,Claude Code 会在任何审查工作运行之前以范围提示拒绝审查。
47</Tip>104</Tip>
48 105
49启动前,Claude Code 显示一个确认对话框,其中包含审查范围(包括审查分支时的文件和行数)、您剩余的免费运行次数和估计成本。确认后,审查在后台继续进行,您可以继续使用您的会话。该命令仅在您使用 `/code-review ultra` 调用时运行;Claude 不会自动启动 ultrareview。106<h3 id="diff-limits-and-fallbacks">
107 差异限制和回退
108</h3>
109
110Ultrareview 在任何审查工作运行之前检查差异,并在无法按原样审查时告诉您:
111
112* **差异过大**:分支审查默认最多可包括 500 个更改的文件和 8,000 个更改的行。确切的值可能会改变,[拒绝](/docs/zh-CN/errors#diff-is-too-large-for-ultrareview)会说明生效的值、您的差异大小以及更改行数最多的文件。Claude Code 以相同的方式拒绝过大的拉取请求,说明其文件和行数,但不说明每个文件的细分
113* **没有要审查的内容**:当针对基础的差异为空时,Claude Code 会说明这一点,并建议暂存或提交本地编辑,或传递不同的基础
114* **没有合并基础**:当您的分支与基础分支没有共享历史时,Claude Code 回退到审查存储库中的每个跟踪文件;回退需要完整克隆并应用相同的大小限制。在没有分支或其他引用的检出上,如通过在获取 URL 后检出 `FETCH_HEAD` 创建的分离 HEAD,Claude Code [拒绝审查](/docs/zh-CN/errors#your-checkout-has-no-branches)并建议首先创建分支
50 115
51<h2 id="pricing-and-free-runs">116<h2 id="pricing-and-free-runs">
52 定价和免费运行117 定价和免费运行
60| Max | 3 次免费运行 | 按 [额外使用量](https://support.claude.com/zh-CN/articles/12429409-extra-usage-for-paid-claude-plans) 计费 |125| Max | 3 次免费运行 | 按 [额外使用量](https://support.claude.com/zh-CN/articles/12429409-extra-usage-for-paid-claude-plans) 计费 |
61| Team 和 Enterprise | 无 | 按 [额外使用量](https://support.claude.com/zh-CN/articles/12429409-extra-usage-for-paid-claude-plans) 计费 |126| Team 和 Enterprise | 无 | 按 [额外使用量](https://support.claude.com/zh-CN/articles/12429409-extra-usage-for-paid-claude-plans) 计费 |
62 127
63Pro 和 Max 订阅者获得三次免费 ultrareview 运行来尝试该功能。这三次运行是每个账户的一次性分配,不会刷新。使用完这三次后,或在免费运行期结束后,每次审查都按额外使用量计费,通常根据更改的大小花费 \$5 到 \$20。一次运行在远程会话启动后计数,因此您提前停止或未能完成的审查仍然会使用一次免费运行。对于付费审查,额外使用量仅对运行的部分计费。128* **免费运行**:Pro 和 Max 的三次运行是每个账户的一次性分配,不会刷新。
129* **每次审查的成本**:使用完免费运行后,通常花费 \$5 到 \$25 的使用额度,具体取决于更改的大小,与启动对话框在每次运行前显示的估计相匹配。
130* **何时计数一次运行**:一旦云会话启动。您提前停止或未能完成的审查仍然会使用一次免费运行;付费审查仅对运行的部分计费。
64 131
65由于 ultrareview 在免费运行之外始终按额外使用量计费,您的账户或组织必须在启动付费审查之前启用额外使用量。如果未启用额外使用量,Claude Code 会阻止启动并将您链接到计费设置,您可以在那里打开它。您也可以运行 `/usage-credits` 来检查或更改您的当前设置。132由于 ultrareview 在免费运行之外始终按使用额度计费,您的账户或组织必须在启动付费审查之前启用使用额度。如果未启用使用额度,Claude Code 会阻止启动,启用方式取决于您的计费访问权限:
133
134* 如果您可以管理您账户的计费,Claude Code 会将您链接到计费设置,您可以在那里启用使用额度。
135* 在 Team 和 Enterprise 计划上,没有计费访问权限的成员可以从 CLI 发送请求,要求其管理员启用使用额度。
136
137您也可以运行 `/usage-credits` 来检查或更改您的使用额度设置。
138
139Claude Code 在每次对话中要求您确认一次使用额度计费:例如,当您使用 `/clear` 启动新对话时,Claude Code 会在下一次付费审查时再次显示确认。
66 140
67<h2 id="track-a-running-review">141<h2 id="track-a-running-review">
68 跟踪正在运行的审查142 跟踪正在运行的审查
69</h2>143</h2>
70 144
71审查通常需要 5 到 10 分钟。审查作为后台任务运行,因此您可以继续在会话中工作、启动其他命令或完全关闭终端。145审查通常需要 5 到 10 分钟。审查作为后台任务运行,因此您可以继续在会话中工作、启动其他命令或完全关闭终端。如果您选择了[将发现发布到拉取请求](#post-findings-to-the-pull-request),请保持会话打开直到审查完成;如果会话先结束,Claude Code 将不会发布任何内容。
72 146
73使用 `/tasks` 查看正在运行和已完成的审查、打开审查的详细视图或停止正在进行的审查。停止审查会存档云会话,部分发现不会返回。审查完成后,验证的发现会在您的会话中显示为通知。每个发现都包括文件位置和问题的解释,因此您可以要求 Claude 直接修复它。147使用 `/tasks` 查看正在运行和已完成的审查、打开审查的详细视图或停止正在进行的审查。如果您停止审查,Claude Code 会存档云会话,不会返回部分发现。
148
149审查完成后,Claude Code 会在您的会话中将验证的发现显示为通知。每个发现都包括文件位置和问题的解释,因此您可以要求 Claude 直接修复它。
74 150
75<h2 id="run-ultrareview-non-interactively">151<h2 id="run-ultrareview-non-interactively">
76 非交互式运行 ultrareview152 非交互式运行 ultrareview
77</h2>153</h2>
78 154
79使用 `claude ultrareview` 子命令从 CI 或脚本启动 ultrareview,无需交互式会话。该子命令启动与 `/code-review ultra` 相同的审查,阻止直到远程审查完成,将发现打印到 stdout,成功时以代码 0 退出,失败时以代码 1 退出。155使用 `claude ultrareview` 子命令从 CI 或脚本启动 ultrareview,无需交互式会话。该子命令启动与 `/code-review ultra` 相同的审查,阻止直到远程审查完成,并将发现打印到 stdout。
80 156
81```bash theme={null}157```bash theme={null}
82claude ultrareview158claude ultrareview
84claude ultrareview origin/main160claude ultrareview origin/main
85```161```
86 162
87不带参数时,该子命令审查您当前分支与默认分支之间的差异。传递 PR 编号来审查拉取请求,或传递基础分支来审查与该分支的差异。调用该子命令表示同意交互式命令显示的计费和条款提示。163不带参数时,该子命令审查您当前分支与默认分支之间的差异,当不存在合并基础时具有与 `/code-review ultra` 相同的[整个存储库回退](#diff-limits-and-fallbacks)。传递 PR 编号来审查拉取请求,或传递基础分支来审查与该分支的差异;[基础分支处理](#review-against-a-different-base)与交互式命令匹配。
164
165运行该子命令时,您同意整个存储库回退以及计费和条款提示,因此运行开始时无需等待输入。
88 166
89进度消息和实时会话 URL 转到 stderr,以便 stdout 保持可解析。使用这些标志来控制输出和超时:167在 Claude Code v2.1.218 或更高版本上,您也可以通过在非交互式会话中运行 `/code-review ultra` 来启动云审查,例如 `claude -p '/code-review ultra'`。Claude Code 启动审查并打印跟踪链接,无需等待发现,与 `claude ultrareview` 不同,后者会阻止直到发现到达。当审查会计费使用额度时,Claude Code 在启动前停止并指向 `claude ultrareview`,因为计费确认需要交互式会话。在 v2.1.218 之前,非交互式会话中的 `/code-review ultra` 运行本地审查。
168
169进度消息和实时会话 URL 转到 stderr,以便 stdout 保持可解析。使用这些标志来控制输出、超时以及是否发布发现:
90 170
91| 标志 | 描述 |171| 标志 | 描述 |
92| --------------------- | ------------------------------ |172| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
93| `--json` | 打印原始 `bugs.json` 有效负载而不是格式化的发现 |173| `--json` | 打印原始 `bugs.json` 有效负载而不是格式化的发现 |
94| `--timeout <minutes>` | 等待审查完成的最大分钟数。默认为 30 |174| `--timeout <minutes>` | 等待审查完成的最大分钟数。默认为 45 |
175| `--post` | [将完成的发现作为来自您 GitHub 账户的一条纯文本注释发布](#post-findings-to-the-pull-request)到拉取请求。适用于 `github.com` 拉取请求目标;在其他目标上,Claude Code 忽略该标志并说明。需要 Claude Code v2.1.227 或更高版本 |
176| `--no-post` | 不发布发现。这是默认值,如果您同时传递两个标志,Claude Code 不会发布。需要 Claude Code v2.1.227 或更高版本 |
177
178运行 `claude ultrareview` 需要与 `/code-review ultra` 相同的身份验证和使用额度配置。
179
180该子命令以三个代码之一退出:
181
182* **0**:审查完成,无论是否有发现
183* **1**:审查无法启动、云会话出错或超时已过
184* **130**:您使用 Ctrl-C 中断了子命令
185
186如果您中断子命令,远程审查会继续运行;按照打印到 stderr 的会话 URL 在浏览器中观看它。
95 187
96运行 `claude ultrareview` 需要与 `/code-review ultra` 相同的身份验证和使用额度配置。当审查完成时(无论是否有发现)子命令以代码 0 退出,当审查无法启动、远程会话出错或超时时以代码 1 退出,当使用 Ctrl-C 中断时以代码 130 退出。如果您中断子命令,远程审查会继续运行;按照打印到 stderr 的会话 URL 在浏览器中观看它。188使用 `--post` 时,子命令在打印发现后立即开始发布。如果运行失败、超时或您中断它,子命令不发布任何内容。如果审查完成但发布无法启动,Claude Code 将原因打印到 stderr,发现保留在 stdout 上,以便您可以手动发布它们。
97 189
98对于 GitHub 拉取请求上的自动审查,[Code Review](/zh-CN/code-review) 直接与您的存储库集成,并将发现作为内联 PR 注释发布,无需 CLI 步骤。190对于 GitHub 拉取请求上的自动审查,[Code Review](/docs/zh-CN/code-review) 直接与您的存储库集成,并将发现作为内联 PR 注释发布,无需 CLI 步骤。
99 191
100<h2 id="how-ultrareview-compares-to-/code-review-and-/review">192<h2 id="how-ultrareview-compares-to-/code-review">
101 ultrareview 与 /code-review 和 /review 的比较193 ultrareview 与 /code-review 的比较
102</h2>194</h2>
103 195
104所有三个命令都审查代码,但它们针对工作流的不同阶段。196两个审查都检查代码,但您在工作流的不同阶段使用它们。
105 197
106| | `/code-review` | `/review <pr>` | `/code-review ultra` |198| | `/code-review` | `/code-review ultra` |
107| ---- | -------------- | ------------------- | ------------------------------- |199| ---- | ------------------------- | ------------------------------- |
108| 目标 | 您的工作差异 | GitHub pull request | 您的工作差异或 pull request |200| 目标 | 您的工作差异、pull request、分支或路径 | 您的工作差异或 pull request |
109| 运行位置 | 在您的会话中本地运行 | 在您的会话中本地运行 | 在云沙箱中远程运行 |201| 运行位置 | 在您的会话中本地运行 | 在云沙箱中远程运行 |
110| 深度 | 随着 effort 参数扩展 | 会话的 effort 级别的单次审查 | 具有独立验证的多代理队列 |202| 深度 | 随着 effort 参数扩展 | 具有独立验证的多代理队列 |
111| 持续时间 | 几秒到几分钟 | 几秒到几分钟 | 大约 5 到 10 分钟 |203| 持续时间 | 几秒到几分钟 | 大约 5 到 10 分钟 |
112| 成本 | 计入正常使用量 | 计入正常使用量 | 免费运行,然后大约 \$5 到 \$20 每次审查作为使用额度 |204| 成本 | 计入正常使用量 | 免费运行,然后大约 \$5 到 \$25 每次审查作为使用额度 |
113| 最适合 | 迭代时的快速反馈 | 在批准前审查团队成员的 PR | 合并前对重大更改的信心 |205| 最适合 | 迭代时的快速反馈 | 合并前对重大更改的信心 |
114 206
115使用 `/code-review` 获得工作时的快速反馈。使用 `/review <pr>` 查看 pull request,就像您在批准前所做的那样。在合并重大更改前使用 `/code-review ultra`,当您想要更深入的审查来捕捉单次审查可能遗漏的问题时。207使用 `/code-review` 获得工作时的快速反馈,或传递 PR 编号以在批准前审查团队成员的 pull request。在合并重大更改前使用 `/code-review ultra`,当您想要更深入的审查来捕捉本地审查可能遗漏的问题时。
116 208
117<h2 id="related-resources">209<h2 id="related-resources">
118 相关资源210 相关资源
119</h2>211</h2>
120 212
121* [Claude Code 网络版](/zh-CN/claude-code-on-the-web):了解远程会话和云沙箱如何工作213* [Claude Code 网络版](/docs/zh-CN/claude-code-on-the-web):了解远程会话和云沙箱如何工作
122* [使用 ultraplan 规划复杂更改](/zh-CN/ultraplan):ultrareview 的规划对应物,用于前期设计工作214* [有效管理成本](/docs/zh-CN/costs):跟踪使用情况并设置支出限制
123* [有效管理成本](/zh-CN/costs):跟踪使用情况并设置支出限制