MemoryLake
返回全部文章
Tutorial2026 年 8 月 14 日·13 分钟阅读

如何在不丢失上下文的情况下将 Perplexity Spaces(现为 Projects)迁移到 Codex(2026 年)

自上一次有人撰写本指南以来,发生了两件变化。Perplexity 将 Spaces 重命名为了 Projects —— 帮助中心文章现在以“什么是 Project?”开头,最后更新日期为 2026 年 7 月 30 日 —— 并且 Perplexity 发布了 Brain,其官方文档将其描述为“一个自我改进的记忆系统,可构建您的项目、人员和文件的运作模型”。与此同时,Codex 拥有自己的记忆,这些记忆在后台生成并存储在您的机器上。

这就引出了这次迁移的真正问题,而且它并不是人们所预期的那个。现在双方都有记忆。但双方的记忆都无法移植。Perplexity 的 Brain 是一个您可以在 UI 中浏览、阅读和纠正的图谱;Perplexity 的文档描述了如何查看和编辑它,而不是如何导出它。Codex 的记忆保存在 `~/.codex/memories/` 中,其文档指出它们是本地的,与 ChatGPT 网页版的记忆分开,并且您不应该依赖手动编辑它们作为您的主要控制界面。因此,在这两个衍生层之间,无论哪个方向,都没有可以移动的文件。

可以移动的是持久的输入 —— 文件、指令以及决策本身。本文将详细介绍究竟什么可以传输、什么必须重新推导,以及没有人提及的后果:Project 是一个共享的工作空间,而 Codex 记忆则不是,因此粗心的迁移会悄无声息地将团队知识转化为个人的私密笔记。

究竟什么可以传输

逐层剖析 Project,使用 Perplexity 自身对 Project 所包含内容的描述:“您的 Search 对话、您的 Computer 任务、文件、自定义指令、连接的工具,以及 Perplexity 在您工作时建立的上下文”。

文件:可以传输,而且是轻松搞定的部分。 Perplexity 记录了单独的、作为文件夹的以及从连接的文件源导入的持久文件上传,外加 Computer 代表您创建和管理的文件。任何属于真实文档的内容都会作为真实文档导出。在 Codex 侧,这些将成为存储库中或您指向 Codex 的任何目录中的文件 —— 区别在于 Project 的文件附加到工作区,而 Codex 读取磁盘上的内容。

自定义指令:可以传输,但需要注意大小限制。 Perplexity 允许“最多 8,000 个字符”的 Project 指令来“告诉 Computer 如何在此 Project 中工作”,外加设置中的上下文指令“用于项目中运行的每个查询”。自然的目标位置是 AGENTS.md,Codex 自己的文档也说明了将其放在那里的理由,而不是信任记忆来承载它们:“将所需的团队指南保留在 AGENTS.md 或签入的文档中。将记忆视为有用的召回层,而不是必须始终适用的规则的唯一来源。”不过,八千个字符确实很多。该长度的大部分通常是硬性规则和背景解释的混合,而只有硬性规则才属于始终加载的文件。

优先考虑的网页链接和域名:无目标位置。 Project 设置允许您“添加和管理要优先考虑的网页链接和域名”。这是研究工具的检索偏好,Codex 没有等效的控制按钮。如果这些域名编码了某些真实的信息 —— 比如该供应商的文档是权威的,而那个 Stack Overflow 的回答已经过时 —— 请将原因写成笔记,而不是试图复制该机制。

默认模式和编排器模型:无目标位置,且无损失。 Project 可以设置默认模式(Search 对比 Computer)和默认的 Computer 编排器模型。这些是 Perplexity 侧的执行设置。无需迁移。

Brain:无法传输。 这是至关重要的层,也是没有迁移路径的层。Perplexity 记录了 Brain 积累的内容 —— 它从您的会话、连接的工具、文件和制品以及您的纠正中学习,并将结果组织成“Concepts(概念)、Entities(实体)和 Workstreams(工作流)—— 一个可浏览的维基和您世界的图谱”,其中每个条目“都链接回其来源,以便您可以检查或纠正它”。连续的运行会强化仍然正确的内容,更新已更改的内容,并标记过时的内容。这确实不仅仅是一个文档堆:它是结构化的、有来源链接的且自我维护的。其记录的交互界面是在 Settings → Memory 中查看、编辑和删除条目。Perplexity 的文档没有描述任何导出方式。

在我们将 Brain 视为一堵墙之前,有两点关于 Brain 的客观说明。它是受限的 —— 文档指出“Brain 正在作为研究预览版(Research Preview)向使用 Computer 的 Max 和 Enterprise Max 订阅者推出” —— 因此阅读本文的相当一部分人并没有它,可以跳过整个问题。而且它是可以退出的,在 Settings → Memory settings → Brain 下有其专属开关,企业管理员也有组织级别的控制权。如果您的工作区中关闭了 Brain,那么您的 Project 知识就已经只是文件加指令了,这次迁移只需两个小时。

Codex 记忆:存在,但不接收任何内容。 在目标侧,Codex 维护着自己的记忆库:根据文档,~/.codex/memories/ 下的文件包含“来自先前聊天的摘要、持久条目、最近的输入和支持证据”,在聊天变为空闲后在后台生成,并通过 config.toml 中的 [features] memories = true 启用。三个记录的属性塑造了这次迁移。它们是本地的且针对单台机器。它们与 ChatGPT 网页版的记忆是分开的 —— “ChatGPT 网页版使用 ChatGPT 记忆,而本地 Codex 客户端使用单独的本地记忆库”。并且生成是尽力而为的:当剩余速率限制百分比降至配置的阈值以下时,可以跳过记忆传递,且“聊天结束时记忆可能不会立即更新”。您无法通过写入来初始化该层,并且文档建议不要将手动编辑作为您的控制界面。

两份文档中都没有提到的后果。 Perplexity Project 在设计上是协作性的:拥有 Owner(所有者)、Can edit(可编辑)和 Can view(可查看)等角色;访问范围从 Restricted(受限)到组织范围;在非企业版 Project 上最多支持 5 位协作者,在企业拥有的 Project 上最多支持 9,999 位。Codex 记忆是单机和单人的。将一个五人的 Project 迁移到一位工程师的 Codex 设置中,知识不仅改变了格式 —— 还改变了所有者。其他人都将失去对其的访问权限,而且没有人会收到通知。

手动迁移

步骤 1:首先移动持久输入

在触及任何衍生内容之前先完成这部分,因为这是机械性的工作,而且可以让困难的部分变小。

导出文件。导出 Project 的 Files 下的所有内容,包括您在六个月后仍会需要的 Computer 生成的制品。将它们放在 Codex 真正能看到的地方:如果它们属于代码库,就放在存储库中;如果它们是参考资料,就放在已签入的 docs/ 目录中。文件闲置在 Codex 未指向的文件夹中,是人们“迁移”后纳闷为什么什么都没有继承下来的最常见原因。

将指令一分为二。获取 Project 指令和设置级别的上下文,并将每一行分类为“每次都必须遵守”和“有用的背景”。第一堆变成 AGENTS.md,遵循 Codex 自身关于所需团队指南应保存在已签入文档中的指导。第二堆变成您参考的文档,而不是您加载的指令。克制住将所有 8,000 个字符粘贴到 AGENTS.md 中的冲动;一个冗长且始终加载的文件会分散对工作的注意力,而真正重要的规则会被稀释。

将检索偏好写成散文。优先域名列表是对您信任哪些来源的压缩判断。Codex 无法接受该列表,但它可以读取“X 处的供应商文档对 API 具有权威性;Y 上的任何内容都早于版本 3 且具有误导性”。这句话比该设置本身更具可移植性。

明确记录协作边界。在关闭 Project 之前,写一封简短的便签,记录谁拥有访问权限以及谁在做出贡献。您即将从一个拥有角色的工作区转移到一个没有角色的本地存储,了解还有谁依赖于此可以防止您悄无声息地删除团队资源。

步骤 2:重新推导 Brain 整理出的内容 —— 并决定谁拥有它

现在是无法导出的部分。好消息是,Brain 的界面正是为您需要进行的阅读而设计的:打开 Memory,浏览 Concepts、Entities 和 Workstreams,然后点击进入每个条目背后的来源。您无需猜测它学到了什么;它会向您展示,并带有来源。

带着一个过滤器来梳理它:如果该工具消失了,这仍然是真的吗? 保留描述您的项目、您的限制、您的人员、您的未闭环任务(open loops)以及您的决策的条目。跳过描述 Computer 如何执行任务的条目,这些条目与工具的执行有关,而不是与您的世界有关。Perplexity 本身也划定了这条界线 —— 其文档区分了 Memory(“存储您的偏好、兴趣和您分享的事物”)与 Brain(“将您的项目、人员、文档、决策和未闭环任务组织成一个连接的图谱”)。决策和未闭环任务才是您要挖掘的内容。

然后放置它们,这就是所有权决策落地的地方。您有三个选择,而最糟糕的选择是意外滑入第三个选择。

将它们放在已签入的文档中。 编写较慢,但能保留下来。团队保持访问权限,知识在 diff 中可评审,且 Codex 可以读取它,因为它在仓库中。对于任何必须始终适用的内容,这就是 Codex 文档所推荐的做法。

将它们放在共享记忆层中。 比散文文档更容易维护,所有人仍可访问,且可被多个工具读取。下文将对此进行详细介绍。

让 Codex 自身的记忆来积累它们。 这在默认情况下会发生,作为补充也无妨 —— 但要明白您选择了什么:一个本地于单台机器、与 ChatGPT 网页版记忆分开、按尽力而为计划生成且不打算手动编辑的存储。作为团队积累知识的唯一归宿,这是一个没有备份、无法共享的单点故障。Codex 的文档非常直接地指出这不是它的适用场景,而且随着您在一段时间未接触的工作上遇到 Codex 遗忘项目上下文 的情况,这种差距很快就会显现出来。

什么都不做是第四个选择,也是真正的风险。Brain 会标记过时的条目并保持自身最新;而一个装满半记半忘结论的文件夹则不会。不完整的迁移会给您留下看起来已被捕获但实际上并未捕获的知识。

更好的方法:一个记忆层,适用于任一工具

从具体细节中抽身出来,模式显而易见。两个优秀的工具,两个称职的记忆系统,零互操作性 —— 而且所涉及的知识实际上与这两个工具都无关。它关乎您的项目。每次工具发生变化时,知识都必须手动重新推导,因为它被存储在恰好帮助您发现它的工具内部。

MemoryLake 是一个独立于两者的记忆层:一个存放项目持久知识的地方,可供您今天使用的任何助手读取。在 Perplexity 中进行研究,在 Codex 中进行构建,两者都读取相同的记忆,而不是各自维护一份私有的、无法导出的副本。设置只需三个步骤。

步骤 1:创建 API 密钥

登录 MemoryLake 并创建 API 密钥。为您连接的每个工具提供一个凭据,这正是让它在您的下一次迁移中幸存下来的关键所在。

创建 MemoryLake API 密钥以将 Perplexity Spaces 迁移到 Codex
创建 MemoryLake API 密钥以将 Perplexity Spaces 迁移到 Codex

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

上传您在上述步骤 2 中提取的内容 —— 决策、限制、未闭环任务、背后的原因 —— 以及解释项目的参考文件。保持条目简短且事实化,每个条目一个想法,以便检索返回可用内容,而不是一堵文字墙。关于您为什么拒绝某种方法的条目,其价值是您选择什么的条目的两倍,因为拒绝是每个新助手否则都会重新提出的部分。

将 Perplexity Project 决策和限制上传到 MemoryLake
将 Perplexity Project 决策和限制上传到 MemoryLake

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

连接您的工具。MemoryLake 可通过 MCP 和 API 访问,因此 MCP 原生智能体 —— 包括 Codex、Claude Code 和 OpenClaw —— 通过指向 MCP 服务器进行连接,而其他任何工具则通过 API 读取相同的记忆。Codex 保持其本地记忆做它们擅长的事,即召回该机器上的近期工作;持久知识则保存在您的团队成员和其他工具也可以访问的地方。

通过 MCP 将 Codex 连接到 MemoryLake,同时保留本地记忆
通过 MCP 将 Codex 连接到 MemoryLake,同时保留本地记忆

坦率的局限性:MemoryLake 不会导入 Brain,因为 Brain 没有记录在案的导出方式 —— 您需要手动重新陈述一次结论,这就是实际的成本。它也不是一个研究工具。它不会取代 Perplexity 的功能;它保存的是在 Perplexity 帮助您找到之后您所总结出的结论。

这在实践中改变了什么

迁移不再是重新推导。 这次迁移中成本最高的部分不是文件或指令 —— 那些只需要一个小时。而是阅读记忆图谱并重新输入其结论。将这些内容输入到独立于工具的层中,意味着下一次迁移也只需一个小时。

团队知识依然是团队知识。 这是无声的胜利。一个 Project 在企业版上支持多达 9,999 位协作者;而 Codex 记忆仅支持单台机器。将内容放入共享层,可以保留最初使 Project 具有价值的属性。

研究和构建不再是独立的记忆。 大多数人实际面临的模式是在一个工具中进行研究,在另一个工具中进行实现,并且相同的上下文需要解释两次。一个两者都能读取的层消除了第二次解释 —— 同样的问题在如何停止向您的 AI 重新解释上下文中有所讨论。

供应商的变化不再是重大事件。 Spaces 变成了 Projects。Brain 推出了研究预览版。Codex 记忆是可配置的,除非启用否则处于关闭状态。如果您的知识存在于工具之外,那么其中的每一次变化都只是文档更新;如果不是,那就是一场手忙脚乱。

迁出 Perplexity Project 的最佳实践

在取消任何订阅之前先阅读 Brain。 对图谱的访问权限随着对计划的访问权限结束而结束。在两者都还拥有时进行阅读,并在同一次操作中检查 Project 的文件 —— 在 Space 中感觉丢失的内容通常仍然存在,只是没有被检索到。

使用来源链接。 每个 Brain 条目都链接到其背后的会话、文件或来源。当某个条目看起来很重要但很模糊时,点击进去 —— 来源通常包含值得保留的具体版本。

将必需的规则保留在已签入的文件中。 Codex 的文档直接指出了这一点,并且无论您采用哪个记忆层,它都适用:必须始终适用的规则属于 AGENTS.md 或文档,而不是召回层。

不要指望 Codex 记忆会按需立即出现。 生成是在聊天变为空闲后在后台进行的,在速率限制压力下可能会被跳过,且文档指出记忆“在聊天结束时可能不会立即更新”。会话结束后立即缺失是正常现象,而不是错误。

在依赖机器边界之前先检查它。 Codex 记忆是本地的且针对单台机器,IDE 扩展使用连接的主机的存储。如果您在两台电脑上工作,请假设存在两个独立的记忆。

告知您的协作者。 如果 Project 拥有协作者,迁移会移除他们对正在使用的知识库的访问权限。这是一个需要公开做出的决定,而不是一个副作用。

结论

这种迁移的旧版本是“导出您的 Spaces 内容并将其粘贴到某处”。这不再是全部工作,因为旅程的两端现在都维护着双方都不会交出的衍生记忆。文件和指令在一小时内即可移动。Brain 的结论移动速度取决于您阅读和重新输入它们的速度,而 Codex 的记忆根本无法进行初始化。

因此,只需阅读一次,并将输出放在不属于任何一个工具的地方 —— 已签入的文档、共享记忆层,理想情况下两者兼有,根据规则是否必须始终保持来划分。这样,下一次重命名、下一次研究预览和下一个工具都将成为您读到的事件,而不是您需要安排的项目。如果您的目标是不同的智能体,将 Perplexity Spaces 迁移到 Claude Code 涵盖了该路线,而 将 ChatGPT 记忆迁移到 Codex 则涵盖了同一目标的另一个常见来源。

常见问题

Perplexity Spaces 和 Projects 是一回事吗?

是的 —— Perplexity 对其进行了重命名。关于 Spaces 的帮助中心文章现在描述的是 Projects,“Perplexity 中一个持久的、可共享的工作空间,可将持续努力的所有内容保留在一个中心”,其最后更新日期为 2026 年 7 月 30 日。Projects 还包括 Spaces 所不具备的功能,包括由 Brain 驱动的记忆设置和 Computer 任务支持。

我可以导出 Brain 学到的内容吗?

Perplexity 的文档描述了在 Settings → Memory 中查看、编辑和删除 Brain 条目,这些条目被组织为 Concepts、Entities 和 Workstreams,每个条目都链接到其来源。它没有记录任何导出路径。实际上,这意味着阅读图谱并重新记录您想要保留的结论 —— 来源链接使这一过程比听起来更快。

Codex 是否有我可以导入 Project 的记忆功能?

Codex 拥有记忆,但没有导入功能。它们是在后台从您的聊天中生成的,本地存储在 ~/.codex/memories/ 下,且文档建议不要依赖手动编辑它们作为您的主要控制界面。要刻意为 Codex 提供知识,请将其放在 AGENTS.md 或已签入的文档中 —— 这也是 Codex 自身文档针对任何必须始终适用的内容所推荐的做法。

迁移后我的团队成员还能访问吗?

无法访问 Codex 侧。Perplexity Projects 拥有角色和访问范围,在非企业版计划中最多支持 5 位协作者,在企业拥有的 Project 中最多支持 9,999 位。Codex 记忆是本地的且针对单台机器。如果 Project 是共享的,请规划一个共享的目标位置 —— 已签入的文档或共享记忆层 —— 否则您将把团队资源转化为个人的本地文件。

我没有 Brain。这次迁移会更容易吗?

会容易得多。根据文档,Brain 正在作为研究预览版向使用 Computer 的 Max 和 Enterprise Max 订阅者推出,并且它有自己的开关。没有它,您的 Project 就只是文件加指令加对话,本指南的第一步就是大部分工作。

我应该继续使用这两个工具吗?

这通常是正确的答案 —— 它们承担不同的工作,并且 Perplexity 的研究优势与 Codex 的编码智能体优势并不重合。不可持续的是在两者中以两种私有且均无法导出的格式维护相同的项目知识。一个两者都可以读取的共享层是让同时运行两者的成本降低的关键。