1. 问题现场两个工具抢同一份供应商配置如果你同时装了 CC Switch 和 codex大概率会遇到这个场景CC Switch 里配过 DeepSeek、Kimi 之类的模型后来想统一交给 codex 管理结果 codex 里选好的模型死活连不上报错一直刷ChatGPT 侧也起不来。更诡异的是你去 CC Switch 里删配置删到最后一条时按钮变灰既停用不了也删不掉。这不是玄学是配置归属权打架。CC Switch 和 codex 都会读写同一套供应商配置本质是本地 SQLite 数据库cc-switch.db里的providers表两边同时存在激活状态的供应商时codex 启动会读到一份「不属于自己」的配置鉴权信息对不上于是连接失败。这篇就按「先停用、再删唯一一条、最后验证」的顺序把这条链路彻底理顺。适合谁看已经装好 CC Switch 和 codex、正在被供应商冲突报错卡住、想切到 codex 统一管理模型的人。全程不需要重装软件核心动作就三个——切走当前模型、用数据库工具删掉残留记录、重启验证。2. 前置TaoToken 接入信息与工具准备在动手删配置之前先把「删完之后要填什么」准备好否则删完发现没模型可用又得回头折腾。我这边统一用 TaoToken 作为模型接入方它的 API 地址是https://taotoken.net/api兼容 OpenAI 风格的调用方式codex 里填供应商时直接用它就行。你需要提前拿到两样东西一是 API Key。登录 TaoToken 控制台在 API Keys 页面创建一个新 Key复制保存。这个 Key 就是后面填进 codex 供应商配置里的凭证。二是确认模型名。TaoToken 的模型对话页可以看到当前可用的模型列表选一个你常用的记下来比如gpt-4o这类。codex 里配置供应商时需要指定模型名填错一样连不上。注意API Key 只在创建时完整显示一次页面刷新后就看不到了。建议创建后立刻粘贴到本地临时文件配完再删。工具方面除了 CC Switch 和 codex 本身你还需要一个 SQLite 数据库查看工具。原文用的是 sqlitebrowser软件管家或官网都能装免费。它的作用是直接打开cc-switch.db手动删掉providers表里那条删不掉的残留记录。为什么必须用它因为 CC Switch 的 UI 在「只剩最后一条供应商」时会做保护不允许你停用或删除只能绕过界面直接改库。3. 可复制配置settings.json 与 config.toml 骨架删配置之前先把 codex 要用的配置文件写好这样删完立刻能填。codex 的供应商配置通常落在两个文件里一个是settings.json管全局设置和当前激活的供应商一个是config.toml管具体供应商的连接参数。下面给的是骨架你把 Key 和模型名替换成自己的。先看settings.json重点是activeProvider字段它决定 codex 启动时读哪条供应商{ activeProvider: taotoken, providers: { taotoken: { name: TaoToken, type: openai-compatible, enabled: true } } }再看config.toml这里放实际的连接地址、Key 和模型[providers.taotoken] name TaoToken base_url https://taotoken.net/api api_key sk-你的Key model gpt-4o enabled true两个文件里的供应商标识要一致settings.json里activeProvider写taotokenconfig.toml里就得有[providers.taotoken]这一段否则 codex 找不到对应配置照样报错。这一步是很多人忽略的坑只改了 toml 没改 json或者两边名字拼写不一致结果以为删配置没用其实是配置本身没对上。提示base_url结尾不要多加斜杠https://taotoken.net/api就是完整地址写成/api/有些客户端会拼出双斜杠导致 404。4. 操作步骤停用并删除唯一一条供应商配置配置骨架备好后进入正题。整个流程分四步顺序不能乱。4.1 在 CC Switch 里先切走当前模型打开 CC Switch不要停在 ChatGPT 那个模型上。先切换到任意一个别的模型比如 DeepSeek目的是让 ChatGPT 这条配置从「激活」变成「非激活」。为什么因为激活状态的配置在数据库里会被标记为当前使用直接删可能触发保护或删不干净。切走之后ChatGPT 那条就变成普通记录可以下手了。切换完成后回到 CC Switch 的供应商列表尝试删除。正常情况下能删掉大部分但你会遇到那个经典问题删到最后一条时停用和删除按钮都点不动。这就是原文说的「还存在一个无法停用也无法删除」。4.2 用 sqlitebrowser 打开 cc-switch.db关掉 CC Switch重要避免文件被占用导致写入失败找到cc-switch.db文件。它一般在 CC Switch 的安装目录或用户数据目录下Windows 常见路径在%APPDATA%下的 CC Switch 文件夹里macOS 在~/Library/Application Support/下。找不到就在文件管理器里搜文件名。用 sqlitebrowser 打开这个 db 文件左侧会列出所有表。找到providers表点「浏览表」标签你会看到里面所有供应商记录包括那条在 UI 里删不掉的。4.3 删除 providers 表里的残留记录在providers表里定位到 codex 相关的配置记录也就是那条删不掉的。确认它的标识和你要清理的供应商一致后右键删除该行或者用 SQL 执行DELETE FROM providers WHERE name ChatGPT;执行完点保存sqlitebrowser 顶部有「写入更改」按钮然后关闭数据库文件。重新打开 CC Switch你会发现那条记录没了列表干净了。注意删之前最好把cc-switch.db复制一份备份万一删错还能还原。数据库操作不可逆这一步别省。4.4 重启 codex 并确认供应商跑通配置清干净后打开 codex重启 ChatGPT 侧。此时 codex 会读settings.json里的activeProvider加载你在第 3 节写好的 TaoToken 供应商。先确认 codex 里的供应商是启用状态然后做连接验证。5. 验证请求确认模型真的通了验证分两步先跑通一个模型再跑第二个确保不是偶然。第一步在 codex 里选中 TaoToken 供应商输入一段测试内容比如「你好请回复 ok」。如果配置正确你会收到模型返回的正常响应。这一步通了说明 base_url、api_key、model 三个字段都对。第二步换一个模型再试。比如把config.toml里的model改成另一个可用模型重启 codex再发一次测试请求。两个模型都能通说明供应商配置稳定不是单模型特例。如果你想绕过 codex 直接验证 TaoToken 接口本身是否可用可以用 curl 打一发curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: gpt-4o, messages: [{role: user, content: 回复 ok}] }返回里有choices字段和正常内容就说明 Key 和地址没问题问题只可能在 codex 的配置层。这样能把「接口问题」和「配置问题」分开定位省得来回猜。6. 常见报错排查删完配置还是连不上按下面几条对号入座。报错一codex 启动后仍提示供应商冲突。大概率是settings.json里的activeProvider还指向已删除的旧供应商。打开文件确认它指向的是taotoken不是被删掉的那个名字。报错二401 未授权。API Key 填错或过期。回 TaoToken 控制台重新创建一个 Key注意复制时别带空格。config.toml里api_key的值要完整。报错三404 找不到路径。base_url写错了。确认是https://taotoken.net/api不要多加/v1或结尾斜杠具体路径由客户端拼接。报错四模型不存在。model字段填的模型名不在可用列表里。去 TaoToken 模型对话页核对当前可用模型名大小写要一致。报错五改了配置没生效。codex 和 CC Switch 都要完全退出再重启配置文件是启动时读取的热改不生效。任务管理器里确认进程真的关了。如果排查完还是不通可以去 TaoToken 的接入文档页对照最新的接入参数或者直接在模型对话页测一下接口连通性把问题范围缩小到客户端配置这一层。配置冲突这件事本质是「谁说了算」没定清楚。CC Switch 和 codex 都能管供应商但同时激活就会打架。解决思路就一条让 codex 做唯一管理者CC Switch 里的残留配置用数据库工具清干净再用 TaoToken 的地址和 Key 重新填一份配置。删之前备份 db改完重启验证两个模型都跑通才算收工。