将 OpenClaw 迁移到新机器
本指南介绍如何将 OpenClaw Gateway 从一台机器迁移到另一台机器,无需重新完成入门流程。 迁移从概念上很简单:- 复制 状态目录(
$OPENCLAW_STATE_DIR,默认:~/.openclaw/)——包含配置、认证、会话和频道状态。 - 复制你的 工作区(默认
~/.openclaw/workspace/)——包含你的代理文件(记忆、提示等)。
开始之前(你要迁移的内容)
1) 确认你的状态目录
大多数安装使用默认路径:- 状态目录:
~/.openclaw/
--profile <name>(通常变成~/.openclaw-<profile>/)OPENCLAW_STATE_DIR=/some/path
OPENCLAW_STATE_DIR / 配置文件的提示。如果你运行多个网关,对每个配置文件重复此操作。
2) 确认你的工作区
常见默认路径:~/.openclaw/workspace/(推荐的工作区)- 你自定义创建的文件夹
MEMORY.md、USER.md 和 memory/*.md 的文件。
3) 理解将要保留的内容
如果同时复制了状态目录和工作区,你将保留:- 网关配置(
openclaw.json) - 认证配置文件 / API 密钥 / OAuth 令牌
- 会话历史和代理状态
- 频道状态(例如 WhatsApp 登录/会话)
- 你的工作区文件(记忆、技能笔记等)
- 会话
- 凭证
- 频道登录
$OPENCLAW_STATE_DIR 下。
迁移步骤(推荐)
步骤 0 — 备份(旧机器)
在旧机器上,先停止网关以保证文件在复制时不被更改:~/.openclaw-main, ~/.openclaw-work),请分别归档。
步骤 1 — 在新机器上安装 OpenClaw
在新机器上安装 CLI(及 Node,若需要):- 参见:安装
~/.openclaw/ 也没关系——下一步你会覆盖它。
步骤 2 — 将状态目录和工作区复制到新机器
复制两个文件夹:$OPENCLAW_STATE_DIR(默认~/.openclaw/)- 你的工作区(默认
~/.openclaw/workspace/)
scp传输归档包后解压- 通过 SSH 使用
rsync -a - 外接硬盘复制
- 隐藏目录(例如
.openclaw/)被包含 - 文件所有权归运行网关的用户所有
步骤 3 — 运行 Doctor(迁移和服务修复)
在新机器上:常见陷阱(及避免方法)
陷阱:配置文件(profile)/状态目录不匹配
如果旧网关使用了某个配置文件(或OPENCLAW_STATE_DIR),而新网关使用了不同的,可能出现:
- 配置更改无效
- 频道缺失或登出
- 会话历史为空
陷阱:只复制了 openclaw.json
openclaw.json 并不足够。许多提供者的状态存放在:
$OPENCLAW_STATE_DIR/credentials/$OPENCLAW_STATE_DIR/agents/<agentId>/...
$OPENCLAW_STATE_DIR 文件夹。
陷阱:权限 / 所有权问题
如果你用 root 复制或者更换了用户,网关可能无法读取凭证或会话。 解决方法:确保状态目录和工作区归运行网关的用户所有。陷阱:远程/本地模式迁移问题
- 如果你的 UI(WebUI/TUI)指向远程网关,远程主机拥有会话存储和工作区数据。
- 迁移本地笔记本电脑不会移动远程网关的状态。
陷阱:备份中包含秘密信息
$OPENCLAW_STATE_DIR 包含敏感信息(API 密钥、OAuth 令牌、WhatsApp 凭证)。备份时请像对待生产环境秘密一样处理:
- 加密存储
- 避免通过不安全渠道共享
- 如果怀疑泄露,尽快更新密钥
验证清单
在新机器上确认:openclaw status显示网关正在运行- 频道仍然连接(例如 WhatsApp 无需重新配对)
- 控制面板打开并显示已有会话
- 你的工作区文件(记忆、配置)完整存在