已在本地 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 共用同一套选區语言。下單见 訂購入口,操作说明见 幫助中心,檔位见 定價頁