6 6
7> 了解如何通过 Google Vertex AI 配置 Claude Code,包括设置、IAM 配置和故障排除。7> 了解如何通过 Google Vertex AI 配置 Claude Code,包括设置、IAM 配置和故障排除。
8 8
9export const ContactSalesCard = ({surface}) => {9<h2 id="prerequisites">
10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;10 前置条件
11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">11</h2>
12 <line x1="5" y1="12" x2="19" y2="12" />
13 <polyline points="12 5 19 12 12 19" />
14 </svg>;
15 const STYLES = `
16.cc-cs {
17 --cs-slate: #141413;
18 --cs-clay: #d97757;
19 --cs-clay-deep: #c6613f;
20 --cs-gray-000: #ffffff;
21 --cs-gray-700: #3d3d3a;
22 --cs-border-default: rgba(31, 30, 29, 0.15);
23 font-family: inherit;
24}
25.dark .cc-cs {
26 --cs-slate: #f0eee6;
27 --cs-gray-000: #262624;
28 --cs-gray-700: #bfbdb4;
29 --cs-border-default: rgba(240, 238, 230, 0.14);
30}
31.cc-cs-card {
32 display: flex; align-items: center; justify-content: space-between;
33 gap: 16px; padding: 14px 16px; margin: 0;
34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);
35 border-radius: 8px; flex-wrap: wrap;
36}
37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }
38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }
39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
40.cc-cs-btn-clay {
41 display: inline-flex; align-items: center; gap: 8px;
42 background: var(--cs-clay-deep); color: #fff; border: none;
43 border-radius: 8px; padding: 8px 14px;
44 font-size: 13px; font-weight: 500;
45 transition: background-color 0.15s; white-space: nowrap;
46}
47.cc-cs-btn-clay:hover { background: var(--cs-clay); }
48.cc-cs-btn-ghost {
49 display: inline-flex; align-items: center; gap: 8px;
50 background: transparent; color: var(--cs-gray-700);
51 border: 0.5px solid var(--cs-border-default);
52 border-radius: 8px; padding: 8px 14px;
53 font-size: 13px; font-weight: 500;
54}
55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }
56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }
57@media (max-width: 720px) {
58 .cc-cs-actions { width: 100%; }
59}
60`;
61 return <div className="cc-cs not-prose">
62 <style>{STYLES}</style>
63 <div className="cc-cs-card">
64 <div className="cc-cs-text">
65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.
66 </div>
67 <div className="cc-cs-actions">
68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">
69 View plans
70 </a>
71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">
72 Contact sales {iconArrowRight()}
73 </a>
74 </div>
75 </div>
76 </div>;
77};
78
79<ContactSalesCard surface="vertex" />
80
81## 前置条件
82 12
83在使用 Vertex AI 配置 Claude Code 之前,请确保您拥有:13在使用 Vertex AI 配置 Claude Code 之前,请确保您拥有:
84 14
90 20
91要使用您自己的 Vertex AI 凭证登录,请按照下面的[使用 Vertex AI 登录](#sign-in-with-vertex-ai)进行操作。要在团队中部署 Claude Code,请使用[手动设置](#set-up-manually)步骤并在推出前[固定您的模型版本](#5-pin-model-versions)。21要使用您自己的 Vertex AI 凭证登录,请按照下面的[使用 Vertex AI 登录](#sign-in-with-vertex-ai)进行操作。要在团队中部署 Claude Code,请使用[手动设置](#set-up-manually)步骤并在推出前[固定您的模型版本](#5-pin-model-versions)。
92 22
93## 使用 Vertex AI 登录23<h2 id="sign-in-with-vertex-ai">
24 使用 Vertex AI 登录
25</h2>
94 26
95如果您拥有 Google Cloud 凭证并想开始通过 Vertex AI 使用 Claude Code,登录向导会引导您完成整个过程。您需要在每个项目中完成一次 GCP 端的前置条件;向导会处理 Claude Code 端的事务。27如果您拥有 Google Cloud 凭证并想开始通过 Vertex AI 使用 Claude Code,登录向导会引导您完成整个过程。您需要在每个项目中完成一次 GCP 端的前置条件;向导会处理 Claude Code 端的事务。
96 28
114 46
115登录后,您可以随时运行 `/setup-vertex` 来重新打开向导并更改您的凭证、项目、区域或模型固定。47登录后,您可以随时运行 `/setup-vertex` 来重新打开向导并更改您的凭证、项目、区域或模型固定。
116 48
117## 区域配置49<h2 id="region-configuration">
50 区域配置
51</h2>
118 52
119Claude Code 支持 Vertex AI [全局](https://cloud.google.com/blog/products/ai-machine-learning/global-endpoint-for-claude-models-generally-available-on-vertex-ai)、多区域和区域端点。将 `CLOUD_ML_REGION` 设置为 `global`、多区域位置(如 `eu` 或 `us`)或特定区域(如 `us-east5`)。Claude Code 为每种形式选择正确的 Vertex AI 主机名,包括多区域位置的 `aiplatform.eu.rep.googleapis.com` 和 `aiplatform.us.rep.googleapis.com` 主机。53Claude Code 支持 Vertex AI [全局](https://cloud.google.com/blog/products/ai-machine-learning/global-endpoint-for-claude-models-generally-available-on-vertex-ai)、多区域和区域端点。将 `CLOUD_ML_REGION` 设置为 `global`、多区域位置(如 `eu` 或 `us`)或特定区域(如 `us-east5`)。Claude Code 为每种形式选择正确的 Vertex AI 主机名,包括多区域位置的 `aiplatform.eu.rep.googleapis.com` 和 `aiplatform.us.rep.googleapis.com` 主机。
120 54
122 Vertex AI 可能不支持 Claude Code 默认模型在每个端点类型上。模型可用性在[特定区域](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations#genai-partner-models)、多区域位置和[全局端点](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#supported_models)之间有所不同。您可能需要切换到支持的位置或指定支持的模型。56 Vertex AI 可能不支持 Claude Code 默认模型在每个端点类型上。模型可用性在[特定区域](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations#genai-partner-models)、多区域位置和[全局端点](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#supported_models)之间有所不同。您可能需要切换到支持的位置或指定支持的模型。
123</Note>57</Note>
124 58
125## 手动设置59<h2 id="set-up-manually">
60 手动设置
61</h2>
126 62
127要通过环境变量而不是向导配置 Vertex AI,例如在 CI 或脚本化企业推出中,请按照下面的步骤进行。63要通过环境变量而不是向导配置 Vertex AI,例如在 CI 或脚本化企业推出中,请按照下面的步骤进行。
128 64
129### 1. 启用 Vertex AI API65<h3 id="1-enable-vertex-ai-api">
66 1. 启用 Vertex AI API
67</h3>
130 68
131在您的 GCP 项目中启用 Vertex AI API:69在您的 GCP 项目中启用 Vertex AI API:
132 70
138gcloud services enable aiplatform.googleapis.com76gcloud services enable aiplatform.googleapis.com
139```77```
140 78
141### 2. 请求模型访问权限79<h3 id="2-request-model-access">
80 2. 请求模型访问权限
81</h3>
142 82
143请求访问 Vertex AI 中的 Claude 模型:83请求访问 Vertex AI 中的 Claude 模型:
144 84
1473. 请求访问所需的 Claude 模型(例如,Claude Sonnet 4.6)873. 请求访问所需的 Claude 模型(例如,Claude Sonnet 4.6)
1484. 等待批准(可能需要 24-48 小时)884. 等待批准(可能需要 24-48 小时)
149 89
150### 3. 配置 GCP 凭证90<h3 id="3-configure-gcp-credentials">
91 3) 配置 GCP 凭证
92</h3>
151 93
152Claude Code 使用标准的 Google Cloud 身份验证。94Claude Code 使用标准的 Google Cloud 身份验证。
153 95
159 Claude Code 使用 `ANTHROPIC_VERTEX_PROJECT_ID` 作为 Vertex AI 请求的项目 ID。`GCLOUD_PROJECT` 和 `GOOGLE_CLOUD_PROJECT` 环境变量以及 `GOOGLE_APPLICATION_CREDENTIALS` 引用的凭证文件优先于它。如果这些都未设置,项目 ID 将从您的 `gcloud` 配置或附加的服务账户解析。101 Claude Code 使用 `ANTHROPIC_VERTEX_PROJECT_ID` 作为 Vertex AI 请求的项目 ID。`GCLOUD_PROJECT` 和 `GOOGLE_CLOUD_PROJECT` 环境变量以及 `GOOGLE_APPLICATION_CREDENTIALS` 引用的凭证文件优先于它。如果这些都未设置,项目 ID 将从您的 `gcloud` 配置或附加的服务账户解析。
160</Note>102</Note>
161 103
162#### 高级凭证配置104<h4 id="advanced-credential-configuration">
105 高级凭证配置
106</h4>
163 107
164Claude Code 通过 `gcpAuthRefresh` 设置支持 GCP 的自动凭证刷新。当 Claude Code 检测到您的 GCP 凭证已过期或无法加载时,它会运行配置的命令以在重试请求之前获取新凭证。108Claude Code 通过 `gcpAuthRefresh` 设置支持 GCP 的自动凭证刷新。当 Claude Code 检测到您的 GCP 凭证已过期或无法加载时,它会运行配置的命令以在重试请求之前获取新凭证。
165 109
174 118
175命令的输出会显示给用户,但不支持交互式输入。这对于基于浏览器的身份验证流程效果很好,其中 CLI 显示 URL,您在浏览器中完成身份验证。如果身份验证未在三分钟内完成,刷新命令将超时。如果您在项目设置(如 `.claude/settings.json`)中设置 `gcpAuthRefresh`,该命令仅在您接受工作区信任提示后运行。119命令的输出会显示给用户,但不支持交互式输入。这对于基于浏览器的身份验证流程效果很好,其中 CLI 显示 URL,您在浏览器中完成身份验证。如果身份验证未在三分钟内完成,刷新命令将超时。如果您在项目设置(如 `.claude/settings.json`)中设置 `gcpAuthRefresh`,该命令仅在您接受工作区信任提示后运行。
176 120
177### 4. 配置 Claude Code121<h3 id="4-configure-claude-code">
122 4. 配置 Claude Code
123</h3>
178 124
179设置以下环境变量:125设置以下环境变量:
180 126
200 146
201大多数模型版本都有对应的 `VERTEX_REGION_CLAUDE_*` 变量。有关完整列表,请参阅[环境变量参考](/zh-CN/env-vars)。检查 [Vertex Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) 以确定哪些模型支持全局端点与仅区域端点。147大多数模型版本都有对应的 `VERTEX_REGION_CLAUDE_*` 变量。有关完整列表,请参阅[环境变量参考](/zh-CN/env-vars)。检查 [Vertex Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) 以确定哪些模型支持全局端点与仅区域端点。
202 148
203[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) 会自动启用。要禁用它,请设置 `DISABLE_PROMPT_CACHING=1`。要请求 1 小时的缓存 TTL 而不是 5 分钟的默认值,请设置 `ENABLE_PROMPT_CACHING_1H=1`;具有 1 小时 TTL 的缓存写入按更高费率计费。如需提高速率限制,请联系 Google Cloud 支持。使用 Vertex AI 时,`/login` 和 `/logout` 命令被禁用,因为身份验证通过 Google Cloud 凭证处理。149[Prompt caching](/zh-CN/prompt-caching) 会自动启用。要禁用它,请设置 `DISABLE_PROMPT_CACHING=1`。要请求 1 小时的缓存 TTL 而不是 5 分钟的默认值,请设置 `ENABLE_PROMPT_CACHING_1H=1`;具有 1 小时 TTL 的缓存写入按更高费率计费。如需提高速率限制,请联系 Google Cloud 支持。使用 Vertex AI 时,`/logout` 命令不可用,因为身份验证通过 Google Cloud 凭证处理。
204 150
205Claude Code 在 Vertex AI 上默认禁用 [MCP tool search](/zh-CN/mcp#scale-with-mcp-tool-search),因此 MCP 工具定义会预先加载。Vertex AI 支持 Claude Sonnet 4.5 及更高版本以及 Claude Opus 4.5 及更高版本的工具搜索。设置 `ENABLE_TOOL_SEARCH=true` 以在这些模型上启用它。Vertex AI 上的早期模型不接受所需的 beta 标头,如果您对它们启用工具搜索,请求将失败。151Claude Code 在 Vertex AI 上默认禁用 [MCP tool search](/zh-CN/mcp#scale-with-mcp-tool-search),因此 MCP 工具定义会预先加载。Vertex AI 支持 Claude Sonnet 4.5 及更高版本以及 Claude Opus 4.5 及更高版本的工具搜索。设置 `ENABLE_TOOL_SEARCH=true` 以在这些模型上启用它。Vertex AI 上的早期模型不接受所需的 beta 标头,如果您对它们启用工具搜索,请求将失败。
206 152
207### 5. 固定模型版本153<h3 id="5-pin-model-versions">
154 5. 固定模型版本
155</h3>
208 156
209<Warning>157<Warning>
210 在部署到多个用户时固定特定的模型版本。如果不固定,模型别名(如 `sonnet` 和 `opus`)会解析为最新版本,当 Anthropic 发布更新时,该版本可能尚未在您的 Vertex AI 项目中启用。Claude Code 在启动时当最新版本不可用时会[回退](#startup-model-checks)到之前的版本,但固定让您可以控制用户何时迁移到新模型。158 在部署到多个用户时固定特定的模型版本。如果不固定,模型别名(如 `sonnet` 和 `opus`)会解析为最新版本,当 Anthropic 发布更新时,该版本可能尚未在您的 Vertex AI 项目中启用。Claude Code 在启动时当最新版本不可用时会[回退](#startup-model-checks)到之前的版本,但固定让您可以控制用户何时迁移到新模型。
212 160
213将这些环境变量设置为特定的 Vertex AI 模型 ID。161将这些环境变量设置为特定的 Vertex AI 模型 ID。
214 162
215如果没有 `ANTHROPIC_DEFAULT_OPUS_MODEL`,Vertex 上的 `opus` 别名会解析为 Opus 4.6。将其设置为 Opus 4.7 ID 以使用最新模型:163如果没有 `ANTHROPIC_DEFAULT_OPUS_MODEL`,Vertex 上的 `opus` 别名会解析为 Opus 4.6。将其设置为 Opus 4.8 ID 以使用最新模型:
216 164
217```bash theme={null}165```bash theme={null}
218export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-7'166export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'
219export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'167export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'
220export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'168export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'
221```169```
234要进一步自定义模型:182要进一步自定义模型:
235 183
236```bash theme={null}184```bash theme={null}
237export ANTHROPIC_MODEL='claude-opus-4-7'185export ANTHROPIC_MODEL='claude-opus-4-8'
238export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'186export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'
239```187```
240 188
241## 启动模型检查189<h2 id="startup-model-checks">
190 启动模型检查
191</h2>
242 192
243当 Claude Code 启动并配置了 Vertex AI 时,它会验证它打算使用的模型在您的项目中是否可访问。此检查需要 Claude Code v2.1.98 或更高版本。193当 Claude Code 启动并配置了 Vertex AI 时,它会验证它打算使用的模型在您的项目中是否可访问。此检查需要 Claude Code v2.1.98 或更高版本。
244 194
246 196
247如果您没有固定模型,并且当前默认值在您的项目中不可用,Claude Code 会在当前会话中回退到之前的版本并显示通知。回退不会被持久化。在 [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) 中启用较新的模型或[固定一个版本](#5-pin-model-versions)以使选择永久化。197如果您没有固定模型,并且当前默认值在您的项目中不可用,Claude Code 会在当前会话中回退到之前的版本并显示通知。回退不会被持久化。在 [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) 中启用较新的模型或[固定一个版本](#5-pin-model-versions)以使选择永久化。
248 198
249## IAM 配置199<h2 id="iam-configuration">
200 IAM 配置
201</h2>
250 202
251分配所需的 IAM 权限:203分配所需的 IAM 权限:
252 204
262 为 Claude Code 创建专用的 GCP 项目,以简化成本跟踪和访问控制。214 为 Claude Code 创建专用的 GCP 项目,以简化成本跟踪和访问控制。
263</Note>215</Note>
264 216
265## 1M token context window217<h2 id="1m-token-context-window">
218 1M token context window
219</h2>
266 220
267Claude Opus 4.7、Opus 4.6 和 Sonnet 4.6 在 Vertex AI 上支持 [1M token context window](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window)。当您选择 1M 模型变体时,Claude Code 会自动启用扩展 context window。221Claude Opus 4.6 及更高版本以及 Sonnet 4.6 在 Vertex AI 上支持 [1M token context window](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#1m-token-context-window)。当您选择 1M 模型变体时,Claude Code 会自动启用扩展 context window。
268 222
269[设置向导](#sign-in-with-vertex-ai)在固定模型时提供 1M context 选项。要为手动固定的模型启用它,请在模型 ID 后附加 `[1m]`。有关详细信息,请参阅[为第三方部署固定模型](/zh-CN/model-config#pin-models-for-third-party-deployments)。223[设置向导](#sign-in-with-vertex-ai)在固定模型时提供 1M context 选项。要为手动固定的模型启用它,请在模型 ID 后附加 `[1m]`。有关详细信息,请参阅[为第三方部署固定模型](/zh-CN/model-config#pin-models-for-third-party-deployments)。
270 224
271## 故障排除225<h2 id="troubleshooting">
226 故障排除
227</h2>
272 228
273如果您遇到"无法加载默认凭证"错误:229如果您遇到"无法加载默认凭证"错误:
274 230
293* 对于区域端点,请确保主模型和小型/快速模型在您选择的区域中受支持249* 对于区域端点,请确保主模型和小型/快速模型在您选择的区域中受支持
294* 考虑切换到 `CLOUD_ML_REGION=global` 以获得更好的可用性250* 考虑切换到 `CLOUD_ML_REGION=global` 以获得更好的可用性
295 251
296## 其他资源252<h2 id="additional-resources">
253 其他资源
254</h2>
297 255
298* [Vertex AI 文档](https://cloud.google.com/vertex-ai/docs)256* [Vertex AI 文档](https://cloud.google.com/vertex-ai/docs)
299* [Vertex AI 定价](https://cloud.google.com/vertex-ai/pricing)257* [Vertex AI 定价](https://cloud.google.com/vertex-ai/pricing)