这套东西不是配一次就完事的,你会来回切。写代码想省钱切 DeepSeek,遇到要看图的活切回官方,想试试 Kimi K3 再切一次。

每切一次,我都要打开终端、把那条脚本命令再跑一遍、在菜单里选个数字、然后完全退出 ChatGPT、再重新打开。
切个配置,比让模型干活本身还费劲。
市面上现成的方案我都试过,也踩过坑。
CC Switch 也要自己动手重启

后来我去调研了 CC Switch。这类工具就是给你一个界面,把不同厂商的配置存成几张卡片,点一下换一个。
界面确实比敲命令舒服。但用下来发现,最烦的那一步一点没解决:切完配置,还是得我自己去把 ChatGPT 退出、再打开。
而且它多加了一层。有些接法要走它的本地路由,请求先到它那里再转出去。多一层就多一个出问题的地方,排查的时候你得先分清是模型的问题,还是这层转发的问题。
两条路绕到最后,最麻烦的就是得手动重启。
作为十年老码农,最大的优点就是懒,能动手就别吵吵,不是。。。能让AI自动干的,我就不手动干。

我写了个插件,让 Codex 自己切
我想要的很简单:换个模型,我说一句话,它自己换完、自己重启,我接着干。不用切窗口,也不用记命令。
所以我没做成一个独立的小工具,而是做成了 Codex 插件。AI Native 的做法就是这样:能力不做成按钮,做成 AI 能直接调用的技能。
装好以后,你在对话框里说:
切到 DeepSeekCodex 读懂你要干什么,去跑对应的命令:备份当前整套配置、写入 DeepSeek 那套、然后强制关闭 ChatGPT 再重新打开。
想回去就说「切回官方账号」,想试 Kimi 就说「切到 Kimi」。
为什么非得重启?因为 Codex 只在启动时读一次配置文件。它跑着的时候你把文件改了,它不知道。这一步谁都省不掉,区别只在于是你自己去点,还是它自己做完。
怎么装,怎么用
开始前确认两件事:这个插件目前只支持 macOS,电脑上要有 Python 3.11 或更高版本(终端里跑一句 python3 --version 看一眼)。
第 1 步:两条命令装插件

打开终端,依次跑:
codex plugin marketplace add lampooo/codex-config-switchercodex plugin add codex-config-switcher@codex-config-switcher第一条是把我的仓库加成一个插件市场,第二条是从这个市场里装插件。不用先 clone 代码。
装完新建一个 Codex 任务,新技能才会加载进去

第 2 步:初始化,录入 API Key

在 Codex 对话框里说:
初始化 Codex 配置切换器它会把你现在这套官方配置完整存下来,作为以后随时能回去。存的是三个文件:config.toml、auth.json、models.json,分别管配置、登录凭据和模型清单。
然后录 Key。你直接说:
帮我配置 DeepSeek 的 API KeyCodex 不会让你在聊天框里粘 Key,它会把一条带完整路径的命令给你,你复制到终端里自己跑。输入的时候屏幕上不显示任何字符,粘完直接回车。
别把 API Key 发在聊天框里。 聊天记录会被存下来。

第 3 步:一句话切换
回到对话框,说「切到 DeepSeek」。
它先备份当前配置,写入新的一套,然后强制重启 ChatGPT。
等桌面端自己弹回来,看模型选择器:显示「自定义」就是生效了。
用命令行的话,重开一个 codex,看启动信息里 model: 那行,显示 deepseek-v4-flash 就对了。
想用 Kimi K3,同样先录一次 Kimi 的 Key,再说「切到 Kimi」。这条路官方脚本没有,自己配也麻烦。
这个插件都做了什么
三个文件当一套切
大部分切换方案只动 config.toml。但换一个模型提供方,实际要动三样东西:配置、登录凭据、模型清单。少动一个,就可能切出一套自相矛盾的配置,比如配置里写着 DeepSeek,凭据还是官方账号那份。
这个插件把三个文件绑成一个整体,匹配、备份、切换、恢复全按整套来。目标预设缺 Key、缺凭据、缺模型清单,它会直接停下。
DeepSeek 直连,Kimi 走内置适配器
DeepSeek V4 Flash 原生支持 Responses 协议,插件直接连官方接口。
Kimi 目前只提供 Chat Completions 协议,Codex 又只收 Responses。插件内置了一个轻量适配器做协议转换,只监听本机 127.0.0.1,切到 Kimi 的时候自动起来,平时你感觉不到它。不用装 CC Switch,也不用另外配路由。
每次切换前,当前这套三个文件都会被完整备份到独立目录。想回官方账号,说一句就行。
不让配置被偷偷改回去
这是我踩过的坑。桌面端重启的时候,残留的后台进程会拿着旧配置反向覆盖,你以为切成功了,过一会儿又变回去。
插件做了两件事。重启时按 Bundle ID 精确清理同一个 App 里遗留的 app-server 进程,不按进程名一刀切;再加一把持久目标锁,切到某个预设之后,过期的延迟任务想把配置改成别的,会被直接拒掉。
Key 不进日志
API Key、请求正文、凭据哈希,一律不写日志。敏感文件权限 0600,目录 0700。适配器日志只记请求元数据和错误原因,方便你排查 502 卡在哪一环,但里面不会有 Key。
开源,带测试
MIT 协议,代码在 GitHub

两个脚本加起来三千五百行,配了 38 个单元测试和 CI。测试全程用临时目录、假 Key 和伪造的重启命令,不会碰你的真实凭据,也不会真把桌面端关掉。
一些限制
目前只支持 macOS。自动重启那部分用的是 macOS 的机制,Windows 和 Linux 现在用不了。
切换会强制关闭 ChatGPT。桌面端里没发出去的输入会丢,切之前先确认一下。
开着系统代理时,Kimi 可能报 502。Codex 的网络栈不读 macOS 系统代理的例外列表,请求发不到本机适配器。让 Codex 跑一下
doctor就能查出来,怎么修它也会告诉你。DeepSeek 这边目前只有 V4 Flash 能接,Pro 还没开放,这是 DeepSeek 的限制,不是插件的。
写在最后
这个插件解决的问题很小:省掉切换配置时的那几步手工操作。
但它是我用 Codex 这段时间感受最明显的一类改进。以前需要你记住流程、按顺序执行的事,现在说一句话就完了。你不用知道配置文件在哪、叫什么、哪个字段管什么,你只需要知道自己想切到哪。
能交给 AI 干的事,就别再自己开终端了。
你奶奶都能学会的Agent教程,点击查看👇
祝你 Vibe Coding 愉快,我们下篇见。
如果你觉得本篇文章有收获,欢迎关注、点赞、转发。
往期文章:
夜雨聆风