跳转到内容

built-in provider IDs: openai - Codex

Quick fix

升级 CC Switch 至 v3.16.4+ 并删除旧配置重新保存。开启「统一 Codex 会话历史」开关,避免手动覆盖 openai provider,确保使用 openai_base_url。

报错原文
invalid configuration: model_providers contains reserved built-in provider IDs: `openai`.
Built-in providers cannot be overridden.
Rename your custom provider (for example, `openai-custom`).

CC Switch 在修改 Codex 配置文件时存在几个历史遗留问题。首先,旧版本会尝试直接向 config.toml 写入 `[model_providers.openai]` 段落,但 `openai` 是 Codex 的保留内置 provider ID,无法被覆盖,从而触发 `invalid configuration` 报错。其次,在配置默认端点时错误地使用了 `base_url` 而非 `openai_base_url`,或者文件中残留了重复的陈旧条目,这会导致 401 未授权错误或请求依然发往官网。

  1. 将 CC Switch 升级到 v3.16.4 或更高版本。该版本修复了 `base_url` 重复残留问题,并新增了官方会话共享功能。

  2. 删除旧的 Codex 配置文件,然后在 CC Switch 中重新保存供应商配置,让新版本生成正确的配置结构。

    C:\Users\Administrator\.codex\config.toml
    # 错误写法(会导致 401):
    # base_url = "http://127.0.0.1:15721/v1"
    # 正确写法(默认 OpenAI):
    openai_base_url = "http://127.0.0.1:15721/v1"
    # 正确写法(自定义 provider):
    # [model_providers.custom]
    # base_url = "http://127.0.0.1:15721/v1"
  3. 如果需要让第三方端点与官方账号共享 Codex 会话历史,请在 CC Switch 的「设置 → Codex 应用增强」中开启「统一 Codex 会话历史」开关,切勿手动在配置文件中覆盖 `[model_providers.openai]`。

ToolCodex
VersionCC Switch < 3.16.4 (修复于 v3.16.4)
PlatformsWindowsmacOS
为什么我手动修改 config.toml 把 `[model_providers.openai]` 删掉,CC Switch 保存后又自动加上了?
这是 CC Switch 旧版本开启路由时的自动行为。请升级到 v3.16.4+,并使用「设置 → Codex 应用增强」中的「统一 Codex 会话历史」开关来实现共享,不要手动覆盖内置的 openai provider。
配置了 `base_url` 但请求还是发到了官网,或者提示 401 怎么办?
可能是配置文件中存在重复或陈旧的 `base_url` 条目,或者字段名错误。请升级到 v3.16.4+ 并删除旧配置重新保存。确保默认配置使用的是 `openai_base_url`,而自定义 provider 的 `base_url` 必须写在 `[model_providers.<name>]` 节内。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。