MemoryLake
返回全部文章
Tutorial2026 年 10 月 15 日·10 分钟阅读

如何查找丢失的 Codex 聊天记录并恢复已归档的聊天 (2026 指南)

你记得上周和 Codex 一起解决过一个问题。你还记得解决方法、走过的弯路以及它最终找到的修复方案。但现在,那个聊天不在侧边栏中,codex resume 也没有列出它,你开始怀疑它是否真的被保存了。

通常情况下,它确实被保存了。Codex 会将聊天保存在多个地方,根据你工作的位置在不同的列表中显示它们,并且有两种独立的方法让聊天从这些列表中消失:归档和删除。归档会隐藏聊天并保留它。删除则会彻底移除它。了解发生了哪种情况以及你正在查看哪个列表,是寻找聊天记录的关键。

本指南将详细介绍 Codex 保存聊天的位置、聊天不再显示的已知原因以及如何恢复它。OpenAI 的文档称它们为“聊天”(chats)。应用服务器 API 称它们为“线程”(threads),许多人也会搜索丢失的 Codex 线程,因此下文将同时使用这两个术语。如果你正在寻找 Claude 中丢失的历史记录,请参阅我们关于查找丢失 Claude 聊天记录的指南。

Codex 将你的聊天保存在哪里

Codex 在多个地方运行,每个地方显示聊天的方式都略有不同。

ChatGPT 桌面应用。 Codex 聊天和项目显示在 Codex 侧边栏中。OpenAI 明确指出了哪些内容不会显示:“ChatGPT 聊天不会显示在 Codex 侧边栏中,该侧边栏包含你的 Codex 聊天和项目。”快速聊天(Quick chat)会打开一个普通的 ChatGPT 聊天,因此它也不会出现在 Codex 列表中。

Codex CLI。 CLI 将你启动它的目录视为聊天的项目。“聊天会保留其记录和记录的工作目录,而 Codex 会从当前工作树中读取文件。”你可以通过会话内的 /resume 或 shell 中的 codex resume 返回聊天。

IDE 插件。 该插件将打开的文件夹或工作区视为项目,你可以从“最近的聊天”(Recent chats)中返回聊天。OpenAI 指出:“该插件不会展示 Web 或桌面应用中的 ChatGPT 项目(Projects)视图。”

Codex 云端。 云端聊天有自己的列表。OpenAI 表示,在终端中,codex cloud 可以让你“从终端与 Codex 云端聊天进行交互”,而 codex cloud list 会返回最近的云端聊天,并支持可选的过滤。

在磁盘上。 对于本地聊天,聊天记录保存在你的电脑上。OpenAI 的故障排除页面列出,会话记录位于 $CODEX_HOME/sessions(默认为 ~/.codex/sessions),已归档的会话位于 $CODEX_HOME/archived_sessions(默认为 ~/.codex/archived_sessions)。

还有一个界限值得注意。如果你同时使用 ChatGPT Work 和 Codex,OpenAI 表示:“Work 对话历史记录与 Codex 历史记录保持独立。”你在 Work 中进行的对话不会出现在你的 Codex 列表中。

为什么 Codex 聊天不再显示

以下是文档中记录的原因,从最容易检查的开始。

它被归档了

归档是整理已完成工作的常规方式。在桌面应用中,你可以归档单个聊天,也可以从项目菜单中将某个项目的所有聊天一起归档。

In the CLI, codex archive does the same for a saved session. OpenAI describes the purpose: "Use these commands when you want to clean up the session picker without deleting the transcript." OpenAI's app-server reference describes archiving as moving the session's log file into the archived sessions directory.

已归档的聊天并没有消失。它只是不在默认列表中。

你正在从不同的目录查看

CLI 会将其某些快捷方式的作用域限制在你当前所在的位置。OpenAI 的参考文档指出:“除非你传递 --all,否则 codex resume 会将 --last 的作用域限制在当前工作目录。”如果你在一个仓库中启动了聊天,并从另一个仓库运行 codex resume --last,你将获得第二个仓库中最近的聊天。

IDE 插件将打开的文件夹或工作区视为项目,因此在检查“最近的聊天”之前,请先打开相同的工作区。

它是一个非交互式运行

使用 codex exec 启动的会话是非交互式的,除非你主动要求,否则恢复选择器会将其排除在外。相关选项被描述为“在选择器和 --last 选择中包含非交互式会话”。如果你寻找的工作来自脚本或一次性的 exec 命令,这很可能是它在列表中缺失的原因。

你在错误的列表中

ChatGPT 聊天不会出现在 Codex 聊天中,Work 对话不会出现在 Codex 历史记录中,且 ChatGPT 项目视图不会出现在 IDE 插件中。如果你记不起在哪里开始的对话,请在认定其丢失之前检查每个界面。

它从未被保存,或者在另一台机器上

Codex 可以在不保存会话的情况下运行。--ephemeral 标志运行“而不将会话展开文件持久化到磁盘”,因此临时运行不会留下可供查找的会话文件。配置也可能会限制本地历史记录:OpenAI 的配置参考将 history.persistence 描述为控制“Codex 是否将会话记录保存到 history.jsonl”,并将 history.max_bytes 描述为通过“丢弃最旧的条目”来限制该文件的大小。如果你更改了其中任何一项,请检查其设置值。

本地聊天记录也保存在 CODEX_HOME 下。如果你更改了该位置、切换了用户帐户或在不同的电脑上工作,聊天记录就会在另一个位置。

它被删除了

codex delete 与归档不同。OpenAI 将其描述为“通过会话 ID 或会话名称永久删除已保存的交互式会话”的命令。其指导原则是“仅当你想要移除聊天记录,而不是将其从活动会话列表中隐藏时”才使用它。在列表中,被删除的会话是唯一无法恢复的情况。

人们首先尝试的方法

滚动侧边栏。 这对最近的聊天有效,但对已归档的聊天或来自其他界面的聊天无效。

按标题搜索。 标题通常是自动生成的,你可能不记得它们。OpenAI 的建议是按内容搜索:从侧边栏打开“搜索聊天”(Search chats),“以便在你记得某个短语或分支名称但不记得标题时找到过去的聊天”。“搜索聊天”没有默认快捷键,但你可以在“设置”中的“键盘快捷键”下分配一个。

重新安装 Codex。 这无法解决上述任何原因。

假设聊天已被删除。 先检查归档。归档是可逆的。

解决方法:检查归档、从正确的地方搜索,然后将上下文保留在聊天之外

步骤 1:检查已归档的聊天并恢复你找到的内容

在 ChatGPT 桌面应用中,打开“设置”并转到“已归档的聊天”(Archived chats)。OpenAI 的设置参考文档对此进行了描述:“‘已归档的聊天’部分列出了带有日期和项目上下文的已归档聊天。”使用“取消归档”(Unarchive)来恢复聊天。

在 CLI 中,使用 codex unarchive 后跟会话 ID 或名称来恢复已归档的会话。OpenAI 指出:“会话 ID 优先于会话名称”,因此如果你有多个名称相似的会话,请使用 ID。

如果你不确定归档了什么,已归档会话目录(默认为 ~/.codex/archived_sessions)会向你显示其中是否有内容。

步骤 2:从正确的地方搜索

如果聊天没有被归档,请扩大搜索范围。

  • 在 CLI 中,返回原始目录。 从你启动聊天的仓库运行 codex resume。如果你不确定是哪一个,codex resume --last --all 会考虑来自任何目录的会话。
  • 包含非交互式运行。 如果工作来自 codex exec,请添加 --include-non-interactive。
  • 在桌面应用中使用“搜索聊天”。 搜索你记得的短语、文件名或分支名称。
  • 在 IDE 中打开正确的工作区。 使用你为该聊天打开的相同文件夹或工作区。
  • 检查其他界面。 在 ChatGPT 中查找快速聊天,在 Work 中查找 Work 对话,并在云端聊天列表中查找在云端运行的工作。
  • 检查正确的 CODEX_HOME。 确认你当前的设置使用的是哪个位置,并在你开展工作的电脑上进行查找。

当你从与保存聊天不同的目录恢复时,OpenAI 表示:“如果当前工作目录与会话保存的目录不同,Codex 会询问要使用哪个目录。”回答你现在希望 Codex 从中读取文件的目录。

步骤 3:将重要的上下文保留在任何单个聊天之外

找到聊天解决了今天的问题。更持久的解决方法是停止依赖聊天记录来获取你以后还会需要的内容。

OpenAI 自己的指南也指向了相同的方向:“将持久的项目指南保存在 AGENTS.md 或签入的文档中,以便未来的聊天可以使用。”关于记忆,它补充道:“将记忆视为一个有用的召回层,而不是必须始终适用的规则的唯一来源。”

在实践中:

  • 当聊天产生决策时,将决策写入 AGENTS.md 或决策文件中。 正如我们关于 Codex 遗忘项目上下文的指南所解释的,这是每个未来聊天都会读取的内容。
  • 按结果重命名聊天。 OpenAI 建议使用描述结果的简短标题,这使它们以后更容易被找到。
  • 固定你经常返回的聊天。 OpenAI 建议固定你经常返回的聊天,这样即使项目中出现较新的聊天,它也会保持可见。
  • 归档而不是删除。 归档可以清理你的列表并保留聊天记录。
  • 如果适合你的工作,请开启本地记忆。 我们关于 Codex 本地记忆的指南介绍了它们保留的内容以及如何控制它们。

如果你的 AGENTS.md 变得很长,请检查 Codex 是否真的读取了它的全部内容。我们关于阻止 Codex 跳过 AGENTS.md 规则的指南介绍了大小限制以及如何进行检查。

在 MemoryLake 中进行设置

你希望从丢失的聊天中获取的决策,是值得保存在比聊天记录更持久的地方的部分。MemoryLake 是一个记忆层,用于在你维护的一个列表中保存此类记录,供 Codex 和你使用的其他助手使用。

You write the entries yourself, in your own words. Nothing is read out of, written to, or deleted from your Codex sessions, your archived chats, your CODEX_HOME directory, or any vendor's store. Check your organization's policy before storing project details outside your repository.

步骤 1:创建 API 密钥

登录并从控制面板生成密钥。该密钥属于你的 MemoryLake 工作区,与你的 OpenAI 帐户是分开的。

MemoryLake 控制台显示 API 密钥屏幕,在此创建并复制新密钥以在智能体中使用
MemoryLake 控制台显示 API 密钥屏幕,在此创建并复制新密钥以在智能体中使用

步骤 2:上传你的第一批记忆

从你寻找的决策开始:行之有效的方法、行不通的方法以及原因。每个条目一个决策,并注明日期。

MemoryLake 工作区,已上传首批文档,列出了每个文件,使其成为可搜索的记忆
MemoryLake 工作区,已上传首批文档,列出了每个文件,使其成为可搜索的记忆

步骤 3:连接你的 AI 和智能体

连接 Codex 和你使用的任何其他助手。无论旧聊天是被归档、在另一个目录中启动,还是在不同的工具中运行,这些决策都可以在新聊天中使用。

MemoryLake 集成屏幕,列出了可以连接到记忆层的 AI 客户端和智能体框架
MemoryLake 集成屏幕,列出了可以连接到记忆层的 AI 客户端和智能体框架

这在实践中改变了什么

第一个区别是速度。知道归档是隐藏、删除是移除,以及 CLI 会将会话恢复限制在你的目录中,可以将“聊天似乎消失了”的模糊感觉变成一份简短的清单。

第二个区别是减少虚惊一场。首先检查归档、过滤器和其他列表,可以避免重新构建你仍然拥有的工作。

第三个区别是减少对聊天记录的依赖。当决策存在于 AGENTS.md 或决策文件中时,找不到聊天只会让你失去对话过程,而不是结论。

第四个区别是工具之间的过渡更顺畅。如果你从其他地方导入聊天,我们关于 Codex 可以从 Cursor 和 Claude 导入什么的指南介绍了可以导入的内容。如果你在 Codex 旁使用 dots,我们关于上下文如何在 dots 和 Codex 之间移动的指南解释了这些聊天之间的关系。

保持 Codex 聊天记录可查找的最佳实践

首先检查已归档的聊天。 这是最快的检查方式,只需点击一下即可修复。

从原始目录恢复。 或者在不确定时将 --all 与 --last 结合使用。

记住 exec 运行默认是隐藏的。 使用 --include-non-interactive 来查看它们。

归档,不要删除。 删除是永久性的。

按结果命名聊天。 这有助于侧边栏和搜索。

对于可能再次需要的工作,不要使用 --ephemeral。 临时运行不会保存聊天记录。

将决策放入文件中。 聊天记录只是一个记录;AGENTS.md 才是未来聊天读取的内容。

在其他工具中使用相同的检查。 先归档,然后是过滤器和作用域,正如我们关于在 VS Code 中恢复 Copilot 聊天记录的指南针对 VS Code 所展示的那样。

结论

丢失的 Codex 聊天可能是被归档了、按目录过滤了、作为非交互式运行隐藏了,或者存在于不同的列表中。Codex 对其中每种情况都有记录,并且每种情况都有直接的检查方法:“已归档的聊天”部分和 codex unarchive、从正确的目录或使用 --all 运行 codex resume、--include-non-interactive 标志,以及正确的界面和 CODEX_HOME。

例外情况是从未保存的运行(例如 --ephemeral 会话)以及使用 codex delete 移除的聊天(OpenAI 将其描述为永久删除)。

一旦找到了所需的内容,请将重要部分移至 AGENTS.md 或决策文件中。这样,下一次丢失聊天只会让你失去一次对话,而不是它得出的结论。

常见问题

Codex 聊天存储在哪里?

对于本地聊天,OpenAI 列出会话记录位于 $CODEX_HOME/sessions(默认为 ~/.codex/sessions),已归档的会话位于 $CODEX_HOME/archived_sessions(默认为 ~/.codex/archived_sessions)。

如何在 Codex 中恢复已归档的聊天?

在 ChatGPT 桌面应用中,打开“设置”,转到“已归档的聊天”(Archived chats),然后选择“取消归档”(Unarchive)。在 CLI 中,运行 codex unarchive 并带上会话 ID 或名称。

为什么 codex resume 没有显示我的聊天?

除非你添加 --all,否则 codex resume --last 会查找当前工作目录,并且除非你添加 --include-non-interactive,否则选择器会排除非交互式会话。该聊天也可能已被归档。

归档 Codex 聊天会删除它吗?

不会。OpenAI 将归档描述为一种在不删除聊天记录的情况下清理会话选择器的方法。你可以在以后恢复已归档的聊天。

我能恢复已删除的 Codex 聊天吗?

OpenAI 将 codex delete 描述为永久删除已保存的会话,因此没有记录在案的恢复方法。请归档你可能再次需要的聊天。

为什么我的 ChatGPT 聊天没有出现在 Codex 中?

OpenAI 表示 ChatGPT 聊天不会出现在 Codex 侧边栏中,该侧边栏包含你的 Codex 聊天和项目。请在 ChatGPT 本身中寻找它们。