为什么这次迁移会丢失上下文
Replit 的价值在于环境,而环境被留在了身后
Replit 最强大的地方在于缩短了创意与已部署 URL 之间的距离:运行环境、数据库、机密信息(secrets)、部署目标,全部都是托管的。这正是您通过迁移到本地代码库和终端智能体所放弃的东西——这是您深思熟虑后的选择,因为您想要控制权。但是,您项目的许多实际行为都是由该托管环境定义的,而这些假设没有一个写在您导出的代码中。
您的决策存在于聊天中,而不是代码库中
看看原型是如何构建的:您输入意图,智能体生成代码,您进行纠正,纠正变成了消息。代码库记录了最终状态。聊天记录了原因。移动代码库,您保留了是什么(what),却把为什么(why)留在了您即将登出的平台上。
Claude Code 启动时也是一片空白
这是大多数迁移指南都忽略的部分。Claude Code 在开启每个会话时都没有历史记录。它会读取项目根目录下的 CLAUDE.md 以及用户级别的 ~/.claude/CLAUDE.md,并且可以访问您通过 MCP 连接的任何内容——但会话不会积累任何能够存活下来的内容,正如为什么 Claude Code 会遗忘项目上下文中所描述的那样。在不改变上下文存放位置的情况下切换工具,只是转移了问题。
手动迁移
步骤 1:导出代码
如果可以的话,请使用 Replit 自带的 Git 路径,而不是下载 zip 压缩包:
- 在您的 Repl 中打开版本控制(Git)面板。
- 连接您的 GitHub 账号并创建远程仓库。
- 推送(Push)。从那时起,您就拥有了双向同步——Replit 中的更改可以被推送,GitHub 上的更改可以被拉取。
如果连接出现异常,请将 Repl 下载为 .zip 文件,然后手动推送到一个新的仓库中。接着在本地克隆,并在该目录下运行 Claude Code。目前还没有官方的 Anthropic 迁移命令来迁移项目历史——虽然存在少数用于重新定位 Claude Code 项目的社区工具,但对于 Replit 导出,普通的 Git 就是全部了。
在您关闭标签页之前,记录下环境为您所做的事情:环境变量和机密名称(不是具体的值)、数据库及其连接模式、部署目标、定时任务(scheduled jobs),以及 Replit 隐式处理的任何端口或构建配置。这些是在本地机器上最先会失效的假设。
步骤 2:在 CLAUDE.md 中重建上下文
现在是决定迁移是否真正划算的部分。打开您的 Replit 聊天历史记录,带着一个问题阅读过去两周的内容:有哪些事情是我不得不解释不止一次的? 这种重复就是您的知识清单。
将其写入 CLAUDE.md 中,分为三组:
- 项目形态——服务是什么、数据模型是什么样的、哪些已被弃用、在 Replit 不再负责部署的情况下现在的部署方案是什么。
- 带有原因的决策——不是“使用幂等键”,而是“在 webhook 上使用幂等键,因为服务商进行了重试,我们在测试中重复收费了两次”。
- 陷阱——必须在回填(backfill)之前运行的迁移、在失败时返回 200 的端点、在负载下不稳定的测试。
将个人偏好保留在 ~/.claude/CLAUDE.md 中,将项目事实保留在仓库文件中,这样团队成员就能继承项目部分,而不会带上您的个人习惯。
这比白手起家是一个真正的进步。但它也有上限:markdown 文件只是一个简报,而不是记忆。在经历了一次艰难的调试会话后,没有人会去更新它,它会不断膨胀,直到在每个会话中都消耗大量的 token,而且其中的任何内容都无法传递给您用于故障复盘的助手,或者您下个月路由到更便宜模型的智能体。
更好的方法:统一的记忆层,适用于任何工具
注意在迁移中真正存活下来的是什么:文件。CLAUDE.md 在下一次迁移中也会存活下来——您保留在工具之外的其他所有内容也是如此。这就是将项目知识放在记忆层中,而不是放在您当前使用的任何智能体中的论据。MemoryLake 统一保存它;Claude Code 通过 MCP 读取它,您以后采用的任何其他工具也是如此。
步骤 1:创建 API 密钥
生成密钥并在大约 30 秒内发出您的第一次请求。

步骤 2:上传您的第一批记忆
放入承载项目上下文的文档、图片和文件:您刚刚编写的 CLAUDE.md、步骤 1 中的环境清单、架构说明、原型阶段的事件记录、API 规范。

步骤 3:连接您的 AI 和智能体
通过 MCP 或 API 让 Claude、Codex、OpenClaw 以及您的其他智能体访问该记忆——具体客户端步骤请参阅如何为 Claude Code 添加记忆。这样,新会话在开启时就已经加载了项目,下一次更换工具对您来说只是更换一个连接,而不是重新构建。同样的模式也适用于其他编程智能体的迁移:从 Cursor 迁移到 Claude Code 以及 从 GitHub Copilot 迁移到 Claude Code。

迁移的成本与节省
诚实地评估成本。Git 导出和本地设置:不到一小时。恢复 Replit 之前处理的环境假设:半天,其中大部分时间花在失败时才发现缺少了某些东西。将知识清单写入 CLAUDE.md:另外半天,这也是唯一能产生复利效应的部分。
然后是您避免的经常性成本。如果您的常驻项目上下文是 2,000 个 token,并且每天在不同的会话和智能体之间被重复提及 20 次,那么每月大约会花费 120 万个 token 在重复自己上,此外每个会话还需要花费四到五分钟进行重新简报。迁移是解决这个问题最划算的时刻,因为您已经付出了这一次重建成本——唯一的选择是,您是要重建到一个随着下一个工具而消亡的文件中,还是重建到一个不会消亡的层中。
切换的最佳实践
导出环境,而不仅仅是代码
原型是在某个托管的地方运行的。在您离开之前,写下机密的名称、数据库拓扑、定时任务(cron jobs)和构建步骤。这是“在 Replit 中明明可以运行”这类 bug 最常见的原因,而且完全可以在 20 分钟内避免。
迁移结论,而不是聊天记录
不要把您的 Replit 历史记录粘贴到 CLAUDE.md 中。提取决策——选择、原因、日期——并存储这些内容。结论很容易检索;而聊天记录会掩盖关键信号并消耗 token。
如果可行,继续在 Replit 中进行原型设计
许多团队继续使用 Replit 来快速验证想法,并使用 Claude Code 进行生产环境加固。只有当两者都读取相同的项目记忆时,这种分工才会令人舒适;否则,您将维护两个不同版本的真相,并两次掉进相同的陷阱。
结论
从 Replit 迁移到 Claude Code 是共享同一个名字的两次迁移。第一次是机械的——连接 Git 面板,推送到 GitHub,克隆,一小时内搞定。第二次是昂贵的:Replit 默默处理的环境假设,以及只存在于智能体聊天中的推理。
深思熟虑地重建这两者,一次就好。但要将知识重建到编辑器之外的地方,因为您今天迁移到的工具不会是您迁移到的最后一个工具。当项目记忆存在于您的智能体读取的层中时,“迁移”就不再意味着“重新解释一切”,而是意味着“将新客户端指向同一个源”。