之前将 OpenClaw 安装到了树莓派4B,运行良好,但有时响应还是慢一拍,于是将实例迁移到虚拟机
本来想参考 OpenClaw 给出的方案,但过于复杂,并且留下了很多垃圾迁移脚本,之后自己操作发现直接打包迁移 .openclaw 目录即可
OpenClaw 目前处于活跃开发期,以下操作仅作用于 OpenClaw 2026.03.02 版本
步骤
在新设备上安装 OpenClaw,但跳过初始化,不创建 .openclaw 目录
curl -fsSL https://openclaw.ai/install.sh | bash # 安装后会自动进入初始化环节,直接 Ctrl+C 退出
然后编辑新设备的 shell 配置文件,添加 openclaw 的自动补全(我这里使用的是 Bash)
# 使用编辑器打开配置文件 # vim ~/.bashrc # 在末尾添加 # OpenClaw Completion source "/home/[username]/.openclaw/completions/openclaw.bash"
重新登录后生效
之后将旧实例的 .openclaw 打包并上传到新设备(这里使用 scp)
cd ~ tar -czf openclaw.tar.gz .openclaw/ scp ./openclaw.tar.gz [username]@[new_device_ip_or_domain]:~/
在新设备上解压
tar zxf openclaw.tar.gz
如果使用了反向代理,先修改 ControlUI 的 allowedOrigins 设置,添加新的域名/IP
{
"other keys": {},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"controlUi": {
"allowedOrigins": [
"https://旧域名.rpi-4.loc",
"https://新域名.openclaw.pve"
]
},
"other keys": {}
}
}
修改后在新设备安装 OpenClaw Gateway
# 在安装、启动新实例前,记得先关闭旧实例 # 避免旧实例占用频道,导致新实例无法绑定 # 在旧设备上执行 openclaw gateway stop # 然后在新设备上执行 openclaw gateway install
安装完毕后,执行指令检查运行状态
systemctl --user status openclaw-gateway.service openclaw gateway status openclaw status openclaw doctor
无误的话就可以正常使用了,频道对话可以无缝衔接,但之前配对过的设备可能需要再次配对
在待配对的设备上,携带 Token 参数(openclaw.json 中的 gateway.auth.token)访问 Gateway 的 WebUI,提示设备没有配对后,在新实例中执行
openclaw devices approve --latest
即可完成配对
