跳转到内容

web_search 字段已被删除:cc-switch 重写 Codex 配置导致手动修改丢失

Quick fix

cc-switch 切换或启动时会用数据库整体重写 Codex 的 config.toml/auth.json,清掉未托管的手动字段;请升级到最新版,并用「通用配置」或 AGENTS.md 固定插件与自定义设置。

报错原文
检查配置文件,**发现 web_search 字段已被删除**。

cc-switch 在每次切换供应商、或通过它完整启动 Codex 时,都会用自身数据库中保存的配置整体重写 ~/.codex/config.toml 和 auth.json,而不是与用户手动修改的内容做合并。因此用户在配置文件中手动添加的顶层字段(如 web_search = "disabled")会被当作无效配置清掉(#5910,维护者确认与 #3824 为同一问题并归并跟踪),Codex 自带插件面板里的启用/禁用状态也会被重置为默认值,即使 provider 没有发生任何切换(#5891,报告时仍 open)。同一重写机制的变体还有:旧版本 3.16.0 保存 API key 后实际未写入 auth.json,界面仍显示旧 key(#3620,3.16.1 起修复多条 takeover 写入路径);OAuth 与 API Key 两种登录方式混切时切不回去,必须手动改 auth.json(#5345,v3.17.0 加入官方登录接管后改善,剩余行为为维护者说明的「Codex 应用增强」中保留官方登录的能力,可关闭);以及切换 config.toml 中的 model_provider 后,Codex 侧边栏只展示与当前 provider 匹配的线程,旧对话被隐藏(#4071,v3.16.3 的「统一 Codex 会话历史」开关解决)。

  1. 先把 cc-switch 升级到最新版本:3.16.1 修复了编辑保存后未正确写入 auth.json 的多条 takeover 写入路径(解决 #3620 的 API key 不生效);v3.17.0 加入 Codex 官方登录接管,完善了官方 OAuth/API Key 与第三方供应商之间的切换(#5345)。

  2. 如果升级 v3.17.0 后 OAuth 登录仍切不回 API Key:这是「Codex 应用增强」中保留官方登录的能力导致的,在设置里关闭该增强即可;仍不行则按原 issue 的办法手动修改 auth.json。

    ~/.codex/auth.json
    (手动编辑此文件,将登录凭据改回 API key 形式;issue 未给出具体字段示例)
  3. web_search 等手动顶层字段被删除:该问题已被维护者归并到 #3824 集中跟踪,修复前每次通过 cc-switch 切换或更新配置后,需要手动把字段补回 config.toml。

    ~/.codex/config.toml
    web_search = "disabled"
  4. Codex 插件面板状态被重置(#5891,仍 open):临时方案是在 AGENTS.md 中写明各插件的使用限制;或按用户反馈使用最新版本新增的「通用配置」,让多个 provider 共用插件状态。

  5. 切换 model_provider 后历史会话在侧边栏被隐藏(#4071):升级到 ≥3.16.3,在「设置 → Codex 应用增强」中开启「统一 Codex 会话历史」,官方与第三方会话将共用一个 resume 历史桶;开启时的对话框还提供勾选项,可把已有的官方历史会话一并迁移(带逐次备份)。

ToolCodex
Version3.16.0 - 3.19.0(其中 API key 未写入在 3.16.1 修复、会话历史隐藏在 3.16.3 修复、OAuth/API 混切在 3.17.0 改善;字段删除与插件状态重置在 3.19.0 仍存在)
PlatformsWindowsmacOS
web_search 字段被删后,能否提供一个配置项让 cc-switch 不代理/不清理这个字段?
有用户在 #5910 中提出同样需求,维护者未直接答复,而是将该 issue 标记为 #3824 的重复并归并跟踪;修复前只能每次切换后手动补回字段。
升级到 v3.17.0 后 OAuth 切 API key 仍然不生效怎么办?
维护者说明这是「Codex 应用增强」里保留官方登录的能力,属于正常行为,关闭该增强即可;也可以手动修改 ~/.codex/auth.json。
插件状态被重置的问题解决了吗?
#5891 仍为 open。用户给出的临时办法是在 AGENTS.md 里限制各插件的使用,另有用户指出最新版本有「通用配置」,可以让多个 provider 共用插件状态。
切换模型后之前用 GPT 创建的对话不见了,数据丢了吗?
没有丢。Codex 侧边栏只展示与当前 model_provider 匹配的线程,数据仍在磁盘上;升级到 ≥3.16.3 并开启「统一 Codex 会话历史」后,官方与第三方会话共用同一个历史桶,切换后不再互相隐藏。

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