迁移指南
将 OpenClaw 迁移到新机器
本指南将 OpenClaw Gateway 从一台机器迁移到另一台机器,无需重新进行引导。
迁移在概念上很简单:
- 复制状态目录(
$OPENCLAW_STATE_DIR,默认:~/.openclaw/)——包括配置、认证、会话和频道状态。 - 复制你的工作区(
~/.openclaw/workspace/,默认)——包括你的 agent 文件(memory、prompts 等)。
但在配置文件、权限和部分复制方面存在常见的陷阱。
开始前(你要迁移什么)
1) 识别你的状态目录
大多数安装使用默认值:
- 状态目录:
~/.openclaw/
但如果使用以下情况可能不同:
--profile <name>(通常变为~/.openclaw-<profile>/)OPENCLAW_STATE_DIR=/some/path
如果不确定,在旧机器上运行:
openclaw status
查看输出中关于 OPENCLAW_STATE_DIR / profile 的提及。如果运行多个 gateway,对每个 profile 重复此操作。
2) 识别你的工作区
常见默认值:
~/.openclaw/workspace/(推荐的工作区)- 你创建的自定义文件夹
你的工作区是 MEMORY.md、USER.md 和 memory/*.md 等文件所在的位置。
3) 了解你将保留什么
如果复制两者(状态目录和工作区),你将保留:
- Gateway 配置(
openclaw.json) - 认证配置文件 / API 密钥 / OAuth 令牌
- 会话历史 + agent 状态
- 频道状态(例如 WhatsApp 登录/会话)
- 你的工作区文件(memory、skills notes 等)
如果仅复制工作区(例如通过 Git),你不会保留:
- 会话
- 凭证
- 频道登录
这些存储在 $OPENCLAW_STATE_DIR 下。
迁移步骤(推荐)
步骤 0 — 备份(旧机器)
在旧机器上,首先停止 gateway,这样文件在复制过程中不会变化:
openclaw gateway stop
(可选但推荐)归档状态目录和工作区:
# 如果使用 profile 或自定义位置,调整路径
cd ~
tar -czf openclaw-state.tgz .openclaw
tar -czf openclaw-workspace.tgz .openclaw/workspace
如果有多个 profile/状态目录(例如 ~/.openclaw-main、~/.openclaw-work),分别归档每个。
步骤 1 — 在新机器上安装 OpenClaw
在新机器上,安装 CLI(以及 Node,如果需要):
- 查看:安装
在此阶段,即使引导创建了新的 ~/.openclaw/ 也没关系——你将在下一步覆盖它。
步骤 2 — 复制状态目录 + 工作区到新机器
复制两者:
$OPENCLAW_STATE_DIR(默认~/.openclaw/)- 你的工作区(默认
~/.openclaw/workspace/)
常见方法:
scp传输 tarball 并解压- 通过 SSH
rsync -a - 外部驱动器
复制后,确保:
- 包含隐藏目录(例如
.openclaw/) - 文件所有权对运行 gateway 的用户正确
步骤 3 — 运行 Doctor(迁移 + 服务修复)
在新机器上:
openclaw doctor
Doctor 是"安全枯燥"的命令。它修复服务、应用配置迁移并警告不匹配。
然后:
openclaw gateway restart
openclaw status
常见陷阱(以及如何避免)
陷阱:profile / 状态目录不匹配
如果旧 gateway 使用 profile(或 OPENCLAW_STATE_DIR)运行,而新 gateway 使用不同的,你会看到如下症状:
- 配置更改不生效
- 频道缺失/登出
- 会话历史为空
修复:使用你迁移的相同 profile/状态目录运行 gateway/服务,然后重新运行:
openclaw doctor
陷阱:仅复制 openclaw.json
openclaw.json 不够。许多提供商将状态存储在:
$OPENCLAW_STATE_DIR/credentials/$OPENCLAW_STATE_DIR/agents/<agentId>/...
始终迁移整个 $OPENCLAW_STATE_DIR 文件夹。
陷阱:权限/所有权
如果以 root 复制或更改用户,gateway 可能无法读取凭证/会话。
修复:确保状态目录 + 工作区由运行 gateway 的用户拥有。
陷阱:在远程/本地模式之间迁移
- 如果你的 UI(WebUI/TUI)指向远程 gateway,远程主机拥有会话存储 + 工作区。
- 迁移你的笔记本不会移动远程 gateway 的状态。
如果使用远程模式,迁移gateway 主机。
陷阱:备份中的机密
$OPENCLAW_STATE_DIR 包含机密(API 密钥、OAuth 令牌、WhatsApp 凭证)。像对待生产机密一样对待备份:
- 加密存储
- 避免通过不安全渠道共享
- 如果怀疑泄露,轮换密钥
验证清单
在新机器上,确认:
openclaw status显示 gateway 运行- 你的频道仍然连接(例如 WhatsApp 不需要重新配对)
- 仪表板打开并显示现有会话
- 你的工作区文件(memory、配置)存在