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

在 Codex 中切换账号会发生什么?哪些会话和记忆保留在机器上,哪些属于账号 (2026)

您可能会使用多个登录身份来使用 Codex。也许是一个个人 ChatGPT 方案和一个公司工作区,或者是一个用于日常工作的 ChatGPT 登录和一个用于脚本的 API key。在某些时候,您会登出一个并登录另一个,这时问题就出现了:Codex 刚刚切换了什么,又有哪些保持不变?

简短的答案就在 OpenAI 的文档中,分布在几个页面里。Codex 将其本地状态保存在机器上的一个文件夹中,即其 Codex 主目录。登录不同的账号会更改 Codex 使用的凭据。文档将您的本地会话历史记录和本地记忆放在同一个文件夹中,并没有将它们描述为属于某个账号。

本指南涵盖了在 CLI、IDE 扩展和 ChatGPT 桌面应用中切换的工作原理、哪些内容保留在您的机器上、哪些内容随账号迁移,以及如果您希望将两个账号分开,该如何操作。如果您是在网页版 ChatGPT 而不是 Codex 中切换账号,请参阅我们的 ChatGPT 账号切换与记忆指南。

如何在 Codex 中切换账号

在 CLI 中,您通过注销并重新登录来切换。

Codex CLI。 “运行 codex login status 查看当前的身份验证方法。” 运行 codex logout 清除存储的凭据,然后运行 codex login 以使用另一个账号登录。在交互式会话中,/logout 也可以让您注销。

IDE 扩展和桌面应用。 OpenAI 的文档说明,打开个人资料菜单查看当前账号或 API key 状态,然后选择“退出登录”以清除当前凭据并重新登录。

ChatGPT 登录或 API key。 两者都适用于本地 Codex。CLI 的 API key 登录会从标准输入读取密钥。Codex cloud 则不同:“Codex cloud 要求使用 ChatGPT 登录。”

CLI 和扩展共享同一个登录信息

对于同时使用两者的用户来说,有一个细节令人惊讶。OpenAI 表示:“CLI 和扩展共享相同的缓存登录详细信息。如果您从其中任何一个注销,下次启动 CLI 或扩展时都需要重新登录。” 因此,在终端中切换账号也会同时切换扩展,反之亦然。

您的登录信息存储在哪里

“Codex 将登录详细信息本地缓存在 ~/.codex/auth.json 的纯文本文件中,或存储在您操作系统特定的凭据存储中。” cli_auth_credentials_store 设置决定了使用哪种方式:file、keyring、auto 或 ephemeral(仅在当前进程的内存中保留凭据)。

OpenAI 对该文件的警告值得重申:请像对待密码一样对待 ~/.codex/auth.json,因为它包含访问令牌。不要将其提交到代码库、粘贴到工单中或在聊天中共享。如果您按照下文所述在两个主目录中保留两个账号,您将拥有两个此类文件。

切换时哪些内容保留在您的机器上

这是对上下文至关重要的部分。Codex 将其本地状态保存在一个地方。OpenAI 的环境变量参考这样描述 CODEX_HOME:它“设置 Codex 状态的根目录,包括配置、身份验证、日志、会话、技能和独立包元数据。” 默认值为 ~/.codex。

会话历史记录

“默认情况下,Codex 将本地会话转录保存在 CODEX_HOME 下(例如 ~/.codex/history.jsonl)。” 您的聊天记录是 Codex 主目录中的文件。登录另一个账号会更改凭据,但不会更改此文件夹。如果您在切换后寻找聊天记录,我们的查找丢失 Codex 聊天记录指南涵盖了其他检查位置。

本地记忆

“Codex 将记忆存储在您的 Codex 主目录下。” 在新的主目录中,Codex 默认使用 $CODEX_HOME/memories_v2/;已经拥有 $CODEX_HOME/memories/ 的主目录将继续使用该存储。我们的 Codex memories v2 指南涵盖了这两个存储。

桌面应用的控件将记忆描述为属于机器。“启用 Codex 记忆”可为所选机器开启或关闭该功能,而“删除 Codex 记忆”则会重置“所选机器的记忆存储”。文档并未描述每个账号独立的记忆存储。

因此,如果您在一个 Codex 主目录下切换账号,请按两个账号共享相同的本地记忆和历史记录来做计划,因为 OpenAI 的文档中没有任何内容描述如何将它们分开。

配置、指令和技能

您的 config.toml、全局 AGENTS.md 以及您的个人技能都遵循相同的规则:它们位于 Codex 主目录或您自己的文件夹中,而不是在账号中。切换账号不会改变它们。

哪些内容属于账号

有些内容确实会随着登录而改变。

数据处理和管理控制

OpenAI 表示,您的登录方式决定了适用哪些管理控制和数据处理策略。“当您使用 ChatGPT 登录时,Codex 的使用遵循您的 ChatGPT 工作区权限、基于角色的访问控制 (RBAC) 以及 ChatGPT Enterprise 的保留和驻留设置。” 并且:“使用 API key 时,使用情况遵循您的 API 组织的保留和数据共享设置。”

计费也随登录而变。使用 API key 时,Codex 使用标准的 API 定价,而不是 ChatGPT 方案中包含的额度。

Codex cloud 和工作区内容

Codex cloud 任务需要 ChatGPT 登录,并且它们针对您的工作区环境和存储库访问权限运行。OpenAI 对找不到聊天、文件或共享资源的用户的企业指南是切换到创建该工作的工作区,并补充道:“切换工作区不会转移内容。”

ChatGPT 记忆

网页版 ChatGPT 有自己的记忆。OpenAI 明确区分了两者:“ChatGPT 网页版使用 ChatGPT 记忆,而本地 Codex 客户端使用独立的本地记忆存储和控制。” 因此,Codex 的本地记忆与您登录的任何账号上的 ChatGPT 记忆是不同的存储。

切换后 Codex 将您注销的情况

在托管环境中,管理员可以通过 forced_login_method 和 forced_chatgpt_workspace_id 限制您使用的登录方法和工作区。OpenAI 描述了如果您使用其他方式登录会发生什么:“如果活动凭据与配置的限制不匹配,Codex 将注销用户并退出。”

如果在办公机器上登录个人账号后 Codex 立即退出,请检查这些设置。它们来自机器的托管配置,因此无论您尝试哪个账号都会生效。

如何将两个账号分开

如果您希望工作和个人 Codex 拥有独立的历史记录和记忆,文档中描述的方法不是注销再登录,而是使用独立的 Codex 主目录。

OpenAI 的指令指南指出:“当您需要不同的配置文件(例如特定项目的自动化用户)时,请设置 CODEX_HOME 环境变量。” 为第二个账号将 Codex 指向不同的目录,它就会从那里读取配置、凭据、会话和记忆。环境变量参考补充道:“如果您设置了它,该目录必须已经存在。”

需要了解的三个细节:

  • 配置 Profile 并不是独立的主目录。 Codex 的 --profile 选项会加载一个与 config.toml 位于同一 Codex 主目录下的 profile 文件。它会更改设置,但该主目录中的会话和记忆保持不变。
  • 检查您处于哪个主目录。 OpenAI 的故障排除建议:“在启动 Codex 之前运行 echo $CODEX_HOME。” 我们的 Codex 跳过 AGENTS.md 规则指南涵盖了错误的主目录对您的指令会产生什么影响。
  • 凭据存储。 文档描述了每个主目录下的 auth.json。如果您改用操作系统凭据存储,请检查切换主目录后每个账号的登录是否仍然有效。

如果您保留一个主目录:按聊天控制记忆

并非所有人都想要两个主目录。如果您在一个 Codex 主目录下切换账号,但不希望某个特定聊天调用或添加到共享的本地记忆中,Codex 提供了按聊天控制的功能。

OpenAI 表示,在 Codex CLI 中,您可以“在交互式会话中使用 /memories 来控制当前聊天是否可以使用现有的本地记忆,或成为未来记忆的输入。” ChatGPT 桌面应用也有同样的命令。文档补充说:“聊天级别的选择不会更改您的全局记忆设置。”

这为您提供了一条折中方案。保留一个主目录,对于那些不应将工作内容喂给共享记忆的账号聊天,在该聊天中关闭记忆使用和记忆生成。

还有一个针对使用外部上下文的聊天的设置。memories.disable_on_external_context 可以防止使用了 MCP 工具调用、网页搜索或工具搜索的聊天进入记忆生成。如果您的工作账号聊天通过 MCP 从公司系统提取数据,该设置可防止它们成为记忆输入。

本地记忆默认是关闭的,因此在您或您的设置开启它们之前,这些都不适用。请检查桌面应用中的“设置 > 个性化”,或 config.toml 中的 [features] 表。

人们首先尝试的操作

注销并登录,期望获得干净的状态。 凭据会改变,但该 Codex 主目录中的本地会话、记忆和配置会保留。

仅注销 CLI。 扩展共享相同的缓存登录,因此它也会注销。

使用配置 Profile 来区分账号。 Profile 仅更改一个主目录内的设置。请改用独立的 CODEX_HOME。

期望 ChatGPT 记忆跟随到 Codex 中。 ChatGPT 网页记忆和本地 Codex 记忆是独立的存储。

假设切换工作区会带走云端工作。 OpenAI 表示切换工作区不会转移内容。

解决方案:决定每个账号应共享什么

第 1 步:检查您登录的身份

在 CLI 中运行 codex login status,或在扩展或应用中打开个人资料菜单。记录账号,对于 ChatGPT 登录,还要记录工作区。

第 2 步:选择一个或两个主目录

如果账号可以共享本地历史记录和记忆,请保留一个 Codex 主目录并通过注销和登录进行切换。如果不应该共享,请创建第二个目录,并在启动 Codex 时将 CODEX_HOME 指向该目录以供另一个账号使用。

第 3 步:写下两个账号都需要的内容

有些上下文属于您,而不属于任何一个账号:您的惯例、您的偏好、关于长期工作的决策。将持久的项目规则放入存储库的 AGENTS.md 中,其余内容保留在您维护的笔记中。OpenAI 自己的建议也指向了同样的方向:“将记忆视为有用的召回层,而不是必须始终适用的规则的唯一来源。”

在 MemoryLake 中设置

独立的 Codex 主目录可以将账号分开,但它们也会分割您教给 Codex 的内容。您希望在两者中都拥有的事实(例如您如何命名分支或运行哪些测试)最终会被编写两次,或者只编写一次。

MemoryLake 是一个记忆层,用于将这些事实保存在您维护的一个地方,供您连接的助手(如 ChatGPT、Claude Code 和 Codex)使用。

您可以用自己的语言亲自编写条目。不会从您的 Codex 主目录、您的 auth.json、您的会话历史记录、您的本地 Codex 记忆、您的 ChatGPT 记忆或任何供应商的存储中读取、写入或删除任何内容。Codex 的登录和记忆将继续按照 OpenAI 描述的方式工作。

第 1 步:创建 API key

登录并从仪表板生成密钥。该密钥属于您的 MemoryLake 工作区,与您的 OpenAI 账号是分开的。

MemoryLake 控制台显示 API 密钥屏幕,在此处创建并复制新密钥以供在 agent 中使用
MemoryLake 控制台显示 API 密钥屏幕,在此处创建并复制新密钥以供在 agent 中使用

第 2 步:上传您的第一批记忆

从解决方案的第 3 步中的笔记开始:两个账号都需要的一致惯例和决策。每个条目一个要点,并先根据公司政策检查工作内容。

MemoryLake 工作区显示已上传的第一批文档,列出了每个文件变为可搜索记忆的过程
MemoryLake 工作区显示已上传的第一批文档,列出了每个文件变为可搜索记忆的过程

第 3 步:连接您的 AI 和 agent

在您使用的每个设置中连接 Codex,以及任何其他助手。无论您登录哪个账号,相同的条目都可用。

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

这在实践中改变了什么

第一个区别是可预测的切换。您知道登录信息改变了而 Codex 主目录没变,因此历史记录中没有任何内容会让您感到意外。

第二个是当您需要时可以实现彻底的分离。两个主目录保持会话和记忆独立,而共享的事实存在于两者之外。

第三个是减少重复。如果您以后导出聊天或重新开始,我们的导出 Codex 聊天指南和我们的 Codex /clear 与 /new 指南将从您已有的笔记开始。

在 Codex 中切换账号的最佳实践

首先检查活动登录。 codex login status 显示正在使用的身份验证方法。

记住共享登录。 CLI 和扩展会同时注销。

使用独立的 CODEX_HOME 进行隔离。 配置 Profile 不会分割会话或记忆。

先创建目录。 Codex 要求目录必须存在。

像对待密码一样对待 auth.json。 它包含访问令牌。

预料到办公机器上的托管限制。 不匹配的登录将被注销。

在 AGENTS.md 中保留共享规则。 记忆是召回层,而不是规则手册。

结论

在 Codex 中切换账号会更改凭据以及随之而来的内容:数据处理、管理控制、计费和云端工作访问权限。它不会更改您的 Codex 主目录,OpenAI 的文档将您的配置、会话转录、技能和本地记忆都存放在那里。

如果两个账号可以共享这些历史记录,注销并登录就足够了。如果不应该共享,请为每个账号提供其自己的 CODEX_HOME,并将您在两者中都需要的事实保存在切换不会影响的地方。

常见问题

如何在 Codex CLI 中切换账号?

运行 codex logout,然后运行 codex login 并使用另一个账号登录。codex login status 会显示哪种身份验证方法处于活动状态。

在 Codex 中切换账号会删除我的聊天历史记录吗?

OpenAI 的文档将本地会话转录放在 CODEX_HOME 下,而不是账号下。登录另一个账号会更改凭据,但不会更改该文件夹。

Codex 记忆是否与我的账号绑定?

文档将本地记忆存储在您的 Codex 主目录下,并将控制描述为适用于所选机器。它没有描述每个账号独立的记忆存储。

我可以同时使用两个 Codex 账号吗?

在启动 Codex 时,通过将 CODEX_HOME 设置为不同的现有目录,为每个账号提供其自己的 Codex 主目录。每个主目录都有自己的凭据、会话和记忆。

为什么我在登录后 Codex 将我注销了?

在托管机器上,管理员可以限制登录方法或工作区。如果您的凭据不匹配,Codex 将注销并退出。

注销 Codex CLI 会同时注销 IDE 扩展吗?

是的。OpenAI 表示 CLI 和扩展共享相同的缓存登录详细信息,因此注销其中任何一个都意味着在两者中都需要重新登录。