修复「ChatGPT 无法加载 config.toml,因此此对话串无法继续 · Model provider xxx not found」

AI工具评测1周前更新 123GPT·AI
2,466 0

codex-provider-doctor-v1.0.0.zip

 

https://www.workbuddy.cn/space/d/T3PV7VwHRGicGSknxuHQjL?ext2=copy_link

 

一句话:你用 cc-switch(或类似工具)切过 AI 供应商之后,有些旧对话串打不开了 —— 这个包能把它们救回来。

它只做一件事:把 config.toml 里被切换工具删掉的那几段 provider 配置,原样补回来。

它不会:删你的配置、改你的聊天记录、联网、上传任何数据。

 

1先判断:你需要它吗

对着下表看一眼,第 3、4 条都打勾,基本可以确定就是这个问题。

# 症状 你的情况
1 报错里写着 Model provider 'xxx' not found ☐
2 报错里写着 ChatGPT 无法加载 config.toml ☐
3 新开的对话串能正常打开,只有老的打不开 ☐
4 出问题前,你在 cc-switch 里切过供应商 ☐

 

注意如果你所有对话串都打不开,那可能不是这个问题,先检查 config.toml 有没有语法错误。

 

包里有什么

codex-provider-doctor/
├── SKILL.md                      ← 给 AI 看的说明书(当 Skill 用时需要)
├── scripts/
│   └── codex_provider_doctor.py  ← 真正干活的脚本
└── 使用说明.md                    ← 就是你正在看的这份

只有 codex_provider_doctor.py 这一个文件是必须的,其余是说明书。

 

 

准备工作:装 Python(约 3 分钟)

脚本需要 Python 3.11 或更高版本,不需要安装任何额外的包(不用 pip install)。

3.1 先检查你有没有

  1. 按 Win + R,输入 cmd 回车,弹出黑色的命令窗口。
  2. 粘贴这行并回车:
python --version
你看到 说明
Python 3.12.1 这类 3.11 以上版本号 ✅ 有了,跳到第 4 节
Python 3.10.x 或更低 ⚠️ 太老,去 3.2 装新版
python 不是内部或外部命令 ❌ 没装,去 3.2

3.2 装 Python

  1. 打开 python.org/downloads
  2. 点黄色大按钮 Download Python 3.x.x,双击下载好的安装包
  3. 安装界面最下面有个勾选框 Add python.exe to PATH —— 一定要勾上!
  4. 点 Install Now,等进度条走完
  5. 关掉黑窗口,重新 Win+R → cmd → 再输一次 python --version,这次应该能看到版本号
最常见的失败原因就是忘了勾 Add python.exe to PATH。勾错了就重新运行安装包,选 Modify 补勾上。

4怎么解压、解压到哪里

分两种情况。不知道选哪个就选「用法 B」,更简单。

用法 A:当 Skill 用(推荐给 WorkBuddy / Codex 用户)

好处:下次再遇到同样报错,只要跟 AI 说一句「我的 Codex 又报 Model provider not found 了」,它就会自动帮你修。

系统 解压到哪个文件夹
Windows C:\Users\你的用户名\.workbuddy\skills\
macOS / Linux ~/.workbuddy/skills/

「你的用户名」换成你自己的,不确定就看 C:\Users\ 下面哪个是你的名字。

解压步骤(Win10/11 自带功能,不用装软件):

  1. 找到 codex-provider-doctor-v1.0.0.zip,右键 → 「全部解压缩…」(Win11 叫「提取全部…」)
  2. 把窗口里「目标文件夹」那一栏整段删掉,粘贴:C:\Users\你的用户名\.workbuddy\skills
  3. 点「提取」。若提示文件夹不存在,点「是」让它创建

验证放对了没有:打开资源管理器,地址栏粘贴 C:\Users\你的用户名\.workbuddy\skills 回车,应看到一个 codex-provider-doctor 文件夹。双击进去,应该直接就能看到 SKILL.md 和 scripts 文件夹。

最常见的错误解压出来变成 ...\skills\codex-provider-doctor\codex-provider-doctor\SKILL.md —— 多套了一层同名文件夹。
判断标准只有一条:SKILL.md 必须直接躺在 codex-provider-doctor 里面,中间不能再隔一层。
修正:把里面那个文件夹剪切出来放到 skills 下,删掉外面那层空文件夹。

用法 B:当小工具用(只想修一次,推荐新手)

好处:不用管目录规范,解压到哪都行。推荐 D:\tools\,或者干脆放桌面。

  1. 右键压缩包 → 「全部解压缩…」
  2. 「目标文件夹」改成 D:\tools(没有就先去 D 盘手动建一个叫 tools 的文件夹)
  3. 点「提取」
  4. 完成后进 D:\tools\codex-provider-doctor 看一眼,里面应该有 scripts 文件夹
重要不要直接在压缩包预览窗口里双击脚本运行,一定要先解压出来。

5照着做:修复教程

命令按 Windows 写。macOS / Linux 把 python 换成 python3、路径斜杠换成 /。

1先完全关掉 Codex

不是最小化,是真的退出。因为它退出时可能把 config.toml 重写一遍,会让我们的修改白做。

2在脚本所在文件夹打开终端

  1. 打开资源管理器,进到 codex-provider-doctor 文件夹(能看到 scripts 文件夹的那一层)
  2. 点一下地址栏(显示路径的那一条),内容全选删掉,输入 cmd,回车
  3. 弹出的黑窗口,路径应该正好是这个文件夹

这样打开的终端工作目录就在当前文件夹,后面命令就不用写一长串路径了。

3先「体检」(只读,绝对安全)

python scripts\codex_provider_doctor.py

这一步只读不写,不改任何文件,随便跑。你会看到类似:

CODEX_HOME  : C:\Users\你的用户名\.codex
config.toml : C:\Users\你的用户名\.codex\config.toml
              (最后修改 2026-10-12 11:09:07)

当前 model_provider = custom
config.toml 已定义 provider:['custom']

对话串引用的 provider(来源:state_5.sqlite):
   - openai                          1 条   [内置]
   - custom                          1 条   [已定义]
   - cc-switch-official              1 条   [缺失!]

结论:以下 1 个 provider 被对话串引用,但 config.toml 未定义:
   - cc-switch-official

4看懂输出

标签 含义
缺失! 这就是元凶,待会儿要补的就是它
已定义 配置里有,正常
内置 Codex 自带,不需要配置,忽略

如果输出的是「结论:没有缺失的 provider」,说明你没这个问题,不用继续了。

5修复(真正动文件的一步)

python scripts\codex_provider_doctor.py --apply
克隆模板:[model_providers.custom] -> ['cc-switch-official']
已备份:C:\Users\你的用户名\.codex\config.toml.bak-20261012-110912

已补写 1 个 provider:['cc-switch-official']

看到「已补写 N 个 provider」就成功了。写入前会自动把原配置备份成 config.toml.bak-时间戳,改坏了随时能还原。

6再体检一次,确认修好

python scripts\codex_provider_doctor.py

这次应该看到:结论:没有缺失的 provider,config.toml 与对话串记录一致。

7重新打开报错的对话串

先完全关闭 Codex,再重新打开(配置是启动时读的),然后点开那个之前打不开的对话串。应该能正常进了。

8(可选)确认备份还在

打开 C:\Users\你的用户名\.codex\,会看到 config.toml.bak-2026xxxxxxxxxx 文件,这就是每次修改前的原配置,留几天再删不迟。

6如果你选的是「当 Skill 用」

文件放好后不用跑任何命令,直接跟 AI 说人话就行:

  • 「我的 Codex 报 Model provider cc-switch-official not found,帮我修一下」
  • 「我用了 cc-switch 切换供应商,现在有些旧对话串打不开了」
  • 「ChatGPT 提示无法加载 config.toml,对话串无法继续」

7不想跑脚本?手动改 3 分钟

  1. 用记事本打开 C:\Users\你的用户名\.codex\config.toml,先复制一份当备份
  2. 滚到文件最末尾,另起一行粘贴:
[model_providers.cc-switch-official]
name = "OpenAI"
base_url = "http://127.0.0.1:15721/v1"
wire_api = "responses"
requires_openai_auth = true
experimental_bearer_token = "PROXY_MANAGED"
  1. 把 cc-switch-official 换成你报错信息里的那个名字(要一模一样,连字符也对上)
  2. 保存,关掉 Codex 重新打开
三个坑① 上面的 base_url 等值只是示例,请照抄你自己文件里已有的 provider 段,别凭空发明;
② 一定加在文件末尾,不要插到 model_provider = ... 这种没有方括号的行前面,否则整个配置会解析失败;
③ 改完不放心就跑一次第 5 节的「体检」,它会告诉你有没有语法问题。

8常见问题

Q:python 不是内部或外部命令

Python 没装好或没加到 PATH。回第 3.2 节重装,记得勾 Add python.exe to PATH。也可以把命令里的 python 换成 py 试试。

Q:提示需要 Python 3.11+ 的 tomllib

你的 Python 太老。升级 Python,或在终端跑 pip install tomli。

Q:提示找不到 config.toml

配置不在默认位置。先自己打开一次 Codex。如果你改过位置,加参数指定:
python scripts\codex_provider_doctor.py --codex-home "你的实际路径"

Q:提示 config.toml 里没有任何 [model_providers.*] 表可以克隆

先去 cc-switch 里选中一个能用的供应商并点应用,让配置里至少有一个 provider,再跑脚本。

Q:修好了,对话串能打开了,但发消息报「模型不存在」

这是另一回事,不是脚本的锅,它也不负责这个。
原因:那个对话串当初用的是特定模型(比如 gpt-6-astra,只有 ChatGPT 官方后端才有),而你现在切到了别的供应商。
两种做法:在 cc-switch 里切回它原本用的供应商;或者在对话串里把模型换成当前供应商支持的模型。

Q:过了几天又报同样的错

正常,这是切换工具的通病 —— 它每次切换都把配置文件整个重写,会把我们补的段落又删掉。
再跑一次 --apply 就好。
想根治二选一:① 要动老对话串前,先在切换工具里切回它原本用的供应商;② 在 cc-switch 设置里打开「统一 Codex 会话历史」开关,让它切换时把对话串的供应商归属一起迁移。

Q:会不会把我配置改坏?

脚本设计上是只增不减:默认只读,加 --apply 才写;写前必定备份;只往文件末尾追加,不改不删任何已有内容;已存在的段落跳过(重复跑无副作用);写完立刻重新解析校验,校验不通过自动回滚。

Q:改坏了想还原?

去 C:\Users\你的用户名\.codex\,找到 config.toml.bak-最近的时间戳,复制一份改名成 config.toml 覆盖回去。

Q:需要联网或上传什么吗?

不需要,也不会。脚本全程只读本地 ~/.codex、只写本地配置文件,没有任何网络请求。

9它到底改了什么(给好奇的人)

Codex 每开一个新对话串,都会把当时正在用的供应商名字永久刻进两处:数据库 state_5.sqlite 和会话记录文件里,之后再也不跟着配置变。

而 cc-switch 这类工具换供应商时,是整份重写 config.toml,只保留当前这一家的配置,其他家的全删。

于是:老对话串还记着「我当时用的是 A 家」,可 config.toml 里 A 家的配置已经被删了 → Codex 一打开老对话串就懵了,直接报错不让进。

脚本干的事查出哪些名字被老对话串引用着、但配置里没了,然后照着现有能用的一段配置格式,把它们补回去。
不是你的配置写错了,是两个工具各干各的、互相不兼容。

10怎么卸载

直接删掉 codex-provider-doctor 文件夹就行,不留任何残留。脚本产生的东西只有 ~/.codex/config.toml.bak-* 这些备份文件,确认没问题后可以自己删掉。

 

 

 

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...