🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度
1. CC Switch 新增供应商 profile:Claude Code 不重装的前置条件
CC Switch 是一类供应商切换插件,这次要拿它做一件小事:新增一个供应商 profile,把 Claude Code 的默认模型切到 GLM 5.3 Flash,全程不动 Claude Code 的安装。动手之前先有 Key,它来自 TaoToken 的落地页;拿到之后,CC Switch 的 provider 文件里要填的东西只有三样:Base URL 写 https://taotoken.net/api,Key 写你自己的,模型写模型广场里 GLM 5.3 Flash 对应的那一行 ID。整件事听起来像配置搬运,真正会卡人的地方在三处:Base URL 带不带 /v1,模型 ID 从哪里抄,以及切完之后怎么确认生效的是新 profile,而不是 shell 里残留的旧环境变量。下面按顺序走一遍,每一段都能直接复制。
1.1 换后端为什么不用重装 CLI
Claude Code 在启动时要读的后端信息只有三个环境变量:ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL。这三个值可以来自当前 shell 的 export,也可以写在 ~/.claude/settings.json 的 env 字段里。CLI 二进制本身不关心对面是哪家服务,它只把请求按 Anthropic 协议发出去。换供应商的本质就是换这三个值,卸载重装不会带来任何额外好处,反而会把 MCP server 列表、权限白名单、项目级的 CLAUDE.md 一起清掉,等于给自己制造第二份要维护的配置。
CC Switch 做的事情就是在中间加一层:把三件套按 profile 存起来,切换时把选中的那份写回配置文件,或者通过启动包装注入环境变量。具体走哪条路取决于你装的版本,但结果一样——你不用记「上次手改到哪一行」,也不用担心几个项目共用一份 settings.json 时互相打架。对经常在「本地验证」「对照评测」「正式开发」之间来回切的人来说,这层薄封装省下的是排查时间,不是安装时间。
1.2 本篇要做的四步
第一步,从落地页进控制台创建一把 API Key,记下创建时间,方便后面在用量页对账。第二步,打开 CC Switch 的配置文件,在自定义供应商列表里新增一个 profile,填入 Base URL、Key、模型三样。第三步,把 Claude Code 当前的供应商指向这个新 profile。第四步,启动 claude,确认命中的模型 ID 是模型广场里 GLM 5.3 Flash 的那一行,Base URL 没有多余后缀。
四步里唯一不能凭印象做的是第三步和第四步之间的验证。很多人切完就直接写业务代码,跑到半小时后发现回答风格不对,才回头看配置,这时候已经分不清是切换没生效还是模型本来就这样。把验证放在最前面,成本是两分钟。
1.3 profile 命名和存放位置
CC Switch 的配置目录在 macOS 和 Linux 上一般是用户主目录下的 ~/.cc-switch/,Windows 在对应的用户目录里,配置文件名以 json 结尾,具体路径以你装的版本为准。打开之后能看到按客户端分组的供应商列表,Claude 和 Codex 各自一套。这里建议 profile 的 id 带上用途前缀,比如 tao-glm-flash、tao-coder、tao-deepseek,显示名可以写得更清楚一点,但 id 别用 provider1、test、new 这种词。
原因很实际:切换面板是按列表渲染的,一周之后你不会记得 test 是哪家、new 又是什么时候建的。id 稳定还有个好处,后面用命令行改 current 字段时可以直接写字符串,不需要去猜某个中文显示名对应的键。至于 Codex 那一侧,配置走的是 ~/.codex/config.toml,字段结构跟 Anthropic 系完全不一样,别把 ANTHROPIC_* 那三件套复制过去,它不认识这些键,会安静地忽略掉,然后你会以为切换没生效。
2. provider 文件里怎么填:Base URL 与三件套
先把结论放在前面。CC Switch 里的自定义供应商,本质是一份「显示名 + 三件套」的记录。不同版本的配置结构有差异,有的版本把 Anthropic 相关配置放在一个叫 settingsConfig 的字符串字段里,有的版本直接展开成嵌套对象。字段名以你本机版本为准,但下面这几个键绕不开:供应商标识、Base URL、API Key、模型 ID。把这四个位置填对,切换这件事就完成了九成。
2.1 一份可复制的 provider 片段
下面的片段按嵌套对象的形态写。如果你的版本用字符串存 settingsConfig,把 env 那个对象整体序列化成字符串即可,2.2 节给了对应写法。
{
"claude": {
"providers": {
"tao-glm-flash": {
"id": "tao-glm-flash",
"name": "TaoToken / GLM 5.3 Flash",
"category": "custom",
"settingsConfig": {
"env": {
"ANTHROPIC_BASE_URL": "https://taotoken.net/api",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"ANTHROPIC_MODEL": "YOUR_MODEL_ID"
}
}
}
},
"current": "tao-glm-flash"
}
}
这里有两个占位符必须替换。YOUR_API_KEY 换成你刚创建的那把 Key,YOUR_MODEL_ID 换成模型广场里 GLM 5.3 Flash 对应的 ID,不要自己拼字符串。模型 ID 以页面展示为准,抄错一个字符的表现通常是服务端返回 not found,而不是 give me a hint 之类能让你一眼看懂的错误。
2.2 settingsConfig 是字符串的版本
有些版本把整段配置压成字符串存,这时候写出来是这样:
"settingsConfig": "{\"env\":{\"ANTHROPIC_BASE_URL\":\"https://taotoken.net/api\",\"ANTHROPIC_AUTH_TOKEN\":\"YOUR_API_KEY\",\"ANTHROPIC_MODEL\":\"YOUR_MODEL_ID\"}}"
转义看起来烦,但它跟你手点的结果完全等价。改之前先备份一份原文件,改完用 jq . ~/.cc-switch/config.json 验证一次整体结构没坏,jq 报错就说明括号或逗号出了问题,这时候回滚比重写快。
2.3 绕开 CC Switch 时的等价写法
如果某个场景下你不想经过 CC Switch,比如临时机器或者容器里,直接写用户级配置也能达到同样效果。Claude Code 会读 ~/.claude/settings.json 的 env 字段:
{
"env": {
"ANTHROPIC_BASE_URL": "https://taotoken.net/api",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"ANTHROPIC_MODEL": "YOUR_MODEL_ID"
}
}
Key 从落地页 TaoToken 进控制台创建,创建完第一件事是把 Key 只写进本地配置文件。不要提交到仓库,不要贴进对话让模型帮你「检查格式」,也不要把配置目录放在 iCloud、OneDrive 这类同步盘里——那份文件是明文的,同步等于把 Key 复制到你的每一台设备。这一条不是洁癖,Key 泄露之后要重建的不只是一把 Key,还有你对这套配置的信任。
2.4 Base URL 的尾部不能带 /v1
Anthropic 协议的客户端会自己在 Base URL 后面拼 /v1/messages,所以正确形态是 https://taotoken.net/api,末尾不带 /v1。如果你按 OpenAI 兼容通道的习惯写成 https://taotoken.net/api/v1,实际请求路径会变成 /api/v1/v1/messages,服务端只能回 404。这类错误的迷惑性在于配置看起来「很规矩」,而且换到别家通道时那种写法可能确实能用,于是你会怀疑是 Key 的问题。
判断方法很直接:把 ANTHROPIC_BASE_URL 打出来看一眼尾部,再去模型广场确认模型 ID 拼写,两个都对了还报 404,再去看 CC Switch 有没有真的把这份 profile 写进生效层。
3. 把默认模型切到 GLM 5.3 Flash:切换与生效顺序
配置写完只是存下来,不等于生效。Claude Code 只会读它认的那几个位置,CC Switch 的 profile 列表再多也不会自动被读。这一步要做的是把 current 指针挪过去。
3.1 用 CC Switch 面板切换
GUI 版本打开切换面板,选中刚才建的 profile,点应用即可。新版可能提供命令行开关,用 --help 确认一下当前版本支持哪些子命令,别照抄网上版本不匹配的用法。切换动作本身很轻,真正需要留意的是切换后有没有落盘——有些版本点了应用但没有写入配置文件,退出重进又回到旧的供应商。
用一个最笨但有效的检查:切换后立刻执行 jq '.claude.current' ~/.cc-switch/config.json,输出的字符串应该等于你在 JSON 里写的那个 id。如果这里还是旧值,后面的排查都没有意义,先把这一步搞定。
3.2 不用面板时改 current 字段
不想开 GUI 的时候,可以直接改 current 字段。改之前备份,改的时候用 jq 而不是手写,避免格式错误:
cp ~/.cc-switch/config.json ~/.cc-switch/config.json.bak
jq '.claude.current = "tao-glm-flash"' ~/.cc-switch/config.json > /tmp/ccs.json \
&& mv /tmp/ccs.json ~/.cc-switch/config.json
jq '.claude.current' ~/.cc-switch/config.json
三条命令分别对应备份、切换、确认。写成一条链式命令的原因不是炫技,是为了避免写到一半中断留下半份文件。如果要切回去,把字符串换成旧 profile 的 id 再跑一遍就行,备份文件也在原地。
3.3 直接用官方 CLI 拉起会话
手边没有 CC Switch,或者只是想在临时机器上验证通道是否可用时,可以用官方的 taotoken 命令行工具把三件套一次配好并启动:
npm install -g @taotoken/taotoken
taotoken cc -k YOUR_API_KEY -u https://taotoken.net/api -m YOUR_MODEL_ID
注意这条命令里的 -u 就是 Base URL,同样不带 /v1,也不要在这种地方附加任何查询参数,配置类参数保持干净。这条路径不会重装 Claude Code,它只是把该有的环境变量和配置推到位,然后为你拉起一次会话。适合放在 CI 或者只活两小时的临时环境里。
3.4 裸环境变量的切法
最原始的方式是直接 export,然后启动 claude:
export ANTHROPIC_BASE_URL=https://taotoken.net/api
export ANTHROPIC_AUTH_TOKEN=YOUR_API_KEY
export ANTHROPIC_MODEL=YOUR_MODEL_ID
claude
这种方式切换最快,也最容易出问题——shell 里的 export 优先级通常高于配置文件里的同名字段,所以如果你之前在某次调试里 export 过旧的 Base URL,之后光在 CC Switch 里切 profile 是不会生效的。这就是「配置看着全对,跑起来还是老通道」最常见的来源。建议在做任何切换之前先跑一次 env | grep ANTHROPIC,把当前 shell 层的值打出来看一眼,心里有底再动手。
4. 启动日志与三处核对:怎么确认真的切成功了
切完之后不急着写业务代码,先做一轮静态检查。静态检查的好处是它不依赖网络,也不需要你理解返回内容,纯粹看值对不对。
4.1 启动前的静态核对
三处位置各查一次:
env | grep -E 'ANTHROPIC_(BASE_URL|AUTH_TOKEN|MODEL)'
jq '.env' ~/.claude/settings.json
jq '.claude.current' ~/.cc-switch/config.json
期望结果整理成一张表更清楚。这张表只核对配置,不涉及任何性能结论:
| 核对点 | 期望值 | 不符时先看 |
|---|---|---|
| ANTHROPIC_BASE_URL | https://taotoken.net/api | 尾部有没有 /v1,有没有旧的 export 残留 |
| ANTHROPIC_AUTH_TOKEN | 你的 Key,非空 | 复制时是否带换行或空格 |
| ANTHROPIC_MODEL | 模型广场里 GLM 5.3 Flash 的 ID | 是否抄成了别家的命名 |
| CC Switch current | tao-glm-flash | 切换后有没有落盘 |
第三行是最容易出错的一行。模型 ID 以模型广场为准,不要根据模型名自己推断连字符和下划线该怎么排。广场里写什么就抄什么,抄完再回来对一遍。
4.2 启动日志该看什么
启动横幅在不同版本里长得不一样,字段位置也会变,与其盯横幅,不如用一条最小请求确认链路。启动 claude 之后,在会话里发一条只要求短回复的指令,或者直接用打印模式:
$ claude -p "只回复 ok"
ok
返回 ok 这一行,说明三件事同时成立:Key 被接受、Base URL 路由到了兼容通道、模型 ID 被服务端认出来了。任何一环不对,回来的都不会是 ok,而是一段错误信息。这时候再回头看 4.1 的表格,按行排查比重装快得多。
如果你更想看启动横幅,在新版本里通常会打出当前模型和 API 主机这两项,形态接近下面这样,字段名以你本机为准:
$ claude
# 启动横幅中值得确认的两行(字段随版本变化):
# model: <模型广场里的 GLM 5.3 Flash ID>
# api: https://taotoken.net/api
4.3 本篇会遇到的三个错
第一个是 401。表现是请求被拒,提示 Key 无效。原因通常是 Key 没写进生效层,或者复制时带了尾部换行。检查方法是用 printf '%s' "$ANTHROPIC_AUTH_TOKEN" | wc -c 数一下长度,比对的字符数多出 1 或 2,就是混进了不可见字符。另一个来源是把落地页链接当成了 Key,那串链接是给人点的,不是给程序读的。
第二个是 404。Base URL 尾部多了 /v1,或者模型 ID 拼错。两者表现一样,先查 URL 再查 ID,顺序反了会浪费一轮时间。
第三个是模型不对。请求能通,但回答不是 GLM 5.3 Flash 的风格。这时候看 ANTHROPIC_MODEL 是不是空的——空值下有些客户端会回落到默认模型。还要看项目目录下有没有一份项目级配置文件,它可能覆盖了用户级设置。检查顺序是从当前目录往上找,找到哪一层有配置就改哪一层,不要一边改用户级一边怀疑项目级。
4.4 别让 AI 直接操作你的生产机
如果你让 AI 助手帮忙生成切换脚本,可以让它写命令、写 jq 表达式、写配置片段,但不要把 Key 贴进对话让它「帮你执行」,也不要让它直连你的生产机器或生产库去跑业务操作。正确做法是让它在对话里生成命令,你在本地终端粘贴执行,把执行结果再贴回去让它判断下一步。这个习惯在配置类任务里尤其重要,因为配置文件本身是明文的,一次误粘贴等于把 Key 留在了对话历史里。
5. 用同一把 Key 做一次可复现验证
5.1 先说清楚本文不含排行分数
本文没有引用任何公榜快照,不写 Arena ELO、不写 SWE-bench Verified 百分比、不写 LiveCodeBench 分数、不写 OpenRouter 用量,也不把这些数字拼成一张「综合实力表」。公榜上的主角是模型本身,读者关心 GLM 5.3 Flash 的排名,应当去对应榜单页面查看当日数据,看清榜单名、查阅日期和来源。这里只解决一件事:同一把 Key、同一个 Base URL,把 Claude Code 的默认模型稳定地指到 GLM 5.3 Flash,并且你能自己复现这个过程。
把这段声明放在前面是有必要的。供应商切换类文章很容易滑向性能对比,而性能对比一旦缺了来源和日期,就变成了猜测。猜出来的数字比没有数字更糟,因为它会让人做出错误的成本判断。
5.2 复现步骤
回到 TaoToken 控制台创建一把新 Key,或者复用刚才那把,然后在 CC Switch 里按第 2 章的片段填好 profile。用 3.2 节的 jq 命令把 current 切到 tao-glm-flash,再用 4.2 节的打印模式发一条最小请求。四步做完,链路就闭环了。
为了让结果可对照,建议固定同一个 Prompt,固定同一个工作目录,固定同一台机器,一次跑完,中间不要改配置。下面这张表用来记录「能不能跑通」,不是性能榜:
| 轮次 | 输入 | 期望 | 你的记录 |
|---|---|---|---|
| 1 | 只回复 ok | 返回 ok | 通 / 不通 |
| 2 | 解释一段你熟悉的代码 | 完整回答,无截断 | 通 / 不通 |
| 3 | 一段较长的上下文 | 不报长度错误 | 通 / 不通 |
表格里的数字由你自己填。一次运行只代表这一次,不代表任何公榜结论,也不构成对模型能力的评价。它的价值在于:如果三行都通,说明你的供应商 profile 是对的;如果哪一行不通,问题被缩小到了一个具体环节。
5.3 跑完这张表之后
跑完之后,去模型对话页确认 GLM 5.3 Flash 在广场里的模型 ID 跟你配置里写的一致——这是最容易事后改错的地方,改一次配置就要回来对一次。准备把 Claude Code 的默认供应商长期停在这条通道上,可以看看 Coding Plan 的配额形式是否更贴合你的使用节奏。Key 统一在控制台创建和管理,字段有疑问就对照接入文档。
- 模型对话:发一条最小请求,确认这次调用有没有进控制台的用量记录
- Coding Plan:把 GLM 5.3 Flash 作为默认模型长期挂在 profile 里时的配额选择
- 创建 Key:新建一把 Key,把第 5 章的对照表再跑一遍
- 接入文档:Claude Code 三件套与 CC Switch 配置字段的对应关系
把供应商从临时改配置改成 CC Switch 里一个固定 profile,最大的收益不是省下那几十秒,而是下次出问题时你知道该看哪三个位置。GLM 5.3 Flash 作为默认模型挂上去之后,剩下的就是让它安稳地待在那里,别被某次 shell 里随手 export 的旧变量悄悄顶掉。
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度




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



