Codex 装好了想接第三方模型省钱,Key 和地址都填对了却一直报错——问题不在 Key,而是协议不对。搞懂 Responses 和 Chat Completions 这两套接口的区别,配上 CC-Switch 做中间翻译,这事其实半小时能搞定。
Codex 免费接入Agnes完整教程
Codex接入Agnes的准备工作
第一样是 Codex 客户端本身,Windows 用户可以在微软商店直接搜"Codex"装,也可以去 OpenAI 官方的 Codex App 下载页选对应平台的安装包。
第二样是 CC-Switch,去它的 GitHub Releases 页下载 Windows 版,有 .msi 安装包也有免安装的 .zip 压缩包,GitHub 下载速度看情况,慢的话耐心等等。 第三样是一个免费模型供应商的 API Key。现在有个叫 Agnes AI 的平台(新加坡的 Sapiens AI 团队做的)把文本、图片、视频三类模型 API 全部开放免费调用,完全兼容 OpenAI 接口格式,去 platform.agnes-ai.com 用邮箱或者 Google/GitHub 账号就能注册,不需要绑卡也不需要手机号。
登录后在控制台找到 API Keys,点创建新密钥,给它起个名字方便区分用途,复制出来的 Key 是 sk- 开头的一串字符。
这个免费额度不是完全没有限制,文本模型有 20 RPM(每分钟请求数)的速率上限,个人写脚本、跑 Agent、做日常编码测试基本够用,高并发生产环境就不太合适了。
密钥记得妥善保存,怀疑泄露就去后台删掉重建一个,别嫌麻烦。
在 CC-Switch 里配一个 Agnes 供应商
这一步是整个流程里最容易踩坑的地方。
打开 CC-Switch,切到 Codex 那个标签页(图标是 OpenAI 那个符号,意思是要配一个类 OpenAI 的服务),右上角点新增供应商,预设列表里选自定义配置。
这里有个大坑——地址只填到 /v1 为止,千万别自己往后拼 /chat/completions,因为这段路径是 CC-Switch 自动帮你补的,你写死了反而重复拼接,请求直接报废,很多人就是卡在这一步。
再往下找到"需要本地路由映射"这个开关,务必打开。这是整篇教程的核心开关,打开它 CC-Switch 才会启用前面说的协议转换功能;不开的话 CC-Switch 就只是个普通的转发代理,Codex 和 Agnes 照样各说各话,连不上。配置失败的十有八九是漏了这一步。
添加模型,测通链路
还在这个供应商配置界面,往下找到模型映射区域,点"获取模型列表",CC-Switch 会自动去 Agnes 那边拉一份可用模型清单。
选里面的 agnes-2.0-flash,或者直接手输这个模型名——这是 Agnes 免费开放的文本模型,先用它把整条链路跑通,点添加保存。
打开本地路由的三个开关
回到 CC-Switch 主界面,点设置,找到本地路由这一块,这里有两个开关都要打开:路由总开关打开后,CC-Switch 会在本地起一个代理服务,一般跑在 127.0.0.1:15721 这个端口,具体以界面显示为准;Codex 开关打开后,CC-Switch 才会接管 Codex 发出的请求,导到本地代理去做翻译。
加上前面在供应商里开的"需要本地路由映射",三个开关是配套的,缺一个都通不了。全部开完之后,回主界面在供应商列表里找到刚建的 Agnes 配置,点启用,确认它变成选中状态。
彻底重启 Codex 再测
Codex 不会自动感知配置变化,得重启,而且是彻底重启——光关窗口没用,它经常还缩在系统托盘里没死透。稳妥的做法是右键托盘图标退出,或者干脆打开任务管理器把 Codex 进程结束掉,确保干净退出。
重新打开 Codex,随便丢个简单请求测试,比如让它写一个快速排序的 Python 实现。如果能正常吐出代码,说明链路通了,之后按这个思路换别的第三方供应商也是同一套操作,无非换个地址和 Key。Agnes 免费版响应速度比官方 OpenAI 模型慢一些,属于正常现象。
为什么 Key 填对了还是连不上
Codex 原生只认 OpenAI 的 Responses API,接口路径是 /v1/responses,这是 OpenAI 比较新的一套协议。而市面上大部分第三方模型供应商,走的都是更老、也更通用的 Chat Completions 协议,路径是 /v1/chat/completions。
两者不只是路径不一样,请求体和返回体的结构也完全不同。打个比方,Codex 说的是英语,第三方那边只听得懂中文,俩人面对面也接不上话。Key 填得再准,对话都建立不起来,这跟账号有没有问题、余额够不够都没关系。
解决办法是中间塞一层翻译,让 Codex 以为自己在跟标准 OpenAI 说话,实际请求被转译成 Chat 格式发出去,回来的答案再翻译回 Responses 格式。这个翻译层,现在做得比较顺手的是开源工具 CC-Switch,GitHub 上已经攒了九万多星,官网是 ccswitch.io,覆盖 Claude Code、Codex、OpenCode、OpenClaw、Gemini CLI、Hermes Agent 这些主流客户端,是个 Tauri 写的跨平台桌面应用。 整条链路大致是这样:Codex 发出 Responses 格式请求 → CC-Switch 本地代理接住并转成 Chat 格式 → 转发给第三方模型 → 答案原路翻译回来喂给 Codex。搞懂这一层,后面每一步配置该填什么、为什么这么填,就不用照抄了。
配置失败?按这个顺序排查
按出问题概率从高到低排:
- "需要本地路由映射"没打开——最高频的坑,没这个开关就没有协议转换,必败无疑。
- 地址后面多写了 /chat/completions——把它删掉,只留到 /v1。
- Codex 没有彻底重启——用的还是内存里的旧配置,任务管理器杀进程再开一次。
- 路由总开关、Codex 开关、本地路由映射三个开关没全部打开——挨个检查一遍。
- 高峰期偶尔报 500 或 502——Agnes 免费版不保证 SLA,高峰期不稳定属于正常波动,过会儿重试就行,不是配置问题。
- Key 复制的时候带了空格或者少了字符——重新复制粘贴一次,别用手打。
配通之后基本就稳定能用了,Codex 这种只认自家新协议的设计,短期内决定了接第三方模型必须靠 CC-Switch 这类工具做翻译层,等哪天更多第三方供应商原生支持 Responses API,这套中转流程才算真正退役。在那之前,把Codex 免费接入Agnes完整教程的思路记下来就行——换供应商无非是换个地址和密钥,逻辑不变。