解决 CC-Switch 切换失败:auth.json 冲突的终极排查思路
最近在折腾家里那台机器上的 CC-Switch(也就是大家常说的 CCS)时,碰到了一个特别搞心态的问题。不知道有没有兄弟跟我一样:手里有个 Team 订阅,平时抠搜着先把 Team 的额度舔干净,再切去其他公益站或者自建的中转站续命。本来这套流程该是丝滑切换,结果这次在从 Team 切换到其他 API 中转时,死活切不过去,还总莫名其妙提示“额度用完”。
既然是求助帖改造,今天我就把整个排查思路和解决办法给大伙捋一遍,省得你们到时候也抓瞎。
CC-Switch 切换提供商时遇到的报错界面
🤔 现象复现:不仅切不动,还报错
我的场景很典型:Team 额度耗尽 -> 准备切到 Any/公益站 -> 配置新的 API Key。
问题就出在配置新 Key 这一步。只要我在主界面点了一下“启用”,系统就会极其霸道地把之前 Team 的认证信息直接覆盖写入到本地的 auth.json 文件里。
CC-Switch 配置文件所在的 .codex 目录
这导致的结果就是,哪怕你填了新的 API 地址和 Key,底层的认证逻辑还停留在 Team 的账户上。最离谱的是,当我切换到名为“Any”的公益站时,系统竟然弹窗提示“5H 额度用完”。我当时就纳闷了,我一个公益站中转,哪来的 5 小时硬性限制?这显然还是 Team 订阅的影子在作祟。
🕵️♂️ 深度排查:文件被“锁”了
既然界面操作被覆盖,那就直接看文件。CC-Switch 的本地配置通常藏在 ~/.codex 目录下,核心的认证信息就在 auth.json 里。
经过我反复测试,发现这确实是一个文件写入顺序或者说优先级的 Bug。当你点击界面的切换按钮时,程序并没有先清空旧的凭据,而是急着把旧的 Team 信息“备份”或者直接固化进去,导致新的 API Key 没法正确落地。
🛠️ 解决方案:手动清场,再写入
软件一时半会改不了,咱们就用“物理外挂”解决。为了避免 auth.json 被旧信息污染,我在切换之前多加了一步手动操作,试了几次,稳得一匹。
具体步骤如下:
- 关闭 CC-Switch: 确保程序没有在后台读写文件,防止操作冲突。
- 找到配置目录: 进入用户目录下的
.codex文件夹(即~/.codex)。 - 移除或备份 auth.json: 在你要切换到公益站/中转站之前,直接把这个
auth.json文件移走(改个名比如auth.json.bak)或者直接删除。 - 重新启动并配置: 再次打开 CC-Switch,这时候因为找不到旧配置,程序就会老老实实等你输入新的 API Key 和地址。此时再点击“启用”,新的认证信息就能正确写入了。
💡 总结
这玩意儿之前的版本好像没这么矫情,估计是某些更新改动了配置写入的逻辑。如果你也在换服务商时遇到了类似的“额度提示不对”或者“切换无效”的情况,别怀疑自己,八成是配置文件残留搞的鬼。
下次换“口味”前,记得先把 auth.json 这个绊脚石踢开,换源这就轻松多了。希望这点小经验能帮到同样在折腾的你!
评论已关闭