🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度
1. 用 CC Switch 给同一个 Claude Code 工作区准备两套 Flash profile
在同一个 Claude Code 工作区里按仓库切换模型,以前我靠手改 ~/.claude/settings.json,切一次忘一次。现在用 CC Switch 做两套 profile:GLM 5.3 Flash 一套,DeepSeek V4.1 Flash 一套,共用一把 TaoToken Key。Key 从 TaoToken 控制台创建,自定义供应商的 Base URL 固定写 https://taotoken.net/api。这篇只讲插件配置,不评模型好坏,也不含排行分数。两个仓库的代码风格、上下文长度和日常任务不一样,一个仓库偏短补全和快速问答,另一个仓库偏长文件阅读和重构讨论,所以需要不同的 Flash 模型来回切。CC Switch 的价值不是替你写业务代码,而是把 Claude Code 的供应商配置做成可切换的 profile,避免每次进仓库都要手动改模型 ID。
Claude Code 启动时读 ~/.claude/settings.json 里的 env,三个关键项是 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL。CC Switch 的 profile 切换,最终就是改写这三项。手改的问题是模型 ID 长得像,GLM 5.3 Flash 和 DeepSeek V4.1 Flash 的 ID 如果不从模型广场复制,很容易把展示名当 ID 填进去,结果请求返回 404。CC Switch 把两套值存成独立 profile,切换时整体覆盖,两个仓库各用各的,减少复制粘贴带来的错误。
按仓库切换有两种落地方式。CC Switch 版本支持目录匹配时,给 profile 加仓库绝对路径,进目录就自动选对应供应商;版本不支持目录匹配时,就在打开仓库前手动点一下 profile。我的做法是 profile 名称直接带仓库名和模型名,比如 repo-a-glm-5.3-flash、repo-b-deepseek-v4.1-flash,这样在菜单里不会选错。两套 profile 共用同一把 Key,控制台用量页会把两个仓库的调用记在一起,对账时只需要看一个 Key 的流水,不用把两把 Key 的账单拼起来。
这套方案的关键不是 CC Switch 本身,而是把 Base URL 固定成 https://taotoken.net/api,把 Key 固定成 YOUR_API_KEY,把模型 ID 的差异隔离在 profile 里。这样切换仓库时只换模型 ID,不换通道、不换鉴权、不换计费主体。后面每一步都围绕这个隔离来做,先拿到两个模型 ID,再写 profile JSON,最后用 /model 验证切换是否真的生效。
2. 在模型广场锁定 GLM 5.3 Flash 与 DeepSeek V4.1 Flash 的模型 ID
配置之前先把两个模型 ID 拿到手。打开 模型对话,在模型广场里搜 GLM 5.3 Flash,进入详情页复制模型 ID;再搜 DeepSeek V4.1 Flash,复制第二个 ID。模型广场的展示名和请求里的 model 字段不一定完全一样,尤其带版本号和 Flash 后缀的,复制 ID 比手打安全。Base URL 在 CC Switch 自定义供应商里写 https://taotoken.net/api,末尾不要加 /v1。Key 在 控制台 创建,两个 profile 共用 YOUR_API_KEY,除非你需要按仓库分开计费。
模型 ID 的验证可以放在配置之前:在模型对话里选一次 GLM 5.3 Flash,看请求示例里的 model 字段;再选 DeepSeek V4.1 Flash,看第二个 model 字段。把这两个字符串记下来,分别填到两套 profile。TaoToken 的模型广场是唯一来源,别从旧笔记里抄 ID,模型版本更新后旧 ID 可能已经下线。本文不含排行分数,也不把任何公榜 ELO 或 SWE-bench 百分比写成模型能力结论。你只需要关心两件事:ID 能不能对上,Base URL 是不是 https://taotoken.net/api。
这里有一个容易踩的坑:模型广场里同一个系列可能有多个版本,Flash 后缀、版本号、是否带日期都要看清。复制时连大小写一起复制,Claude Code 的 ANTHROPIC_MODEL 是精确匹配,差一个字符就会 404。另一个坑是把 Key 当成模型 ID 填进去,或者把模型 ID 填进 ANTHROPIC_AUTH_TOKEN,这两个字段在 settings.json 里位置接近,手改时经常互换。用 CC Switch 的 profile 可以减少这种事故,因为每个字段只填一次,之后切换是整体覆盖。
如果你还没有 Key,先创建一把,复制完整字符串,后面两套 profile 共用。控制台里可以给 Key 起一个带仓库含义的名字,比如 claude-code-repo-a-b,这样用量页出现异常调用时能快速定位到是哪个工作区。Key 不要写进仓库代码,也不要提交到 Git;CC Switch 的 profile 文件本身如果包含 Key,建议放在用户目录下,不要放进项目目录。
3. CC Switch 自定义供应商三件套与 profile JSON 片段
CC Switch 里新增自定义供应商,界面通常让你填三件套:Base URL、API Key、模型 ID。两套 profile 的 Base URL 完全一样,都是 https://taotoken.net/api;API Key 也完全一样,都是 YOUR_API_KEY;只有模型 ID 不同。名称可以写 taotoken-glm-5.3-flash 和 taotoken-deepseek-v4.1-flash,方便按仓库绑定。不同版本的 CC Switch 字段名可能是 baseUrl、apiKey、model,也可能是 base_url、api_key、model,界面里按对应意思填就行。
下面是一个 profile JSON 片段,结构按你本地 CC Switch 版本调整。directory 字段不是所有版本都有,有就填仓库绝对路径,没有就手动切换;REPLACE_WITH_GLM_5_3_FLASH_ID 和 REPLACE_WITH_DEEPSEEK_V4_1_FLASH_ID 必须换成模型广场里复制的真实 ID。
{
"profiles": [
{
"name": "repo-a-glm-5.3-flash",
"provider": "custom",
"baseUrl": "https://taotoken.net/api",
"apiKey": "YOUR_API_KEY",
"model": "REPLACE_WITH_GLM_5_3_FLASH_ID",
"directory": "/Users/you/work/repo-a"
},
{
"name": "repo-b-deepseek-v4.1-flash",
"provider": "custom",
"baseUrl": "https://taotoken.net/api",
"apiKey": "YOUR_API_KEY",
"model": "REPLACE_WITH_DEEPSEEK_V4_1_FLASH_ID",
"directory": "/Users/you/work/repo-b"
}
]
}
如果 CC Switch 最终改写的是 ~/.claude/settings.json,两套 profile 分别对应下面两个 env。GLM 5.3 Flash 的 profile 切过去后,settings.json 里的 env 应该是这样:
{
"env": {
"ANTHROPIC_BASE_URL": "https://taotoken.net/api",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"ANTHROPIC_MODEL": "REPLACE_WITH_GLM_5_3_FLASH_ID"
}
}
DeepSeek V4.1 Flash 的 profile 切过去后,只有 ANTHROPIC_MODEL 变化,另外两项保持不变:
{
"env": {
"ANTHROPIC_BASE_URL": "https://taotoken.net/api",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"ANTHROPIC_MODEL": "REPLACE_WITH_DEEPSEEK_V4_1_FLASH_ID"
}
}
这里再强调一次:Base URL 写 https://taotoken.net/api,不要写成 https://taotoken.net/api/v1。Codex 的配置在 ~/.codex/config.toml,不要把 ANTHROPIC_* 套到 Codex 上;CC Switch 如果同时管理 Codex,也要分开填。两套 Claude Code profile 共用一把 Key,不要为了切换模型而新建 Key,否则用量页会出现两条互不相干的流水,对账时更麻烦。
4. 按仓库切换后,用 /model 验证 GLM 5.3 Flash 和 DeepSeek V4.1 Flash
配置写完只是第一步,真正要确认的是切换后 Claude Code 到底把哪个模型 ID 发出去了。验证步骤不复杂:在 CC Switch 里把 repo-a 绑到 GLM profile,把 repo-b 绑到 DeepSeek profile;没有目录匹配的版本就手动选。然后在 repo-a 目录打开终端,启动 claude,在会话里输入 /model,看当前模型 ID。这个 ID 应该与模型广场里 GLM 5.3 Flash 的 ID 完全一致。退出后切到 DeepSeek profile,在 repo-b 目录再启动 claude,输入 /model,看到的应该是 DeepSeek V4.1 Flash 的 ID。
我这边验证时用的检查结果如下,模型 ID 用占位符表示,实际值以你模型广场复制的为准。这个表只说明配置对上没有,不代表模型在公榜上的排名,也不把耗时、Token、状态码拼成综合实力表。
| 仓库 | CC Switch profile | 自定义供应商 Base URL | 切换后 /model | 最小请求结果 |
|---|---|---|---|---|
| repo-a | repo-a-glm-5.3-flash | https://taotoken.net/api | 与模型广场 GLM 5.3 Flash ID 一致 | 没有 401/404 |
| repo-b | repo-b-deepseek-v4.1-flash | https://taotoken.net/api | 与模型广场 DeepSeek V4.1 Flash ID 一致 | 没有 401/404 |
除了 /model,还可以发一条最小请求做冒烟测试。在 repo-a 里执行 claude -p "只回复 ok",看是否正常返回;再切到 repo-b 执行同样命令。两次都不应该出现鉴权错误或模型不存在。这里只是本地一次运行,用来确认 Key、Base URL、模型 ID 三者对上了,不写成公榜成绩。跑完后去控制台用量页看两次调用是否入账,如果只有一次入账,说明其中一个 profile 的 Base URL 或 Key 写错了,或者切换后 Claude Code 没有重启。
还有一个细节:Claude Code 的环境变量在进程启动时读取,CC Switch 切换后如果当前会话还开着,旧模型 ID 可能仍然生效。所以验证时先退出当前 claude 会话,再重新进入。如果用的是目录自动切换,确认当前终端的实际路径与 profile 里 directory 完全一致,软链接路径和真实路径在某些版本里不匹配,会导致自动切换不触发。
5. 排障与复现:401、模型 ID、settings.json 与 Codex 配置边界
401 是最常见的。先看 Key 是不是从控制台复制的完整字符串,前后有没有空格;再看 ANTHROPIC_AUTH_TOKEN 有没有误填成模型 ID;最后看 ANTHROPIC_BASE_URL 是不是 https://taotoken.net/api。Base URL 末尾带 /v1 会导致路径拼接错误,虽然有些兼容层能容忍,但 Claude Code 的请求路径和 TaoToken 的兼容通道是按无 /v1 的 Base URL 设计的。改完以后重启 Claude Code,再跑一次最小请求。
404 通常是模型 ID 不对。模型广场里展示名可能带空格和大小写,请求里的 model 字段必须精确复制。还有一种情况是旧 ID 已经下线,你从旧笔记里抄的 ID 不再可用。回到模型对话,重新选一次 GLM 5.3 Flash 和 DeepSeek V4.1 Flash,看请求示例里的 model 字段,替换 CC Switch profile 里的 REPLACE_WITH_... 占位符。替换后切换 profile,重新 /model 验证。
切换不生效分三种。第一种是 Claude Code 已启动,环境变量没有重新加载,退出重开即可。第二种是 CC Switch 写入的配置文件不是 ~/.claude/settings.json,可能写到了 Codex 的 ~/.codex/config.toml,或者被其他工具覆盖。打开 ~/.claude/settings.json,确认 env 里三项与当前 profile 一致。第三种是目录匹配失效,profile 里的 directory 写的是相对路径或软链接路径,改成绝对真实路径再试。
Codex 的边界单独说:Codex 用 ~/.codex/config.toml,里面写 base_url = "https://taotoken.net/api",不要写 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL。CC Switch 如果同时管理 Claude Code 和 Codex,两边的供应商配置是分开的,别把 Claude Code 的 env 片段复制到 Codex 的 TOML 里。本文只处理 Claude Code 按仓库切换 GLM 5.3 Flash 和 DeepSeek V4.1 Flash,Codex 不在这次验证范围内。
复现时最好固定一个最小 Prompt,比如“只回复 ok”,分别在两个仓库跑一次。记录当时用的是哪个 profile、/model 显示什么、请求有没有报错。这个记录不是公榜分数,只是配置回归测试。下次换模型 ID 或换 Key 时,拿这份记录对照,能快速判断是通道问题还是模型 ID 问题。
6. 用同一把 Key 复现对照表与长期开发通道
两套 profile 跑通后,可以做一个最小对照:同一个仓库、同一个 Prompt、分别用 GLM 5.3 Flash 和 DeepSeek V4.1 Flash 各跑一次,记录耗时、Token 消耗、能不能完成任务。表格列可以这样留:
| 仓库 | profile | 模型 ID 来源 | 耗时 | Token | 是否完成 |
|---|---|---|---|---|---|
| repo-a | repo-a-glm-5.3-flash | 模型广场 GLM 5.3 Flash | |||
| repo-b | repo-b-deepseek-v4.1-flash | 模型广场 DeepSeek V4.1 Flash |
这张表只代表你本地一次运行,不代表公榜。本文不含排行分数,也不把 Artificial Analysis 的智能指数或任何 Arena ELO 拼进来。你需要的是确认两套 profile 能稳定切换、共用一把 Key 能对上账、两个模型 ID 都没有 404。
跑完切换验证后,打开 模型对话 发一条短 prompt,确认这次调用在 TaoToken 控制台用量里能对上;长期开发可以看 Coding Plan。Key 在 控制台 创建;Claude Code / CC Switch 三件套对照 接入文档。两套 profile 共用一把 Key,后续换仓库时只切 profile,不改 Base URL,也不改鉴权。
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度




被折叠的 条评论
为什么被折叠?



