Skip to content

多供应商支持

概述

Claude Code 支持通过多个云供应商访问 Claude 模型,不限于 Anthropic 直连 API。

Source: src/utils/model/providers.ts

支持的供应商

供应商选择

供应商通过环境变量或配置选择:

环境变量供应商
ANTHROPIC_API_KEYAnthropic Direct
AWS_REGION + Bedrock 配置AWS Bedrock
GOOGLE_CLOUD_PROJECTGoogle Vertex AI
AZURE_* 系列Azure

SDK 映射

每个供应商使用不同的 SDK,但都适配到相同的接口:

供应商SDK 包认证方式
Anthropic@anthropic-ai/sdkAPI Key
Bedrock@anthropic-ai/bedrock-sdkAWS IAM / STS
Vertex@anthropic-ai/vertex-sdkGoogle Auth
Azure@azure/identityAzure AD
Foundry@anthropic-ai/foundry-sdkFoundry Token

客户端创建

typescript
// 根据供应商创建适当的客户端
function createClient(provider: Provider) {
  switch (provider) {
    case 'anthropic':
      return new Anthropic({ apiKey });
    case 'bedrock':
      return new AnthropicBedrock({ region, credentials });
    case 'vertex':
      return new AnthropicVertex({ projectId, region });
    // ...
  }
}

模型名称映射

不同供应商使用不同的模型 ID 格式:

供应商模型 ID 格式
Anthropicclaude-sonnet-4-20250514
Bedrockanthropic.claude-sonnet-4-20250514-v1:0
Vertexclaude-sonnet-4@20250514

预连接优化

Source: src/entrypoints/init.ts:159

对于 Anthropic 直连供应商,init.ts 会在初始化时发起 TCP+TLS 预连接:

typescript
preconnectAnthropicApi();
// Fire-and-forget TCP+TLS 握手
// 代理/mTLS/云供应商模式下跳过

云供应商模式下跳过预连接,因为 SDK 不会复用全局连接池。

下一步