Claude Code实战之供应商切换工具
有一次,我想把“写个小脚本”这种轻活切到便宜模型。ANTHROPIC_BASE_URL
改了,ANTHROPIC_AUTH_TOKEN
换了,偏偏漏了 ANTHROPIC_SMALL_FAST_MODEL
。Claude Code 报错、会话不生效,我在几个终端窗口里来回重启,半小时就这么被吃掉了。
那一刻我意识到:切换供应商,不该靠记忆力。
于是做了个小工具,把“选择供应商 → 写入环境变量 → 打开新会话”串成一道工序,让事实替你干活。需要“火力全开”时选昂贵模型(如 Claude 最新大模型),日常改脚本就切到省钱选项(如 qwen-coder
、glm-4.5
)。
链接:
如果你也在不同供应商间切换,这就是一个能立刻省时间、少踩坑的小开关。
# Claude Code 实战:从提示词到脚本
这次我把工作流交给 Claude Code:描述目标→生成脚本→本地试跑→把报错与现象贴回去→迭代修正。不到一个小时,脚本可用且可维护。
初始提示词(节选):
用 Windows 批处理写一个“Claude Code 供应商管理器”,要求: 1)菜单:添加/切换/编辑/删除/新窗口打开 Claude/退出; 2)持久化配置到 %USERPROFILE%\.cc-providers.txt,字段以 | 分隔; 3)显示当前使用的供应商(含模型),切换后用 setx 写入环境变量; 4)支持清空/删除不存在的环境变量键,避免残留(reg delete HKCU\Environment); 5)新窗口用 start 打开并运行命令 claude。
迭代要点:
- 首版即可运行,但有变量残留与空格问题;我给出复现场景,Claude 增加清理逻辑与
trim
例程。 - 为避免泄密,只展示 Token 前 20 位;Claude 给出安全写法。
- 首版即可运行,但有变量残留与空格问题;我给出复现场景,Claude 增加清理逻辑与
增加“0 号回到官方提供商”的选项与文案,使用流更顺。
# 它解决了什么
- 减少易错环节:一次要改 4 个变量(
BASE_URL
、TOKEN
、主模型、小模型),漏一个就踩雷。 - 明确“切换即生效”:写入持久化变量后,自动开启新会话,确保新进程拿到最新环境。
- 让成本可控:重活用强模,小活用快模/省钱模,切换不再成为负担。
# 它怎么做(机制)
选择了最稳定也最通用的方案:Windows 批处理脚本 + 文本配置。
- 交互菜单:先显示“当前供应商”,再给出操作选项。
- 配置持久化:每个供应商保存
name/base_url/token/model/small_fast_model
到可读可改的文本文件。 - 环境变量写入:用
setx
写当前用户变量(需要系统级时可改为setx /M
,需管理员权限)。 - 新会话生效:切换后用
start
打开新窗口(Claude Code/VS Code/终端均可),新进程自然读取到最新变量。
本质上,是把“记忆与手改”替换为“选择与确认”。
# Claude Code vs 手写/通用聊天模型
- 效率:Claude Code 走“目标→脚本→报错→修复”的闭环,批处理的
setx/reg/start
组合与边界条件考虑更快;手写要反复查资料;通用聊天模型常忽略 Windows 细节导致多轮试错。 - 修复速度:给出报错行与现象后,Claude Code 能补齐
trim
、注册表清理、Token 前缀显示等;手写需要自己穷举分支;通用模型容易“一处修了,旁边又坏”。 - 健壮性:Claude Code 主动提示 set vs setx 的差异、清理残留键、特殊字符引号以及 delayed expansion 风险;手写常漏极端输入;通用模型容易给出类 Unix 做法而不适配批处理。
- 适用场景:
- 批处理/跨平台兼容/边界多:优先用 Claude Code 迭代落地。
- 一次性很小的脚本:手写最快。
- 只做思路对比:通用聊天模型给方向,再交给 Claude Code 实装。
# 能力一览
- 添加供应商(填
ANTHROPIC_BASE_URL
、ANTHROPIC_AUTH_TOKEN
,可选ANTHROPIC_MODEL
、ANTHROPIC_SMALL_FAST_MODEL
) - 一键在供应商间切换
- 编辑既有配置(改 base_url、token 或模型名)
- 删除不用的配置
- 打开新窗口立即使用新变量(Claude Code 或你指定的工具)
# 使用方法
- 下载
cc-provider-manage.cmd
到你的工具目录。 - 双击运行,或在
cmd
里执行。 - 首次使用先“添加供应商”:
ANTHROPIC_BASE_URL
:供应商的兼容接口地址(按代理/平台文档填写)ANTHROPIC_AUTH_TOKEN
:对应密钥ANTHROPIC_MODEL
:默认主力模型(可选)ANTHROPIC_SMALL_FAST_MODEL
:默认小而快的模型(可选)
- 切换供应商:在列表里选一个,脚本会用
setx
写入环境变量。 - 让配置马上生效:选择“在新窗口打开 Claude Code”(也可改成
start code .
或你常用的终端)。
小提醒:setx
写的是“持久化变量”,对“新开的进程”生效;在老终端里运行完,请新开一个窗口使用。
# 变量说明
ANTHROPIC_BASE_URL
:兼容接口地址(各平台可能不同)。ANTHROPIC_AUTH_TOKEN
:鉴权令牌。注意保密,不要提交到仓库。ANTHROPIC_MODEL
:主力模型名,如claude-3.7
、qwen2.5-coder-7b-instruct
。ANTHROPIC_SMALL_FAST_MODEL
:小而快的模型,用于轻量任务。
# 核心片段(示意)
:: 切换时写入并清理环境变量(持久化)
setx ANTHROPIC_BASE_URL "%%a" >nul
setx ANTHROPIC_AUTH_TOKEN "%%b" >nul
:: 条件设置/删除模型相关键,避免残留
if not "!model_value!"=="" (
setx ANTHROPIC_MODEL "!model_value!" >nul
) else (
setx ANTHROPIC_MODEL= >nul 2>&1
reg delete "HKCU\Environment" /v ANTHROPIC_MODEL /f >nul 2>&1
)
:: 新窗口运行 Claude Code(即可拿到最新变量)
start "" cmd /k "claude"
关于 setx
的两个要点(Claude 也特别提醒):
- 会话内的
set
只是临时;setx
会把值写入注册表,供新进程读取。 - 令牌里如果有
&
、^
等特殊字符,建议加引号;脚本里已做处理。
# 你可能会问
- 切换后没生效?请在“新开的窗口”里使用。老窗口仍是旧变量。
- 想要系统级变量?把
setx
改成setx /M
,并用管理员权限运行。 - Base URL 怎么填?按代理/平台文档来,有的带路径前缀,有的纯域名。
- 安全问题?配置文件只在本机,别提交到仓库;多人共享机器时注意权限。
# 总结
把“切换供应商”交给脚本,精力回到手头任务上。省心、省钱,也更稳。
编辑 (opens new window)
上次更新: 2025/09/12