已在本地 Mac 跑通 OpenClaw、要把 Gateway 与 Agent 记忆整体迁到 KVMNODE 独占云 Mac,或计划在换区、升 M4 Pro、重建节点前保住 MEMORY 与 skills 的开发者与小团队,在 2026 年最常见的挫败不是「安装脚本失败」,而是升级或换机后 Agent 像全新实例——往往只因 workspace 路径从 ~/.openclaw/workspace 迁到 workspace-main 等 per-agent 目录时未做可回滚备份。本文给出四类「迁移后失忆」根因对照表、迁移前必须打包与禁止直拷的目录清单、六步从本机打包到云节点 openclaw doctor 验收的可跟做路径,以及大 workspace 与旁路 Xcode 并存时的档型决策树;并与站内 官方 install-daemon诊断梯子channels 探针常驻稳定性无头 SSH 跟做 交叉阅读,避免在云上重复踩「只拷了配置、没拷记忆」的坑。
01

2026 年 OpenClaw 迁移后「像全新 Agent」:四类根因与可写入变更单的对照表

OpenClaw 把配置与凭据放在 ~/.openclaw/,把长期记忆、人格与 skills放在 workspace 树(默认 ~/.openclaw/workspace,多 Agent 场景可能是 workspace-{agentId})。社区在 2026.3.x 一带出现过从统一 workspace 迁到 per-agent 路径时未自动搬迁 MEMORY.md 与 memory/YYYY-MM-DD.md 的案例:Gateway 仍能启动,但对话上下文与 curated 记忆读的是空目录,体感就是「升级把脑子清空了」。若你尚未区分「配置丢失」与「workspace 丢失」,会误把排障时间花在换模型或重配 channels 上。

第二类根因是只 scp 了 openclaw.json,未打包 credentials/sessions/ 与 workspace 下的 skills/AGENTS.mdSOUL.md 等文件;Dashboard 能登录,工具链却像第一次 onboard。第三类是launchd 环境变量与交互 shell 不一致:本机打包路径在 plist 的 WorkingDirectoryOPENCLAW_* 变量里写死旧目录,迁云后进程读的是另一棵树。第四类是跨大版本未在目标机跑 openclaw doctor,schema 迁移半完成,表现为部分字段静默回默认。应先对照 常驻稳定性 把「状态目录不进同步盘」写进工单,再执行本文备份与六步迁移,否则高频小文件写入会在网盘同步层放大锁竞争。

01

per-agent 路径变更未拷贝:workspace/* 仍在磁盘,但 Gateway 已指向 workspace-main 空目录。

02

只迁配置未迁 workspace:openclaw.json 在、MEMORY.md 不在。

03

守护进程工作目录漂移:launchd 仍指向本机用户路径或已释放的旧节点挂载点。

04

版本跨度未 doctor:配置 schema 与二进制不一致,字段静默回默认。

05

把设备 token 当可移植文件:复制无效,应在目标机重新配对并单独留痕。

当你已经按 官方 install-daemon 在云主机装好 Gateway,迁移验收的「单一事实源」应写成四行:workspace 绝对路径、openclaw 版本、doctor 退出码、首条业务消息 ID 或时间戳。任何换区或升档变更必须同时更新四行之一并保留上一版 tarball 哈希,便于回滚而不是口头「应该备份过了」。若 channels 在迁移后异常,应先用 channels 探针 确认监听与 token 真源,再判断是否为记忆目录问题。

平台负责人还应把「迁移」与「新装」拆成两条工单模板:新装可以空 workspace 起步,迁移必须附 tarball 校验和与 doctor 附件。混用模板会导致评审时把「接受清空记忆」误当成默认选项,事后无法向业务方解释为何 curated 记忆消失。

02

迁移前备份清单:必须打包、建议打包与禁止直拷的三类目录

备份的目标不是「把整个 home 目录打 tar」,而是让目标机上的 Gateway 在 doctor 之后能读到与源机相同的记忆与技能边界。必须打包项包括:~/.openclaw/openclaw.jsoncredentials/sessions/(若团队依赖会话连续性)、以及完整 workspace 树——至少含 MEMORY.mdmemory/skills/USER.md 等团队实际使用的文件。建议额外打包你们约定的持久日志分流目录最近七天的轮转文件,便于与 诊断梯子 对照,但不要把巨型日志打进生产迁移包拖慢传输。

下表可直接贴进变更单「迁移包内容」栏,与 无头 SSH 中的 PATH 验收并列执行:先证明 tarball 里有什么,再证明目标机读到了什么。

路径/对象是否必须迁移到云 Mac 的注意点
openclaw.json + credentials必须解压后权限收紧;禁止进团队同步盘
workspace 全树(含 MEMORY、memory/、skills/)必须核对目标 agentId 对应目录名
sessions/视团队策略大体积时可只迁活跃会话子集
设备 token / 本机钥匙串项禁止直拷在目标机重新配对
LaunchAgent plist 原样覆盖谨慎应改路径与 Label 后重装 daemon

迁移包里没有 MEMORY.md,就不是迁移,只是重装 Gateway。

打包时建议在源机执行校验和并写入变更单,避免 SCP 中断后 silent truncate。对于要把 tarball 经公网传到云节点的团队,优先走团队已批准的加密通道(如经堡垒机 rsync),而不是把含 API 凭据的归档长期放在对象存储公开桶。若 workspace 已超过数 GB(大量 skill 资产或大体积 memory 日志),应在打包前评估目标机 SSD 档型,这与下文 M4 Pro 决策树直接相关,而不是等到解压时才发现根分区不足。

03

命令块:本机打包、上传云节点与 doctor 前的路径核对

下列命令块为公开文档常见骨架,落地时应替换为团队冻结的 openclaw 版本,并在变更单附上 tarball 的 shasum -a 256。执行前确认源机与目标机 Node 大版本一致,否则先在目标机完成 install 再解包 workspace,避免「二进制新、记忆旧」的半兼容状态。若目标机尚未装 CLI,请先完成 官方 install 再解包,不要倒序操作。

bash
openclaw --version
ls -la ~/.openclaw/workspace*
tar -czf openclaw-migrate-$(date +%Y%m%d).tgz \
  -C "$HOME" .openclaw/openclaw.json \
  -C "$HOME" .openclaw/credentials \
  -C "$HOME" .openclaw/workspace
shasum -a 256 openclaw-migrate-*.tgz
scp openclaw-migrate-*.tgz user@cloud-mac:~/
ssh user@cloud-mac 'openclaw gateway stop || true'
ssh user@cloud-mac 'tar -xzf openclaw-migrate-*.tgz -C $HOME && openclaw doctor'

提示:若你使用 workspace-main 等多 Agent 目录,把 tar 的 -C 路径改成实际 workspace-* 名称;与 无头 SSH 跟做 中的 non-interactive PATH 口径保持一致。

解压后不要立刻 gateway start:先跑 openclaw doctor 并保存完整 stdout 到变更单附件,再对照 workspace 内 MEMORY.md 时间戳是否与源机一致。若 doctor 提示迁移 workspace 路径,按提示合并而非覆盖旧目录内容,除非变更单明确写了「接受清空记忆」。doctor 通过后再执行 install-daemon,避免 plist 指向尚未合并完成的空目录。

04

六步:从本机打包到云 Mac 首条消息验收的可回滚迁移路径

01

冻结版本并记录 workspace 路径:打印 openclaw --versionls ~/.openclaw/workspace* 写入变更单。

02

停源机 Gateway 并打 tarball:含 json、credentials、完整 workspace;生成 sha256。

03

在云节点准备非同步盘目录:确认根分区余量大于 tarball 解压后 1.5 倍。

04

上传并停目标 Gateway:避免解压时双写 sessions。

05

解压后跑 doctor 再 install-daemon:官方路径 对齐 plist 真源。

06

首条消息验收并留痕:对照 MEMORY 片段、channels 探针(若已接)与 gateway 健康检查 JSON 一行。

六步完成后,工单应能回答「本次动的是 tarball 内容、workspace 路径、doctor 结果还是档型」四选一。若仅换 KVMNODE 区域而主机名不变,仍建议把 tarball 存一份到团队制品仓,因为区域迁移常伴随 IP 与出口策略变化,回滚时需要的是「记忆 + 配置」而不是重装空白 Gateway。验收周请固定每天一次 openclaw doctor 快照,便于与 诊断梯子 的 L1/L2 字段对齐。

05

换区与档型:大 workspace、多 skill 与旁路 Xcode 并存时的 M4 与 M4 Pro 决策

workspace 体积增长往往比 CPU 峰值更早触顶:大量 memory/*.md、skill 仓库与并行下载会同时占用磁盘 IOPS 与统一内存页缓存。若迁移后还要在同一独占机上跑 Xcode 或 Flutter archive,应把「迁移验收周」的观测指标设为:解压后根分区使用率、Gateway 健康检查 P95、并行构建时是否出现 memory pressure 日志

A

workspace 解压后体积:超过 30GB 或周增长 >5GB 时,优先复查 memory 轮转与 skill 资产,再谈升档。

B

统一内存压力:迁移周若出现构建与 Gateway 同时触顶,记录 memory pressure 事件次数写入采购附件。

C

区域与 RTT: tarball 传输完成不等于数据面同洲;Git 与制品仍远区时先对齐选区再锁 M4 Pro。

画像M4 16GB/25624GB/512M4 Pro 高统一内存
轻量 workspace + 单 Gateway可用更稳通常过度
大 MEMORY + 多 skill + 日更 memory 日志风险优先视并行度
迁移周同时跑 iOS CI 与 Agent不推荐优先

注意:不要把「迁到云」当成自动备份;云主机重建或换区仍可能清空本地盘, tarball 必须进团队保留策略。

用个人 Mac 做唯一备份源,合盖与睡眠会导致备份窗口不可预测,且无法合同化 7×24 验收;纯脚本 cron 在本机也常因用户切换或权限弹窗中断。sleep 频繁的笔记本也不适合作为「迁移后仍要持续写入 memory 日志」的宿主。对于要把 OpenClaw 记忆与 Gateway 一起迁到可审计、可换区、可升档独占机的团队,KVMNODE 的 Mac Mini 云端租赁通常是更优解:独占 Apple Silicon、六区节点、按天到可切换租期,让「打包—解压—doctor」与 CI 共用同一套选区语言。下单见 订购入口,操作说明见 帮助中心,档位见 定价页