接入第三方,codex原来的项目下的聊天记录消失 - Codex
Quick fix
升级到 cc-switch v3.16.4 及以上版本,在设置中开启「统一 Codex 会话历史」并迁移官方会话,即可恢复因供应商分桶机制隐藏的聊天记录。
Symptom
Section titled “Symptom”接入第三方,codex原来的项目下的聊天记录消失该现象的根因是 Codex CLI 自身的会话分桶机制:官方订阅会话归在 openai 桶、第三方 API 归在 custom 桶。当从官方订阅切换到第三方 API 时,原来官方账号的会话被归到了不同的「抽屉」里,因此在 resume 列表里不可见。聊天记录并没有被删除,磁盘上的 JSONL 和 state 数据库都还在。
针对这一点,cc-switch 在 v3.16.3 新增了「统一 Codex 会话历史」功能,并在 v3.16.4 进一步让迁移支持通过 CODEX_SQLITE_HOME 重定位的状态库,从而解决该问题。
将 cc-switch 升级到 v3.16.4 或更高版本。
打开 cc-switch,进入「设置 → Codex 应用增强」。
开启「统一 Codex 会话历史」开关。
在弹窗中勾选「迁移已有官方会话」,将旧会话并入同一个历史桶,历史会话即可在第三方供应商下重新可见。
Affected Versions
Section titled “Affected Versions”ToolCodex
Version< 3.16.3 (在 v3.16.4 中完全修复)
PlatformsWindowsmacOS
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- 升级时cc-switch会破坏codex 的session/sqlite内容,造成全部codex对话历史丢失吗?
- 不会。这是 Codex CLI 按 model_provider 对会话历史分桶导致的隐藏现象,聊天记录并没有被删除,切回官方供应商或开启统一会话历史功能后即可恢复。
- 如果不使用迁移功能,还有其他办法找回原来的对话吗?
- 可以使用 cc-switch 右上角的「会话管理」功能直接复制 resume 命令找回指定会话,或者在桌面端把原来的对话置顶,这样就能一直显示。
重启后.claude下的auth.json会被强制替换 - Codex升级 cc-switch 至最新版,或在登录官方账号前先关闭代理接管,避免旧快照覆盖官方凭据。Not logged in, please run /login在 ~/.claude.json 添加 hasCompletedOnboarding: true,并在 /config 中开启 use custom Api key。HTTP 401 Unauthorized - CC Switch Anthropic升级 cc-switch 至修复版,以支持 Anthropic 所需的 x-api-key 和 anthropic-version 请求头。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。