轩辕李的博客 轩辕李的博客
首页
  • Java
  • Spring
  • 其他语言
  • 工具
  • HTML&CSS
  • JavaScript
  • 分布式
  • 代码质量管理
  • 基础
  • 操作系统
  • 计算机网络
  • 编程范式
  • 安全
  • 中间件
  • 心得
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

轩辕李

勇猛精进,星辰大海
首页
  • Java
  • Spring
  • 其他语言
  • 工具
  • HTML&CSS
  • JavaScript
  • 分布式
  • 代码质量管理
  • 基础
  • 操作系统
  • 计算机网络
  • 编程范式
  • 安全
  • 中间件
  • 心得
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 分布式

  • 代码质量管理

  • 基础

  • 操作系统

  • 计算机网络

  • AI

    • Claude Code 最佳实践(个人版)
    • Claude Code实战之供应商切换工具
      • Claude Code 实战:从提示词到脚本
      • 它解决了什么
      • 它怎么做(机制)
      • Claude Code vs 手写/通用聊天模型
      • 能力一览
      • 使用方法
      • 变量说明
      • 核心片段(示意)
      • 你可能会问
      • 总结
    • Claude Code与Codex的协同工作
    • AI时代的编程心得
  • 编程范式

  • 安全

  • 中间件

  • 心得

  • 架构
  • AI
轩辕李
2025-08-18
目录

Claude Code实战之供应商切换工具

有一次,我想把“写个小脚本”这种轻活切到便宜模型。ANTHROPIC_BASE_URL 改了,ANTHROPIC_AUTH_TOKEN 换了,偏偏漏了 ANTHROPIC_SMALL_FAST_MODEL。Claude Code 报错、会话不生效,我在几个终端窗口里来回重启,半小时就这么被吃掉了。

那一刻我意识到:切换供应商,不该靠记忆力。

于是做了个小工具,把“选择供应商 → 写入环境变量 → 打开新会话”串成一道工序,让事实替你干活。需要“火力全开”时选昂贵模型(如 Claude 最新大模型),日常改脚本就切到省钱选项(如 qwen-coder、glm-4.5)。

链接:

  • 脚本地址 (opens new window)

如果你也在不同供应商间切换,这就是一个能立刻省时间、少踩坑的小开关。

# 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 给出安全写法。
  • 增加“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 或你指定的工具)

# 使用方法

  1. 下载 cc-provider-manage.cmd 到你的工具目录。
  2. 双击运行,或在 cmd 里执行。
  3. 首次使用先“添加供应商”:
    • ANTHROPIC_BASE_URL:供应商的兼容接口地址(按代理/平台文档填写)
    • ANTHROPIC_AUTH_TOKEN:对应密钥
    • ANTHROPIC_MODEL:默认主力模型(可选)
    • ANTHROPIC_SMALL_FAST_MODEL:默认小而快的模型(可选)
  4. 切换供应商:在列表里选一个,脚本会用 setx 写入环境变量。
  5. 让配置马上生效:选择“在新窗口打开 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
Claude Code 最佳实践(个人版)
Claude Code与Codex的协同工作

← Claude Code 最佳实践(个人版) Claude Code与Codex的协同工作→

最近更新
01
AI时代的编程心得
09-11
02
Claude Code与Codex的协同工作
09-01
03
Claude Code 最佳实践(个人版)
08-01
更多文章>
Theme by Vdoing | Copyright © 2018-2025 京ICP备2021021832号-2 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式