Skip to content

恢复聊天记录

切换了中转站,或在中转站和官方账号之间来回切换后,发现之前的聊天记录全"不见了"?

别担心,记录都在你本地,没有丢失。原因是 Codex 按 provider 的名称来隔离聊天历史,只要让 config.toml 里 3 个相关的值和之前保持一致,记录就会回来。

为什么记录会"消失"?

Codex 的聊天记录存放在本地,按 provider 名称分组管理。不同的名称对应不同的历史目录,切换后看起来"一片空白",其实只是在看另一组记录而已。

哪 3 个值?

打开 ~/.codex/config.toml,一共有 3 个地方用了这个名称,必须完全一致

toml
# ① 顶层:指定当前使用哪个 provider
model_provider = "codexzh"

# ② section 标题:方括号里的键名
[model_providers.codexzh]

# ③ section 内的 name 字段
name = "codexzh"

这三个位置的值(本例中都是 codexzh)必须相同,Codex 才能正确加载对应的聊天历史。

官方账号的默认值是什么?

使用 OpenAI 官方账号时,通常没有手动写这些配置,Codex 默认使用 openai 作为 provider 名称。所以如果要恢复官方账号下的记录,把 3 个值都改成 openai 即可。

怎么恢复?

第一步:打开 config.toml

bash
# macOS / Linux
open ~/.codex/config.toml

# 或者直接用编辑器打开
code ~/.codex/config.toml

第二步:核对 3 个值是否一致

找到这 3 个位置,确认它们的值完全相同

toml
model_provider = "这里"          # ①

[model_providers.这里]           # ②
name = "这里"                    # ③

如果发现不一致(比如 ① 是 openai,但 ② 和 ③ 还是 codexzh),把它们统一改成你之前用的那个值就行。

示例:恢复用 CodexZH 中转时的记录

toml
model_provider = "codexzh"

[model_providers.codexzh]
name = "codexzh"
baseURL = "https://..."

示例:恢复用官方账号时的记录

toml
model_provider = "openai"

[model_providers.openai]
name = "openai"

第三步:重启 Codex

保存文件后,重启终端里的 codex 命令(或重启 Codex App / IDE 插件),聊天记录就会恢复显示。


小结

  • 聊天记录不会因为切换账号而删除,只是被归到了另一个 provider 名称下
  • config.toml 里 3 个值(model_provider[model_providers.xxx] 的键名、name)必须完全一致,才能加载对应的历史
  • 两套记录(中转 + 官方)可以长期并存,随时改配置切换