Claude Code 多供应商切换脚本使用指南
一个简洁的 PowerShell 脚本,让你在多个 Claude Code API 供应商之间自由切换。
背景
Claude Code 是 Anthropic 推出的官方命令行工具,默认连接 Anthropic 官方 API。但在实际使用中,你可能有多个 API 供应商(官方直连、中转服务、不同区域节点等),每次手动修改环境变量非常繁琐。
本文介绍一个 PowerShell 脚本,通过 JSON 配置文件管理多个供应商,启动时交互式选择,一键切换。
工作原理
脚本的核心逻辑非常简单:
- 读取
~\.claude_providers.json配置文件 - 展示交互式菜单供用户选择
- 根据选择设置对应的环境变量
- 启动 Claude Code
Claude Code 启动时会读取以下环境变量来决定连接哪个 API:
| 环境变量 | 作用 |
|---|---|
ANTHROPIC_BASE_URL | API 基础地址 |
ANTHROPIC_AUTH_TOKEN | 认证令牌 |
ANTHROPIC_MODEL | 主模型名称 |
ANTHROPIC_SMALL_FAST_MODEL | 轻量快速模型名称 |
使用步骤
第一步:创建配置文件
在用户目录下创建 .claude_providers.json 文件:
# 文件路径
%USERPROFILE%\.claude_providers.json
# 即
C:\Users\<你的用户名>\.claude_providers.json
文件内容为 JSON 数组,每个元素代表一个供应商:
[
{
"name": "ZHIPU AI",
"env": {
"ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "123",
"ANTHROPIC_MODEL": "glm-4.7",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.0"
}
},
{
"name": "MiniMax (China)",
"env": {
"ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "123",
"ANTHROPIC_MODEL": "MiniMax-M2.1",
"ANTHROPIC_SMALL_FAST_MODEL": "MiniMax-M2.1"
}
},
{
"name": "Kimi (Moonshot AI)",
"env": {
"ANTHROPIC_BASE_URL": "https://api.moonshot.cn/anthropic/",
"ANTHROPIC_AUTH_TOKEN": "123",
"ANTHROPIC_MODEL": "kimi-k2.5",
"ANTHROPIC_SMALL_FAST_MODEL": "kimi-k2-thinking"
}
},
{
"name": "claude",
"env": {
"ANTHROPIC_BASE_URL": "https://cc.honoursoft.cn",
"ANTHROPIC_AUTH_TOKEN": "123",
"ANTHROPIC_MODEL": "claude-opus-4-6",
"ANTHROPIC_SMALL_FAST_MODEL": "claude-haiku-4-5-20251001"
}
}
]
安全提示:该文件包含 API 密钥,请勿将其提交到 Git 仓库或分享给他人。
第二步:保存脚本
将以下脚本保存为 claude-switch.ps1:
$CONFIG_FILE = "$env:USERPROFILE\.claude_providers.json"
function Show-Menu {
if (!(Test-Path $CONFIG_FILE)) {
Write-Host "Error: Configuration file not found at $CONFIG_FILE" -ForegroundColor Red
Write-Host "Please create it with your provider configurations." -ForegroundColor Yellow
exit 1
}
$providers = Get-Content $CONFIG_FILE | ConvertFrom-Json
if ($providers.Count -eq 0) {
Write-Host "Error: No providers found in configuration file." -ForegroundColor Red
exit 1
}
Clear-Host
Write-Host ""
Write-Host " Select Claude Code Provider:"
Write-Host " ---------------------------"
for ($i = 0; $i -lt $providers.Count; $i++) {
Write-Host " $($i+1). $($providers[$i].name)"
}
Write-Host " $($providers.Count+1). Exit"
Write-Host ""
return $providers
}
# Main script
while ($true) {
$providers = Show-Menu
$choice = Read-Host "Enter your choice (1-$($providers.Count+1))"
# Check if choice is a valid number
if ($choice -notmatch '^\d+$') {
Write-Host "Invalid input. Please enter a number." -ForegroundColor Red
Start-Sleep -Seconds 2
continue
}
$choice = [int]$choice
if ($choice -eq ($providers.Count + 1)) {
Write-Host "Exiting."
exit 0
}
if ($choice -ge 1 -and $choice -le $providers.Count) {
$idx = $choice - 1
$provider = $providers[$idx]
Write-Host ""
Write-Host "Launching Claude Code with: $($provider.name)"
Write-Host ""
# Set environment variables
$env:ANTHROPIC_BASE_URL = $provider.env.ANTHROPIC_BASE_URL
$env:ANTHROPIC_AUTH_TOKEN = $provider.env.ANTHROPIC_AUTH_TOKEN
$env:ANTHROPIC_MODEL = $provider.env.ANTHROPIC_MODEL
$env:ANTHROPIC_SMALL_FAST_MODEL = $provider.env.ANTHROPIC_SMALL_FAST_MODEL
# Launch Claude Code
claude
break
} else {
Write-Host "Invalid choice. Please try again." -ForegroundColor Red
Start-Sleep -Seconds 2
}
}
第三步:运行脚本
打开 PowerShell,执行:
.\claude-switch.ps1
你会看到类似这样的交互菜单:
Select Claude Code Provider:
---------------------------
1. Anthropic 官方
2. 中转服务 A
3. 中转服务 B
4. Exit
Enter your choice (1-4):
输入数字选择供应商,脚本会自动设置环境变量并启动 Claude Code。
进阶:设置别名快速启动
在 PowerShell 配置文件中添加别名,以后只需输入 cc 即可启动:
# 编辑 PowerShell 配置文件
notepad $PROFILE
# 添加以下内容
function cc { & "C:\path\to\claude-switch.ps1" }
保存后重启 PowerShell,输入 cc 即可使用。
总结
这个脚本虽然只有几十行,但解决了一个实际痛点:在多个 Claude Code API 供应商之间快速切换。配合 JSON 配置文件,添加或修改供应商只需编辑配置,无需改动脚本本身。
如果你也在使用多个 API 供应商,不妨试试这个方案。
评论区