乐于分享
好东西不私藏

开源了一个插件:一句话让 Codex 自己切DeepSeek和Kimi K3

开源了一个插件:一句话让 Codex 自己切DeepSeek和Kimi K3
昨天那篇Codex接入DeepSeek v4 flash并外挂多模态识别(手摸手超详细教程)发出去之后,后面用DeepSeek那个脚本,感觉切换模型太麻烦了。

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

每切一次,我都要打开终端、把那条脚本命令再跑一遍、在菜单里选个数字、然后完全退出 ChatGPT、再重新打开。

切个配置,比让模型干活本身还费劲。

市面上现成的方案我都试过,也踩过坑。

CC Switch 也要自己动手重启

后来我去调研了 CC Switch。这类工具就是给你一个界面,把不同厂商的配置存成几张卡片,点一下换一个。

界面确实比敲命令舒服。但用下来发现,最烦的那一步一点没解决:切完配置,还是得我自己去把 ChatGPT 退出、再打开。

而且它多加了一层。有些接法要走它的本地路由,请求先到它那里再转出去。多一层就多一个出问题的地方,排查的时候你得先分清是模型的问题,还是这层转发的问题。

两条路绕到最后,最麻烦的就是得手动重启。

作为十年老码农,最大的优点就是懒,能动手就别吵吵,不是。。。能让AI自动干的,我就不手动干。

我写了个插件,让 Codex 自己切

已关注
关注
重播 分享

我想要的很简单:换个模型,我说一句话,它自己换完、自己重启,我接着干。不用切窗口,也不用记命令。

所以我没做成一个独立的小工具,而是做成了 Codex 插件。AI Native 的做法就是这样:能力不做成按钮,做成 AI 能直接调用的技能。

装好以后,你在对话框里说:

切到 DeepSeek

Codex 读懂你要干什么,去跑对应的命令:备份当前整套配置、写入 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.tomlauth.jsonmodels.json,分别管配置、登录凭据和模型清单。

然后录 Key。你直接说:

帮我配置 DeepSeek 的 API Key

Codex 不会让你在聊天框里粘 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 愉快,我们下篇见。

如果你觉得本篇文章有收获,欢迎关注、点赞、转发。

往期文章:

Codex接入DeepSeek v4 flash并外挂多模态识别(手摸手超详细教程)

我将用最直白,最不绕弯子的方式告诉你如何学习Agent