Codex 项目迁移 · 历史对话恢复

创建新配置时,带上需要的历史对话。

不必在“完全空白”和“复制全部数据”之间二选一。你可以从源 App 或已有多开配置中选择来源,并只同步项目、临时任务或全部支持的历史。

三种同步范围

仅项目

同步与项目目录关联的历史对话,适合继续维护已有代码仓库。

仅临时任务

同步不属于项目目录的临时对话。这个模式不会额外创建没有对话内容的空项目目录。

全部

同时同步项目对话和临时任务,适合建立一个包含现有工作记录的新独立配置。

可以选择多个来源

  • 源 App:当前官方 Codex / ChatGPT 桌面应用使用的 Codex 数据目录。
  • 已有 Profile:之前通过多开助手创建的一个或多个配置。

未勾选的来源不会参与同步。多个来源中遇到相同会话 ID 时会避免重复写入。

同步前请关闭正在使用这些来源数据的 Codex 窗口,避免数据库或会话文件正处于写入状态。

同步后会发生什么

  1. 复制符合范围的会话文件、索引和必要数据库记录。
  2. 将来源中的模型服务商引用改写为目标 Profile 的配置。
  3. 保留项目目录与临时任务的归类。
  4. 新 Profile 之后独立运行,不会把新增对话写回来源。

同步不仅是复制项目目录。Codex 历史依赖会话 JSONL、SQLite 线程数据、索引、项目路径和全局状态,缺少其中一部分就可能出现“能看到项目但看不到对话”或“重启后消失”。

同步后看不到历史怎么办

  1. 确认创建时开启了“同步已有对话记录”。
  2. 确认勾选了正确来源,而不只是选择了同步范围。
  3. 确认选择“仅临时任务”时,目标对话原本确实位于临时任务区。
  4. 完全退出目标 Codex 窗口后重新打开。
  5. 仍然失败时,通过 App 复制诊断并提交 Issue。
重新填写 API Key 或接口地址不应该删除历史对话。若修改 Provider 后历史消失,通常是配置解析、目标 Provider 标识或全局状态读取异常,需要日志进一步确认。