site logo

Marico's space

如何将 OpenAI Codex 迁移到新 Mac 而不丢失本地工作

AI技术与应用 2026-09-16 20:55:42 5

Codex Migrate: Change the Mac. Keep the work.

换到新 Mac 后登录同一个 ChatGPT/OpenAI 账号,并不一定能把你的本地 Codex 工作环境完整重建出来

账号本身可能没问题,但重要的工作还在旧机器上:本地对话记录、项目结构、自定义技能、配置、自动化脚本、未推送的分支、linked worktrees、stash,还有那些写到一半没保存的文件。

这篇说说该检查什么、普通的 Git clone 会漏掉什么,以及怎么迁移才不会把新 Mac 的身份标识覆盖掉。

第一步:别急着抹掉旧 Mac

在新 Mac 上稳定运行之前,保持旧 Mac 原样不动。重要对话先打开确认没问题,也建议做一份独立备份。迁移进度条走完不代表每个对话、Git 对象、worktree、未追踪文件都完整到达了。

新 Mac 上的操作顺序:

  1. 安装 Codex 或带 Codex 的 ChatGPT 桌面客户端。
  2. 打开并登录一次。
  3. 保留新安装的身份认证和 installation_id。
  4. 最终替换前,两台机器上的 Codex 都要关闭。

到底需要迁移什么?

其实就两大类东西。

本地 Codex 状态

根据你的 Codex 版本和配置,本地状态可能包含:

  • 活跃和归档的对话
  • 配置和项目组织方式
  • 规则、记忆、技能和自动化
  • 本地数据库和转录文件
  • 工作区路径的引用

直接复制整个旧的 ~/.codex 目录是有风险的,因为它可能也包含机器特定的状态。特别注意:不要盲目用旧 Mac 的 auth.jsoninstallation_id 覆盖新 Mac 的值。

工作区文件夹

一个仓库远不止 Finder 里看到的那些文件。如果想从上次中断的地方继续,选中的工作区文件夹需要完整的 .git 目录,外加:

  • 本地分支和标签
  • stash 和 remote 引用
  • 未提交和未追踪的文件
  • linked worktree 元数据
  • 备用 Git 对象位置
  • 项目专属的技能或配置

如果所有重要内容都 commit 并 push 了,fresh clone 可能就够了。但从未到达远程仓库的内容,从远端 clone 是无法恢复的。

rsync 够用吗?

够用——前提是你已经清楚每个相关路径、排除规则、依赖关系、权限规则、备份步骤和校验项。

复制命令本身不是难点。难点在于回答这些问题:

  • 我包含了所有的工作区和 linked worktree 吗?
  • 我保留新 Mac 的登录和安装身份了吗?
  • 用户名变了,绝对路径需要调整吗?
  • 云存储占位符看起来像本地文件了吗?
  • 传输中途被打断了吗?
  • 目标备份完整且可读吗?
  • 能证明对话和仓库迁移后可用吗?

更安全的迁移流程

一个站得住脚的流程是这样的:

  1. 检查旧 Mac,生成一份只读的迁移计划。
  2. 筛选你真正需要的工作区根目录。
  3. 连接两台 Mac,通过 SSH,验证过 host fingerprint。
  4. 暂存一次可恢复的复制,不修改源端。
  5. 备份目标端再替换选中数据。
  6. 安装两个 Codex 实例都关闭后再进行。
  7. 验证对话内容、数据库完整性、Git 状态和文件数量。
  8. 保留旧 Mac,直到新环境在实际使用中验证通过。

Wi-Fi、网线直连、或者 USB-C/Thunderbolt 网络桥接都能承载 SSH 传输。但一根数据线本身不保证 macOS 已经建立了可用的网络连接。传输时间主要取决于数据量和实际的网络路径。

如果暂存传输中断了,应该可以恢复。如果验证结果模糊或失败,应该停止流程、保留旧 Mac——而不是宣称成功。

我为此做的工具

换 Mac 的时候踩了这个坑,于是我做了 Codex Migrate,按照上面的流程来的。

完整的 CLI 和源码是 MIT 协议、免费的。它能盘点本地 Codex 状态和选中的工作区,排除旧机器的身份认证信息,通过 SSH 分阶段可恢复地传输,要求先验证目标备份,并生成一份可读的验证报告。

不想 clone 源码或在终端操作的,还有一个经过签名和 Apple 公证的 Mac beta 版,$49。同样的核心逻辑,加上打包好的应用,加上我提供的个人化、尽力而为的迁移和恢复帮助。

目前只支持 Apple 芯片的 Mac。这是迁移工具,不是持续多设备同步,也不是合并两个独立活跃工作区的合并工具。请保留旧 Mac 和一份独立备份。

快速决策指南

  • 仓库干净、全已推送:从 Git 拉下来,重新装工具链。
  • 想整体迁移整个账号:考虑 Apple 迁移助理。
  • 清楚知道自己的状态和安全步骤:手动 rsync 可以。
  • 有本地 Codex 对话加上未完成的项目状态:用分阶段、有备份、可验证的迁移流程。

如果新 Mac 上 Codex 历史看起来是空的,先停手,别删旧 Mac 上的任何东西。先盘点,再复制,验证通过后再信任结果。

声明:我是 Codex Migrate 的维护者。这是一个独立项目,与 OpenAI 没有关联或授权关系。