侧边栏壁纸
博主头像
可乐呢o3o博主等级

少些比较,多些谦虚。

  • 累计撰写 57 篇文章
  • 累计创建 69 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

Claude Code 多供应商切换脚本使用指南

Evan
2026-02-07 / 0 评论 / 0 点赞 / 4 阅读 / 5532 字

Claude Code 多供应商切换脚本使用指南

一个简洁的 PowerShell 脚本,让你在多个 Claude Code API 供应商之间自由切换。

背景

Claude Code 是 Anthropic 推出的官方命令行工具,默认连接 Anthropic 官方 API。但在实际使用中,你可能有多个 API 供应商(官方直连、中转服务、不同区域节点等),每次手动修改环境变量非常繁琐。

本文介绍一个 PowerShell 脚本,通过 JSON 配置文件管理多个供应商,启动时交互式选择,一键切换。

工作原理

脚本的核心逻辑非常简单:

  1. 读取 ~\.claude_providers.json 配置文件
  2. 展示交互式菜单供用户选择
  3. 根据选择设置对应的环境变量
  4. 启动 Claude Code

Claude Code 启动时会读取以下环境变量来决定连接哪个 API:

环境变量作用
ANTHROPIC_BASE_URLAPI 基础地址
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 供应商,不妨试试这个方案。

0

评论区