您的 Codex 上下文保存在哪里
OpenAI 的高级配置页面用一句话进行了概括:“Codex 将其本地状态存储在 CODEX_HOME 下(默认为 ~/.codex)。”它列出了您将在那里找到的内容:
- “config.toml(您的本地配置)”
- “auth.json(如果您使用基于文件的凭据存储)或您的操作系统钥匙串/密钥环”
- “history.jsonl(如果启用了历史记录持久化)”
- “其他每个用户的状态,例如日志和缓存”
故障排除页面补充了聊天记录:会话转录保存在 $CODEX_HOME/sessions 中,归档会话保存在 $CODEX_HOME/archived_sessions 中,默认分别为 ~/.codex/sessions 和 ~/.codex/archived_sessions。
该文件夹是迁移的核心。以下是其中包含和不包含的内容。
您的本地记忆
Codex 记忆是按机器存储的。OpenAI 的记忆页面指出:“ChatGPT 网页端使用 ChatGPT 记忆,而本地 Codex 客户端使用独立的本地记忆存储和控制。”在桌面应用中,“启用 Codex 记忆”设置可以“针对所选机器”开启或关闭该功能。
这些文件本身位于您的 Codex 主目录下:“主要的记忆文件保存在 ~/.codex/memories/ 下,包括摘要、持久条目、最近的输入以及来自先前聊天的支持证据。”OpenAI 还描述了如何处理它们:“将这些文件视为生成的临时状态。您可以在排除故障或共享 Codex 主目录之前检查它们,但不要依赖手动编辑它们作为您的主要控制手段。”
由此可以得出两个实际结论。在新机器上,记忆功能默认是关闭的,直到您手动开启,因为“本地 Codex 记忆默认关闭”。而且文档中并未说明将记忆存储从一台电脑迁移到另一台电脑的方法。它所描述的是读取这些文件。我们关于开启 Codex 本地记忆的指南介绍了相关设置。
您的个人指令
您自己的常用指令保存在同一个文件夹的一个文件中。OpenAI 的个性化页面指出:“在 Codex 中,这些个人指令存储在您的全局 AGENTS.md 文件中。”AGENTS.md 文档给出了具体位置:“在您的 Codex 主目录中(默认为 ~/.codex,除非您设置了 CODEX_HOME),如果存在 AGENTS.override.md,Codex 会读取它。否则,Codex 会读取 AGENTS.md。”
如果您一直依赖全局 AGENTS.md 来处理测试命令、提交风格或计划编写方式等内容,那么在新机器上,除非您将其复制过去,否则将无法使用这些指令。
您的配置、规则和钩子
您的 config.toml 保存了您的模型、沙箱和审批选择、您的 MCP 服务器以及您的记忆设置。您已批准的命令规则也保存在用户层中:“当您在 TUI 中将命令添加到允许列表时,Codex 会写入用户层的 ~/.codex/rules/default.rules,以便未来的运行可以跳过提示。”用户级的钩子可以放在 ~/.codex/hooks.json 中。
这些都不是关于您工作事实的上下文,但它们决定了每个会话的运行方式。没有这些配置的新机器会重新要求您进行已经批准过的审批,并且在运行时不会加载您设置的钩子。
您的个人技能
您为自己保留的技能保存在 Codex 文件夹之外。技能文档将用户位置列为 $HOME/.agents/skills,描述为“签入用户个人文件夹的任何技能”。而签入代码仓库 .agents/skills 文件夹的技能则会随代码仓库一起移动。
您的本地聊天
本地聊天是 ~/.codex/sessions 下的会话文件。codex resume 会列出您当前使用的机器上保存的聊天记录,因此在新电脑上,该列表最初是空的。
OpenAI 描述了保存的聊天所包含的内容:“聊天会保留其转录和记录的工作目录,而 Codex 会从当前工作树中读取文件。”如果您迁移会话,记录的工作目录就很重要,因为新电脑上的路径可能会有所不同。命令参考涵盖了这种情况:codex resume 具有 tui.resume_cwd 设置,用于“当前会话目录与保存的会话目录不同”的情况。
文档中并未将电脑之间复制会话文件描述为受支持的迁移路径。如果您尝试这样做,请将其视为一次实验,并保留原始文件。
哪些内容已经随您同步
您的某些 Codex 上下文根本不在旧电脑上。
您的代码仓库。 项目的 AGENTS.md 文件、项目的 .codex/config.toml 文件以及仓库技能会随着每次克隆一起提供。OpenAI 建议将任何需要持久保存的内容放在这里:“将持久的项目指南保存在 AGENTS.md 或签入的文档中,以便未来的聊天可以使用。”
云端任务。 Codex Cloud 在云端运行任务,OpenAI 表示您可以“从网页、移动或桌面应用查看更改并继续”。
置顶聊天。 8 月 17 日至 21 日的更新添加了统一的置顶线程:“在桌面端和 iOS 之间保持置顶聊天同步。”置顶会同步,但它们指向的本地聊天仍然保存在运行它们的电脑上。我们关于 ChatGPT 置顶聊天丢失的指南介绍了置顶在不同视图和设备上的表现。
到达新机器后需要检查的一件事:Codex 仅对受信任的项目加载项目范围的配置。OpenAI 的配置基础页面指出,如果您将项目标记为不受信任,“Codex 会跳过项目范围的 .codex/ 层,包括项目本地配置、钩子和规则。”在新机器上为您使用的每个代码仓库确认信任状态。
在迁移时保持旧电脑可访问
您不必在第一天就迁移所有内容。远程连接可以让您访问仍在旧机器上的工作。OpenAI 的页面指出:“远程访问使用已连接主机的项目、聊天、文件、凭据、权限、插件、Computer Use、浏览器设置和本地工具。”
因此,如果旧电脑保持开机并连接,您可以在设置新电脑的同时,从手机或其他设备打开其聊天记录。这对于完成正在进行的工作非常有用。它不会迁移任何内容,并且在旧机器被抹掉或关闭时就会结束。
人们首先尝试的方法
复制整个 ~/.codex 文件夹。 它既保存了您的设置,也保存了您的凭据。OpenAI 表示:“将 ~/.codex/auth.json 视为密码:它包含访问令牌。”在新机器上重新登录是更安全的方法,其余部分可以逐个复制。
期望记忆与账户同步。 Codex 记忆是绑定到所选机器的本地存储。网页上的 ChatGPT 记忆是一个独立的系统。
假设指令在代码仓库中。 项目的 AGENTS.md 文件确实在,但您的全局文件在旧电脑的 Codex 主目录下。
编辑记忆文件以将其带过来。 OpenAI 将它们称为生成的临时状态,并建议不要依赖手动编辑作为您的主要控制手段。
等到旧笔记本电脑不在了才处理。 在您仍能打开旧机器时,收集所有本地内容是最容易的。
手动迁移步骤
步骤 1:收集旧电脑上的内容
在抹掉或归还旧机器之前,整理 Codex 主文件夹和您的个人技能文件夹。
- 全局指令。 复制
~/.codex/AGENTS.md,如果存在AGENTS.override.md也一并复制。 - 配置。 复制
config.toml。检查其中是否有任何特定于机器的内容,例如绝对路径或本地模型提供商。 - 规则和钩子。 如果使用了
~/.codex/rules/and~/.codex/hooks.json,请复制它们。 - 个人技能。 复制
~/.agents/skills。 - 您仍需要的聊天。 导出您想再次阅读的对话。对于任何需要继续进行的对话,请让 Codex 对当前进展进行简短总结。桌面应用还可以共享本地 Codex 线程的只读快照。OpenAI 指出:“当原始线程更改时,快照不会更新”且“个人账户链接可以被任何拥有该链接的人打开”,因此请将快照链接视为公开共享,并检查其中的内容。
- 您的记忆学到了什么。 打开记忆文件,阅读摘要和持久条目。写下您希望未来会话了解的要点:约定、偏好、决策。这些是您需要手动恢复的内容。
保留 auth.json。您将在新机器上重新登录。
步骤 2:将每个部分放到新电脑读取的位置
在新机器上,安装 Codex 并登录。然后:
- 将您的全局 AGENTS.md 恢复到
~/.codex/,并添加您从记忆中记录下来的持久要点。OpenAI 自己的建议是将必须始终适用的规则保存在这里,而不是保存在记忆中:“将记忆视为一个有用的辅助召回层,而不是必须始终适用的规则的唯一来源。” - 恢复 config.toml、规则和钩子,修复任何发生变化的路径。
- 将您的个人技能恢复到
~/.agents/skills。 - 开启记忆功能(如果您需要),在“设置 > 个性化”中开启,或在
config.toml中使用memories功能标志。新的存储库开始时是空的,并会根据您在这台电脑上的聊天记录逐步构建。 - 信任您的代码仓库,以便加载其项目配置、钩子和规则。
- 进行测试。 在代码仓库中开始聊天,并让 Codex 总结它正在遵循的指令。AGENTS.md 文档也建议进行相同的检查:从代码仓库根目录运行 Codex,并让其总结当前的指令。
如果您需要旧对话在新机器上继续进行,请开始新聊天并粘贴您保存的总结。我们关于分叉 Codex 聊天的指南介绍了在单台电脑内复制会话的方法。
更好的方法:将重要的上下文保存在不依赖单一电脑的统一列表中
手动迁移虽然可行,但它暴露了上下文存在的问题:它被困在单台笔记本电脑的一个文件夹中。记忆与该机器绑定,全局 AGENTS.md 位于其主目录下,而聊天记录则保存在其会话文件中。下一次您更换电脑或在两台电脑上协同工作时,您还得重新操作一遍。
MemoryLake 是一个记忆层,用于将您工作时遵循的约定、偏好和决策保存在您维护的统一列表中,供 Codex 以及您连接的其他助手(如 ChatGPT 和 Claude Code)使用。
您可以用自己的语言亲自编写这些条目。不会从您的 Codex 主文件夹、您的 Codex 记忆、您的会话文件、您的 ChatGPT 记忆或任何供应商的存储中读取、写入或删除任何内容。对于工作代码仓库,请遵循您组织关于在仓库之外保留哪些内容的政策。
步骤 1:创建 API 密钥
登录并从控制面板生成一个密钥。该密钥属于您的 MemoryLake 工作区,与您的 ChatGPT 账户是分开的。

步骤 2:上传您的第一批记忆
从您在手动迁移步骤 1 中记录的 Codex 记忆要点开始:约定、偏好和决策。每个条目一个要点,注明日期,并标记其适用的代码仓库或项目。

步骤 3:连接您的 AI 和智能体
连接 Codex 和您使用的其他助手。无论是在新电脑、旧电脑还是您登录的任何其他机器上,都可以使用相同的上下文。

这在实践中带来了什么改变
第一个区别是,您清楚地知道旧机器上有什么。配置、规则、钩子、技能、全局指令、记忆和聊天记录各自都有明确的位置,并且您已经迁移或记录了每一个。
第二个区别是,重要的部分不再依赖于单个文件夹。必须始终适用的规则保存在代码仓库或全局文件的 AGENTS.md 中,而您原本需要重新构建的上下文也已被记录下来。
第三个区别是,下一次迁移会更简单。您只需复制几个文件、登录并连接即可。如果您还使用 Claude Code,我们关于将 Claude Code 会话导出到另一台机器的指南介绍了该工具侧的相同迁移操作。
在电脑之间迁移 Codex 的最佳实践
在抹掉数据前进行收集。 本地记忆、会话和您的全局 AGENTS.md 都在旧机器上。
重新登录。 不要复制 auth.json。OpenAI 建议将其视为密码对待。
阅读您的记忆文件。 将持久的要点记录到 AGENTS.md 中,而不是复制生成的临时状态。
重新开启记忆功能。 在新机器上,该功能默认是关闭的。
信任您的代码仓库。 不受信任的项目会跳过其项目配置、钩子和规则。
让旧机器保持连接一段时间。 远程访问可以让您完成仍在那里的工作。
将持久的指南放在代码仓库中。 签入的 AGENTS.md 文件和文档会随着每次克隆一起提供。
如果迁移后找不到聊天记录,我们关于寻找丢失的 Codex 聊天历史记录的指南介绍了它可能存在的其他位置。
结论
将 Codex 迁移到新电脑意味着迁移 ~/.codex 中重要的内容:您的全局 AGENTS.md、您的配置、规则和钩子,以及您在 ~/.agents/skills 中的个人技能。本地记忆属于创建它们的机器,因此请阅读它们并将持久的要点记录到您的指令中。在旧机器停用之前,最好导出或总结您需要的聊天记录。
您的代码仓库、云端任务和置顶聊天已经随您同步。重新登录、信任您的项目、开启记忆功能,并测试 Codex 是否正在遵循您预期的指令。