最新版Codex/ChatGPT/cc-switch完全上手教程:我与Codex的“包办婚姻”——从报错拒见到自定义模型自由

简介: 本文是Codex自定义模型配置实战指南,详解新版Codex弃用`models`字段、启用`model_catalog_json`的机制,手把手教你绕过`models_cache.json`限制,正确配置CUMOB等第三方API。涵盖JSON字段填坑技巧、`visibility="list"`关键设置、环境变量适配及cc-switch联动要点,助你10分钟搞定模型接入,告别报错困扰。(239字)

写在前面:为什么会有这篇教程
事情的起因很朴素:我搞到了一个超酷的自定义API(叫CUMOB),想在Codex里直接用。按照我多年“改个配置就能用”的朴素世界观,我打开了~/.codex/config.toml,优雅地加了几行配置,然后敲下codex。

迎接我的不是掌声,而是Codex无情的报错。

更惨的是,这不是我第一次栽在Codex配置上。从cc-switch的环境变量陷阱,到ChatGPT的模型切换迷思,再到Codex的model_catalog_json玄学——我几乎把所有坑都踩了一遍。这篇教程,就是我用头发换来的经验合集。

本文目标:让你在10分钟内搞定Codex自定义模型配置,顺便摸清ChatGPT和cc-switch的联动玩法,不用像我一样在JSON的海洋里溺水。

第一章:为什么“改个配置”不起作用了?
1.1 新版Codex的“包办婚姻”逻辑
在旧版Codex中,你可以在config.toml里直接写models = ["my-model"],然后它就乖乖出现了。但新版Codex学聪明了(或者说学坏了),它引入了两层模型来源:

来源 作用 可编辑性
服务端缓存(models_cache.json) Codex自动从官方拉取的模型列表 ❌ 会被覆盖,不要手动改
用户自定义(model_catalog_json) 你自己定义的模型列表 ✅ 你想怎么改就怎么改
简单来说:新版Codex默认只认官方模型,你要用自己的模型,得单独给它开个“小灶”。

1.2 ChatGPT和cc-switch在里面扮演什么角色?
ChatGPT:如果你用的是ChatGPT的模型(比如gpt-5.6-sol),Codex默认就能识别,不需要额外配置。

cc-switch:这是一个在多个AI服务之间快速切换的命令行工具。它本身不参与Codex的模型加载,但如果你在用cc-switch管理API密钥,记得把OPENAI_API_KEY环境变量设置对——否则Codex会找不到认证信息。

一句话总结:Codex负责模型下拉菜单,ChatGPT提供模型API,cc-switch帮你管理密钥切换——各司其职,互不干扰,但只要一个环节错了,你就得和我一样在报错信息里泡澡。

第二章:实战!从报错到成功的完整流程
2.1 第一步:别碰config.toml里的models字段
我最初的配置是这样的(错误示范):

toml
[model_providers.custom]
name = "CUMOB API"
base_url = "https://api.cumob.com/v1"
models = ["claude-fable-5"] # ❌ 新版已废弃,写了等于白写
然后我收到了第一个报错:

text
Error loading configuration: No such file or directory (os error 2)
这其实是Codex在说:“你提到的那个文件路径,我找不到啊。”

正确姿势:models字段在新版Codex中基本被无视了,真正起作用的,是model_catalog_json。

2.2 第二步:创建你的“小灶”——model_catalog_json
bash

创建目录

mkdir -p ~/.codex/model-catalogs

创建自定义模型文件

touch ~/.codex/model-catalogs/cumob-models.json
然后在config.toml里指向它:

toml
model_catalog_json = "/Users/你的用户名/.codex/model-catalogs/cumob-models.json"
坑点预警:路径必须是绝对路径,不要用~缩写,否则Codex会翻脸。

2.3 第三步:填JSON字段——一场“查漏补缺”的马拉松
当我第一次填好cumob-models.json并重启Codex时,迎接我的是一连串报错:

text
missing field base_instructions at line 23 column 5
我补上base_instructions,重启:

text
missing field supports_reasoning_summaries at line 24 column 5
我补上,重启:

text
missing field xxx at line 25 column 5
那一刻我感觉自己像个流水线工人,反复做着同样的事。Codex就像一个严格的面试官,每轮只问一个问题,你回答完了它才问下一个。

血的教训:与其被Codex一个一个地挤牙膏,不如直接从models_cache.json里复制一个完整的模型条目,然后修改slug和display_name。这样所有字段都齐全,一次过关。

2.4 第四步:完整模型条目模板(保命版)
json
{
"slug": "你的模型ID",
"display_name": "下拉菜单显示的名称",
"description": "简短描述(可选)",
"default_reasoning_level": "high",
"supported_reasoning_levels": [
{ "effort": "low", "description": "Fast responses with lighter reasoning" },
{ "effort": "medium", "description": "Balances speed and reasoning depth" },
{ "effort": "high", "description": "Greater reasoning depth" },
{ "effort": "xhigh", "description": "Maximum reasoning depth" }
],
"shell_type": "shell_command",
"visibility": "list", // ⚠️ 关键:必须为"list"才会出现在下拉菜单
"supported_in_api": true,
"priority": 7,
"base_instructions": "你的系统提示词(必填)",
"supports_reasoning_summaries": true,
"default_reasoning_summary": "none",
"support_verbosity": true,
"default_verbosity": "low",
"apply_patch_tool_type": "freeform",
"web_search_tool_type": "text_and_image",
"truncation_policy": { "mode": "tokens", "limit": 10000 },
"supports_parallel_tool_calls": true,
"supports_image_detail_original": true,
"context_window": 272000,
"max_context_window": 272000,
"input_modalities": ["text", "image"],
"supports_search_tool": true,
"use_responses_lite": false
}
我花了多久踩这个坑? 整整两个晚上,因为visibility我写成了"hidden",然后疯狂重启Codex,以为是自己JSON格式错了。

2.5 第五步:设置环境变量(cc-switch用户注意)
bash
export OPENAI_API_KEY="你的API密钥"
如果你在用cc-switch管理多个API密钥,只需要在切换时保证OPENAI_API_KEY指向正确的服务即可。Codex只认这个环境变量,不管背后是谁的API。

2.6 第六步:重启,收工!
bash
codex
如果一切顺利,你会看到类似这样的画面:

text
Select Model and Effort
› 1. claude-fable-5 (default) Frontier model for complex coding...

  1. gpt-5.6-sol (current) Frontier model for complex coding...
  2. gpt-5.5 Frontier model for complex coding...
    🎉 你的自定义模型成功出现在下拉菜单里了!

第三章:如果还是报错——常见问题速查
报错信息 可能原因 解决方案
No such file or directory model_catalog_json路径不对 改用绝对路径,检查文件是否存在
missing field xxx JSON缺少必填字段 用上面的模板补全所有字段
visibility设置了但没出现 visibility不是"list" 改为"list"
模型选了但API调用失败 环境变量或API地址有误 检查OPENAI_API_KEY和base_url
MCP相关报错(如node_repl) Codex自带服务启动失败 可以忽略,不影响模型切换功能
第四章:Linux/Windows用户专区(预告篇)
由于我目前是在macOS上完成的这篇教程,Linux和Windows的具体操作步骤我还没能在真实环境中完整验证。

但根据我的研究和社区反馈,核心原理是一致的,只有路径和部分命令有差异:

Linux:~/.codex/路径规则相同,但可能需要留意文件权限(chmod)和软件包安装方式(如AppImage或deb包)。

Windows:路径变为%USERPROFILE%.codex\(或C:\Users\你的用户名.codex\),命令行工具需使用WSL或PowerShell。且Codex在Windows上可能通过WSL运行更稳定。

📢 关于Linux/Windows版本的后续计划
如果你在Linux或Windows上成功配置了Codex自定义模型,欢迎在评论区分享你的经验!

如果这篇教程的评论区里,Linux和Windows用户的需求足够多(比如留言超过30条或点赞过百),我会专门出一期Linux/Windows版的完整教程,覆盖:

✅ Linux下的路径、权限和常见报错处理

✅ Windows下的WSL vs 原生CMD差异

✅ 各平台特有的坑点和解决方案

✅ 社区贡献的实战案例汇总

所以,Linux/Windows的朋友们,动动手指在评论区告诉我你在用什么系统吧! 你们的反馈决定了下一期教程的优先级 🔥

写在最后:这次配置让我悟出的道理
这次配置过程让我深刻体会到:

Codex的配置不是填表,而是一场推理游戏。它的报错信息永远只告诉你“缺什么”,从不告诉你“为什么”。但只要理解了它的模型加载逻辑——model_catalog_json > models_cache.json > config.toml里的models,你就能反过来掌握主动权。

复制永远比手写快。直接从models_cache.json里复制一个完整条目再改,比手写一个少10个字段要省事得多。

路径要用绝对路径。这个坑我踩了两次,每次都是因为偷懒用了~。

cc-switch不是万能药。它能帮你切换密钥,但不能帮你填JSON字段。

评论区是宝藏。我解决最后几个报错的关键线索,就是在GitHub Issue和论坛的评论区里翻到的。所以,如果你在配置过程中遇到了我文中没提到的问题,先翻评论区,再提问。

最后最后:希望这篇教程能帮你少摔几个跟头。如果还有报错,欢迎截图砸过来——我已经和这些错误打过太多交道了,闭着眼睛都能猜出下一个缺什么字段了。

祝大家配置顺利,自由切换! 🚀

附:文中所有路径均为macOS示例,Linux/Windows用户请参考第四章预告,并在评论区留下你的需求。如果报错信息中包含“os error 2”或“No such file”,大概率是路径问题,先去检查你的model_catalog_json指向的文件到底存不存在——我发誓这是我最后一次提这件事了。

相关文章
|
10天前
|
人工智能 前端开发 Linux
Codex 桌面版安装 + CC Switch 接入第三方 API 完整教程(2026 最新)
2026最新教程:手把手教你安装Codex桌面版,通过CC Switch v3.17.0一键接入Fenno等国产API(兼容OpenAI Responses格式),跳过账号登录,完整启用代码审查、多步任务与上下文感知功能。零基础友好,全程图文实操。(239字)
936 1
|
达摩院 语音技术 开发工具
达摩院FunASR离线文件转写SDK发布,完成工业落地“最后一公里”
达摩院FunASR离线文件转写SDK发布,完成工业落地“最后一公里”
2223 0
|
13天前
|
人工智能
Qwen3.8抢先体验!正式版即将发布并开源!
千问Qwen3.8即将开源,参数达2.4T,进化速度以“天”计,实力媲美Fable 5。预览版Qwen3.8-Max已上线阿里Token Plan等平台,限时优惠:日间Credits低至1折,夜间更优,个人/团队版月付仅35元起!
1173 49
|
2月前
|
人工智能 小程序 程序员
Skill详解(2万字详细教程),Skills是什么,如何安装并使用Skills
AI时代必备技能!Skills(智能体技能)是Anthropic提出的可复用能力包,以文件夹形式封装指令、脚本与资源,实现“按需加载”,大幅节省Token。它让大模型从聊天工具升级为专业助手——非技术岗也能零代码快速上手,真正实现人人可用、岗岗必备。
7771 13
Skill详解(2万字详细教程),Skills是什么,如何安装并使用Skills
|
30天前
|
人工智能 缓存 API
CC-Switch 完全上手教程:从供应商切换器到 AI CLI 一体化管理平台
CC-Switch 是一款开源跨平台AI编程工具总控台,支持Windows/macOS/Linux,一键统一管理Claude Code、Codex、Gemini CLI等工具的API供应商、MCP服务器、Skills扩展及系统提示词,告别手动修改配置文件的繁琐与错误。
CC-Switch 完全上手教程:从供应商切换器到 AI CLI 一体化管理平台
|
28天前
|
存储 人工智能 运维
CC Switch本地路由完整实操:Codex CLI对接DeepSeek等第三方模型教程
Codex CLI原生仅适配OpenAI新一代Responses API,而DeepSeek、MiniMax、Kimi、SiliconFlow等绝大多数国内、海外第三方大模型对外仅提供Chat Completions标准接口。两套API在请求字段、SSE流式事件、工具调用数据结构上完全不兼容,直接将第三方地址写入Codex配置会出现404、参数解析失败、流式内容截断、模型列表无法加载等各类报错。CC Switch作为本地协议中转路由工具,通过本机127.0.0.1:15721代理端口自动完成双向协议转换,无需修改Codex任何源码,同时隔离保护各厂商API密钥,一站式实现Codex调用全系列第
1327 0
|
2月前
|
API 监控 数据安全/隐私保护
为 Claude Code / OpenAI Codex 配置自定义 API 端点:协议、环境变量与团队规范化
aitokensflux 是面向团队的 AI 编程统一接入网关,低成本兼容 Claude Code 与 OpenAI Codex。通过简单替换 Base URL + 密钥,即可实现多端一致配置、集中额度管理、透明账单及人民币直付,显著降低接入门槛与成本治理难度。(239字)
491 1
为 Claude Code / OpenAI Codex 配置自定义 API 端点:协议、环境变量与团队规范化
|
2月前
|
安全 Linux API
Codex CLI接入DeepSeek终极指南:CC Switch本地路由配置与协议转换详解
在AI开发与代码生成场景中,Codex CLI凭借强大的命令行交互与代码执行能力,成为开发者高效编码的核心工具。但原生Codex CLI仅支持OpenAI Responses API协议,而DeepSeek等主流第三方模型普遍采用OpenAI Chat Completions API,二者协议不兼容导致无法直接接入。CC Switch作为跨平台本地路由与协议转换工具,可在本机搭建代理层,自动完成两种协议的双向转换,让Codex CLI无需修改核心代码,即可无缝对接DeepSeek、Kimi、MiniMax等第三方模型。
1749 1
|
2月前
|
人工智能 JSON 数据可视化
2 分钟,教你国内爽用 Claude Code + Codex!保姆级教程
大家好,我是程序员鱼皮。 很多人想学 AI 编程,想耍一耍目前最流行的 Claude Code 和 Codex 编程工具,结果一上手就卡在了第一步。 要么没有国外的订阅账号,登录都登录不上;要么好不容易开通了,发现官方额度死贵,对话一会儿额度就耗光了;再加上时不时还有封号的风险,整的提心吊胆。 咱们怎么能因为「用不了工具」这种事,就把学 AI 编程的劲头给浇灭了呢! 其实 Claude Code
617 0

热门文章

最新文章