对话记录不互通怎么办
找回订阅与 API 模式下的 Codex 任务,并通过固定 provider ID 减少切换后的历史隐藏。
切换到 APIPool 后旧任务不见了,通常不代表记录被删除。Codex 会按 provider ID
筛选任务:订阅一般使用 openai,手动接入 APIPool 常用 apipool,CC Switch
导入常用 custom。这几个 ID 不同,默认列表就可能显示不同的任务。
如果两个模式始终使用同一个 openai ID,并共用同一份本地历史,可以避免因 provider
不同而隐藏任务。不需要修改或重新编译客户端。 下面介绍这项可选配置及其边界。
先找回已有任务
- 切回创建任务时使用的供应商与认证方式,完全退出并重新打开 Codex。
- 确认是在同一台设备、同一个系统用户和同一个
CODEX_HOME下操作。默认目录为 macOS/Linux 的~/.codex、Windows 的%USERPROFILE%\.codex;WSL 与 Windows 原生环境的目录各自独立。不同设备不会因为使用同一个 provider 自动同步历史。 - 检查任务是否归档、项目目录是否相同。CLI 的
codex resume --all只放宽项目目录 过滤,不代表显示所有 provider 的记录。
不要删除 sessions、auth.json 或状态数据库来“刷新历史”,也不要批量修改历史文件。
如果旧记录使用的是 apipool 或 custom,下方方案不会把它们自动迁移成 openai;
需要查看时仍可切回原来的供应商。
方案:固定 openai ID,切换地址与认证
此方案适合希望继续看到原订阅任务、并让后续两种通道任务归在同一 provider 下的用户。 API 模式下当前认证会显示为 API Key,不是同时保持订阅身份。不同客户端版本的界面可能 有差异;更新 Codex 或切换工具后,重新检查配置和实际请求地址。
1. 备份并退出客户端
完全退出 Codex CLI、IDE 扩展和桌面端。备份用户级 config.toml 与已有 auth.json,
将备份保存在本机受保护的位置。使用系统凭据库保存登录的用户,切回时可能需要重新登录。
如果设置了 CODEX_HOME,应备份该目录中的文件。
如果正在使用 CC Switch 自动切换或代理接管,先退出接管,并暂停其对这份配置的管理。
CC Switch 3.20.4 的导入器会生成 custom,保存时还可能把 openai_base_url 改写为
独立 provider。普通导入不能替代下方固定 ID 的手动配置;每次经过切换工具保存后都应
重新核对实际文件。
2. 修改用户级配置
编辑 ~/.codex/config.toml(Windows 通常为 $env:USERPROFILE\.codex\config.toml),
将以下键合并到文件顶层、所有 [表名] 之前,不要重复添加同名键:
model_provider = "openai"
openai_base_url = "https://app.apipool.dev/v1"
model = "gpt-5.6-sol"
review_model = "gpt-5.6-sol"
disable_response_storage = true模型需在模型列表中且对当前 Key 分组开放。保留其他无关配置。
不要添加 [model_providers.openai],内置 openai 是保留 ID;仅把自定义 provider 的
name 改成 OpenAI 也没有作用。如果使用了 profile、启动参数或 OPENAI_BASE_URL
环境变量,先消除它们对上述 provider 和地址的冲突覆盖。
3. 将当前认证切换为 APIPool API Key
地址和认证必须一起切换。 只改 openai_base_url、仍保持 ChatGPT 认证,可能把
订阅凭据发往第三方地址。仅设置 OPENAI_API_KEY 或 CODEX_API_KEY 环境变量不能
保证桌面端的已有订阅认证会被替换。
先按接入文档准备非空的 APIPOOL_API_KEY 环境变量,再用
Codex CLI 将其读入当前用户的 API Key 登录。不要把真实 Key 直接写进命令参数:
macOS、Linux(WSL 内使用时也在 WSL 内执行):
printenv APIPOOL_API_KEY | codex login --with-api-key
codex login statusWindows PowerShell:
$env:APIPOOL_API_KEY | codex login --with-api-key
codex login status确认登录状态为 API Key 后,再重新启动使用同一用户目录的 Codex。CLI 用户先检查启动
信息中的 provider 为 openai;发送不含敏感内容的简短请求,再在 APIPool
请求日志中核对请求是否到达本平台。不要只凭界面显示的账户判断路由。
4. 切回订阅
- 退出 Codex,移除顶层
openai_base_url,同时清除 profile、启动参数或环境变量中的 第三方地址覆盖;恢复之前的官方模型设置,保持model_provider = "openai"。 - 执行
codex login,按提示重新使用 ChatGPT 登录,并用codex login status确认订阅认证。必要时恢复备份中的官方配置,但不要覆盖任务历史。 - 重启客户端后再发送请求。不要保留第三方地址、只切换回订阅登录。
能看到记录,为什么仍可能接续失败?
固定 ID 只影响任务列表的筛选。切换服务后,长对话中的加密推理内容或压缩状态
可能无法继续使用。遇到 encrypted_content、reasoning 或 compaction 相关错误时,
先切回原通道继续,或在原任务生成工作摘要,再在目标通道创建新任务并附上摘要和必要文件。
不要为了接续而批量删除历史字段或改写数据库。这不是“任意长对话无损切换”的保证,也不会 把以前不同 provider ID 的任务自动合并。