最近一直在用 Codex 开发一些自己的小软件,突然遇到一个问题:因为我的台式机电脑比较旧了(很多年前了了,CPU是i5-9400),虽然大部分时间还能流畅运行,但偶尔也会出现一些卡顿现象,所以接下来可能会想换机。那么问题来了:假如我在台式机上用 Codex 开发了一个 Windows 本地音乐播放器,已经写了不少代码,也和 Codex 反复讨论过功能设计、技术选型、程序架构,开发到一半,想换到一台笔记本电脑上继续开发,该怎么办?
最简单的方法当然是把项目文件夹复制过去。
但是问题来了:代码可以复制,Codex 对这个项目的理解和之前的开发记忆怎么办?
即使两台电脑上的 Codex 登录同一个 ChatGPT 账号,也不意味着两个独立的本地 Codex 会话自动共享全部上下文。
比如之前为什么选择某种技术方案、哪些功能已经实现、哪些 Bug 还没有解决、下一步打算做什么,新电脑上的 Codex 并不一定知道。
研究了一下,我觉得比较靠谱的方案是:项目源码 + 项目交接文档 + Git 同步。
不需要复杂的多 Agent 系统,也不必专门迁移 Codex 的整个本地数据目录。
一、先给项目建立一套“记忆文件”
这里的项目记忆,不是指 AI 模型真正拥有了永久记忆,而是把重要的开发知识保存成普通 Markdown 文件。
我建议在项目根目录建立四个文件:
MaoMaoPlayer/
├── AGENTS.md
├── ARCHITECTURE.md
├── PROGRESS.md
├── DECISIONS.md
├── src/
├── assets/
└── ...
各文件的作用:
| 文件 | 主要内容 |
|---|---|
| AGENTS.md | 项目目标、开发规则、技术栈、编码规范、测试要求 |
| ARCHITECTURE.md | 项目整体架构、主要模块及依赖关系 |
| PROGRESS.md | 已完成的功能、当前进度、已知问题、下一步任务 |
| DECISIONS.md | 重要技术决策、选择原因、放弃的方案 |
其中,AGENTS.md 是 Codex 官方支持的项目指令文件,Codex 会根据文件所在位置及适用范围读取其中的规则。
其他三个则是普通 Markdown 文档,并不是 Codex 的特殊格式。我们可以在 AGENTS.md 中规定,让 Codex 在开始开发前主动阅读它们。
例如,一个项目的 PROGRESS.md 可以这样写:
# 开发进度
## 已完成功能
- 播放器主界面
- 本地音乐导入
- MP3 播放
- 播放列表管理
## 当前任务
- 实现音乐标签读取
- 完善播放列表持久化
## 已知问题
- 部分音乐文件的中文标签乱码
- 快速切歌时偶尔卡顿
## 下一步
1. 修复标签乱码问题
2. 完成播放列表自动保存
3. 增加快捷键支持
以上只是示例,实际内容由 Codex 根据项目现状生成。
这样,新电脑上的 Codex 即使不知道之前聊过什么,也能很快理解项目开发到了哪一步。
二、让原电脑上的 Codex 自动生成交接文档
这一步不需要自己动手写。
在准备搬家的原电脑上,打开正在开发该项目的 Codex 会话,把下面这段提示词发给它即可:
Codex 项目搬家提示词
我准备将当前项目迁移到另一台电脑,
继续使用 Codex 开发。
请全面检查当前项目的源码、结构、配置
以及已有开发记录,并结合当前会话中已经
确定的设计和技术决策,为项目建立一套
可迁移的开发上下文。
请完成以下工作:
1. 创建或更新 AGENTS.md,说明项目目标、
技术栈、编码规范、构建和测试要求,
以及新 Codex 接手时必须遵守的规则。
2. 创建 ARCHITECTURE.md,记录项目架构、
关键模块及其依赖关系。
3. 创建 PROGRESS.md,记录已完成功能、
尚未完成功能、当前开发阶段、已知问题
和下一步任务。
4. 创建 DECISIONS.md,记录重要技术决策
及其原因,避免新 Agent 推翻已经确定的方案。
5. 检查项目依赖、SDK 版本、构建方法,
以及需要单独迁移的本地配置。
请在 AGENTS.md 中增加以下规则:
- 每次开始新开发任务前,先阅读项目交接文档。
- 完成实质性开发任务后,更新 PROGRESS.md。
- 架构变化时,同步更新 ARCHITECTURE.md。
- 形成重要技术决策时,更新 DECISIONS.md。
- 文档必须与实际代码保持一致。
要求:
- 真实、准确,不要编造不存在的功能或决策。
- 对无法确认的信息明确标注。
- 不要修改现有业务代码。
- 不要将密码、密钥等敏感配置写入文档。
- 对需要单独迁移的环境变量和本地配置,
只记录配置项名称与用途。
最后检查这些文档是否足以让另一台电脑上的
Codex 独立接手开发,并给出迁移注意事项。
建议尽量在原来的开发会话中执行,因为这个会话可能还保留着一些没有写入源码的技术讨论和开发决策。
如果已经找不到原会话,也没关系,Codex 仍然可以通过检查项目源码、配置及现有文档重新整理。
但要注意,Codex 只能整理它实际能够获取的信息,无法凭空恢复全部历史聊天记录。
生成完成后,最好自己快速检查一遍,尤其是已完成功能、技术决策和下一步计划,避免错误信息被带到新电脑上。
三、把整个项目复制到新电脑
接下来就是最简单的部分了。
假设原电脑的项目目录是:
D:\Projects\MaoMaoPlayer
可以通过局域网共享、移动硬盘、压缩包等方式,将整个项目文件夹复制到笔记本:
C:\Projects\MaoMaoPlayer
需要复制的不只是源码,还包括前面生成的四份项目交接文档,以及项目运行必需的资源文件。
如果项目依赖特定 SDK、工具链、系统组件或者本地环境变量,也需要在新电脑上重新配置。
例如 Windows C# 项目,需要安装匹配的 .NET SDK;如果是 WPF 项目,还需要 Windows 开发环境。
不建议直接复制所有本机缓存、临时编译文件和开发工具的用户配置。类似 bin、obj 等构建产物通常可以在新电脑重新生成。
项目中如果有 .env、API Key、签名证书或其他机密文件,应通过安全方式单独迁移,不要直接上传到公共仓库。
四、让新电脑上的 Codex 接手开发
在笔记本上安装并登录 Codex,打开迁移过来的项目目录。
然后发送下面这段提示词:
新 Codex 接手提示词
这是一个从另一台电脑迁移过来的开发项目。
请先阅读 AGENTS.md、ARCHITECTURE.md、
PROGRESS.md 和 DECISIONS.md,并结合实际
源码检查整个项目。
暂时不要修改代码。
请告诉我:
1. 你对项目的整体理解。
2. 当前使用的技术栈和项目架构。
3. 已经完成哪些功能。
4. 尚有哪些功能未完成。
5. 当前有哪些已知问题。
6. 本机开发和构建环境是否完整。
7. 建议从哪个任务开始继续开发。
如果文档内容与源码不一致,请指出差异,
不要直接假定文档一定正确。
在我确认下一步任务之前,不要修改业务代码。
这样一来,笔记本上的 Codex 就能够根据项目文档和实际代码重新建立上下文。
当然,这并不等于恢复了原来所有聊天内容,但通常已经足够继续开发。
五、如果两台电脑经常切换,推荐使用 GitHub
直接复制文件夹适合偶尔搬家。
但如果以后经常在台式机、笔记本之间切换,我更推荐 Git + GitHub 私有仓库。
Git 的优势不只是同步代码,还可以同步前面提到的四份项目文档,并保留每一次修改的历史记录。
GitHub:https://github.com/
基本流程如下。
1. 原电脑:初始化 Git 仓库
如果项目原本没有使用 Git,可以在项目目录下执行:
git init
git add .
git commit -m "Initial project"
执行之前,应先配置 .gitignore,排除编译产物、缓存、密钥、个人配置及不需要上传的大文件。已有 Git 仓库的项目不需要重新初始化。
2. 创建 GitHub 私有仓库
在 GitHub 新建一个 Private 仓库,然后将本地项目关联并推送。
例如:
git branch -M main
git remote add origin <仓库地址>
git push -u origin main
如果项目尚未建立首次提交,需要先提交;推送时还需要配置 GitHub 认证。
3. 笔记本:克隆项目
git clone <仓库地址>
然后使用笔记本上的 Codex 打开项目即可。
4. 以后切换电脑
例如,在台式机完成开发后:
git add .
git commit -m "更新播放器功能"
git push
到了笔记本:
git pull
拉取最新代码和交接文档后,就可以接着开发。
反过来也一样。
不过要注意,切换电脑前应当先提交和推送本机修改,并尽量避免两台电脑在同一个分支上同时修改同一批文件,否则可能发生合并冲突。
对于比较复杂的项目,还可以使用独立分支管理任务。
六、能不能直接迁移 Codex 的聊天记录?
这个问题估计不少人都会想到。
既然两台电脑登录的是同一个账号,为什么不直接把原电脑上的 Codex 聊天记录同步过去?
原因在于:账号一致不代表所有本地会话、工作状态和开发上下文都自动同步。
Codex 的云端任务和部分远程会话功能可以支持跨设备继续工作,但独立的本地会话并不等于天然共享全部上下文。
理论上可以研究迁移本地会话数据,但这不是我推荐的常规项目搬家方案。因为本地状态可能涉及路径、配置、版本以及会话元数据,直接复制并不能保证兼容。
相比之下,将重要知识沉淀为项目文件,反而更加可靠。
这样做还有一个好处:
哪怕以后不用 Codex,换成 Claude Code 或其他编程 Agent,依然可以通过这些 Markdown 文档了解项目。
当然,不同 Agent 对 AGENTS.md 的自动识别行为并不相同,必要时应主动要求它们读取交接文件。
七、让项目文档自动保持更新
我觉得这才是这套方案最值得长期保留的地方。
项目交接文档不应该只在搬家前临时生成一次。
可以在 AGENTS.md 中明确要求 Codex:每次完成实质性的开发任务后,更新 PROGRESS.md;涉及重大技术选择时,更新 DECISIONS.md;架构发生变化时,再更新 ARCHITECTURE.md。
不需要每次都重写全部文档,也不应该把每一次微小的代码改动都记录进去。
重点是保留那些会影响后续开发的关键信息。
这样,即使过了几个月,或者换了新电脑、新 Agent,开发者也能迅速了解项目当前状态。
最后
整个项目搬家流程其实可以归纳为:
原电脑 Codex 生成交接文档 → 复制或 Git 同步项目 → 新电脑 Codex 阅读文档 → 检查开发环境 → 继续开发。
我觉得这套方法比单纯依赖 AI 的聊天记忆更加实用。
因为 AI 会话上下文可能丢失,项目文件却可以长期保存、版本管理、反复读取。
更重要的是,它解决的不只是“换电脑继续开发”这个问题,还包括更换 AI Agent、切换开发环境、长期维护项目,以及让其他开发者接手代码。
真正值得保存的,不是 AI 说过的每一句话,而是那些能够让项目持续开发下去的知识、决策和进度。