🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度
1. 先把目标定清楚:两套 Profile 各管一件事
CC Switch 是一个给 Claude Code 做多环境切换的小工具,它把不同的 API 端点、密钥、模型参数存成独立的 Profile,启动时选一个,Claude Code 就按那套配置跑。很多人第一次用它,是把官方账号和第三方端点分开,但更实用的玩法是:按任务类型拆 Profile。
我这次要落盘的是两套:
一套叫daily-qa,负责日常问答、查文档、解释报错、写点小脚本,模型用 Qwen3.7 Flash,追求响应快、成本低;另一套叫code-review,专门做代码审查、重构建议、边界条件检查,模型用 Qwen3.8 Max,愿意多花点 token 换更稳的判断。
关键诉求不是「能切换」,而是切换之后环境变量不串。也就是说,跑daily-qa时读到的ANTHROPIC_BASE_URL、ANTHROPIC_API_KEY、模型名,必须和code-review完全隔离,不能出现 A 的 Key 配 B 的模型这种脏状态。下面从拿 Key 开始,一步步把目录树、JSON、启动命令和核验步骤都摆出来。
2. 拿 Key 与确认端点
打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_generate&utm_content=ccswitch_profiles ,注册或登录后进控制台。左侧找 API Keys,点创建,起个能区分的名字,比如cc-daily和cc-review。这里建议直接建两把 Key,而不是一把 Key 两套 Profile——后面验证隔离性时,两把 Key 能让你一眼看出当前生效的是哪套。
创建完把 Key 复制出来,形如sk-...,只显示一次,先贴到临时文本里。接着确认接入地址:TaoToken 的 API 根地址是https://taotoken.net/api,Claude Code 走的是 Anthropic 兼容协议,所以 Base URL 填这个根地址即可,不需要在后面拼/v1/messages之类的路径,客户端会自己补。
模型名这块,Qwen3.8 Max 和 Qwen3.7 Flash 的具体标识以官网模型列表为准,控制台里能看到当前可用的名称。我这边用的写法是qwen3.8-max和qwen3.7-flash,你在配置时替换成控制台实际显示的那个字符串。如果模型名写错,Claude Code 启动不会报错,但第一次请求会返回模型不存在的提示,这个坑后面失败分支里会再讲。
顺手把接入文档页也开着:https://taotoken.net/doc ,里面会写清楚当前支持的协议头和参数格式,配置时对照着看能少走弯路。
3. CC Switch 的配置目录与两套 Profile JSON
CC Switch 的配置默认落在用户目录下的.cc-switch文件夹里。不同系统路径略有差异,macOS 和 Linux 是~/.cc-switch/,Windows 是%USERPROFILE%\.cc-switch\。目录结构大致是这样:
~/.cc-switch/ ├── config.json ├── profiles/ │ ├── daily-qa.json │ └── code-review.json └── logs/ └── switch.logconfig.json记录当前激活的是哪个 Profile,profiles/下每个 JSON 就是一套完整环境。先看daily-qa.json:
{ "name": "daily-qa", "description": "日常问答与轻量脚本,Qwen3.7 Flash", "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的daily专用Key", "ANTHROPIC_MODEL": "qwen3.7-flash", "ANTHROPIC_SMALL_FAST_MODEL": "qwen3.7-flash" }, "claudeArgs": [] }再看code-review.json:
{ "name": "code-review", "description": "代码审查与重构建议,Qwen3.8 Max", "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的review专用Key", "ANTHROPIC_MODEL": "qwen3.8-max", "ANTHROPIC_SMALL_FAST_MODEL": "qwen3.7-flash" }, "claudeArgs": ["--max-tokens", "8192"] }两套 Profile 的差异点集中在三处:Key 不同、主模型不同、claudeArgs不同。code-review多带了--max-tokens 8192,因为审查长文件时默认输出上限容易截断。ANTHROPIC_SMALL_FAST_MODEL我统一设成 Flash,它负责一些后台的小请求,用快模型更划算。
config.json里只需要一个字段指向当前激活项:
{ "activeProfile": "daily-qa" }这里有个容易踩的坑:JSON 里不要写注释,CC Switch 解析用的是标准 JSON 解析器,带//会直接报解析失败,表现为切换命令无响应或提示配置损坏。另外 Key 里如果含有特殊字符,确保用双引号完整包住,不要手动转义。
4. 切换、启动与隔离性核验
配置写好后,用 CC Switch 的命令行切换。假设工具的可执行文件叫cc-switch:
# 切到日常问答 cc-switch use daily-qa # 确认当前激活项 cc-switch current # 输出:daily-qa # 启动 Claude Code claude切到审查环境同理:
cc-switch use code-review cc-switch current # 输出:code-review claude光看current输出还不够,真正要验证的是环境变量有没有串。Claude Code 启动时会读取ANTHROPIC_*系列变量,可以在启动前用一条命令把当前 shell 里实际生效的值打出来:
cc-switch use daily-qa env | grep ANTHROPIC预期看到ANTHROPIC_MODEL=qwen3.7-flash,且 Key 是 daily 那把。再切一次:
cc-switch use code-review env | grep ANTHROPIC这次应该是ANTHROPIC_MODEL=qwen3.8-max,Key 换成 review 那把。如果两次输出里 Key 没变,说明 CC Switch 只改了config.json但没把变量注入当前 shell,这时候需要确认你的 shell 有没有 source 它的 hook,或者改用cc-switch exec code-review claude这种包裹式启动,让工具在子进程里注入环境。
更彻底的核验是看请求实际打到了哪个模型。在 Claude Code 里发一句:
请用一句话说明你当前使用的模型标识。daily-qa下应该回 Flash 相关标识,code-review下回 Max 相关标识。如果两边回答的模型标识一样,那基本可以判定模型名没生效,回去检查 JSON 里的ANTHROPIC_MODEL拼写。
失败分支我遇到过的有三种。第一种是切换后claude启动报 401,通常是 Key 复制时带了空格或换行,重新从控制台复制一次即可。第二种是 404,多半是 Base URL 写成了带路径的形式,比如https://taotoken.net/api/v1,改回根地址https://taotoken.net/api就好。第三种是模型不存在,请求返回明确提示,对照控制台模型列表改ANTHROPIC_MODEL。这三种都不涉及网络层操作,纯配置问题,改完 JSON 重新cc-switch use一次就恢复。
5. 成本、模型选择与长期维护
两套 Profile 的成本结构不一样。daily-qa用 Flash,单价低、响应快,适合高频的问答和补全;code-review用 Max,单次审查可能吃掉几千到上万 token,但换来的是对边界条件和潜在 bug 的更细判断。我的做法是日常默认停在daily-qa,只有明确要审代码时才切过去,避免顺手提问也走 Max 烧额度。
模型标识和可用列表会随官网更新,配置前建议先看一眼 https://taotoken.net/api 对应的文档说明,确认当前推荐的模型名。如果之后想加第三套 Profile,比如专门跑长文档总结的,复制一份 JSON 改 Key 和模型名即可,目录结构不用动。
维护上有个小习惯值得养成:每次改完 Profile,跑一遍cc-switch current加env | grep ANTHROPIC,确认激活项和变量一致再启动 Claude Code。这一步花不到五秒,但能挡掉绝大多数「Key 和模型对不上」的隐性错误。两套 Profile 的隔离做扎实了,后面无论加多少套,都是同一套验证流程。
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度