OpenClaw 迁移指南

将OpenClaw Gateway从一台机器迁移到另一台,无需重新进行新手引导

🎯 开始之前(你要迁移什么)

1)确定你的状态目录

环境变量 $OPENCLAW_STATE_DIR 定义了状态存储位置,默认为 ~/.openclaw/

bash
# 查看当前状态目录
echo $OPENCLAW_STATE_DIR
# 或使用默认位置
ls ~/.openclaw/

2)确定你的工作区

工作区默认位于 ~/.openclaw/workspace/,包含所有项目文件和会话数据。

3)了解你将保留什么

⚙️
配置 openclaw.json 和所有通道配置
🔑
认证 所有平台的API凭证和令牌
💬
会话 历史对话记录和上下文
📡
渠道状态 所有已连接的平台状态
📁
工作区文件 项目文件和生成的内容

🚀 迁移步骤(推荐)

步骤0 — 备份(旧机器)

bash
# 停止Gateway
openclaw gateway stop

# 归档状态目录和工作区
tar -czvf openclaw-backup.tar.gz ~/.openclaw/

# 可选:备份环境变量配置
env | grep OPENCLAW > openclaw-env-backup.txt

步骤1 — 在新机器上安装OpenClaw

bash
# 使用curl安装
curl -fsSL https://openclaw.ai/install.sh | bash

# 或使用npm
npm install -g openclaw@latest

步骤2 — 将状态目录+工作区复制到新机器

bash
# 使用scp传输备份文件
scp openclaw-backup.tar.gz user@new-machine:~/

# 在新机器上解压
ssh user@new-machine
tar -xzvf ~/openclaw-backup.tar.gz -C ~/

# 确保目录权限正确
chmod -R 755 ~/.openclaw/

步骤3 — 运行Doctor(迁移+服务修复)

bash
# 运行诊断和修复
openclaw doctor

# 重启Gateway
openclaw gateway restart

# 验证状态
openclaw status
💡 Doctor工具会做什么
  • 检查配置文件完整性
  • 修复文件权限问题
  • 验证通道配置
  • 重新初始化必要的服务组件

⚠️ 常见陷阱(以及如何避免)

🔴 配置文件/状态目录不匹配

确保新机器上的 $OPENCLAW_STATE_DIR 环境变量与旧机器一致,否则OpenClaw会创建新的空配置。

🔴 只复制openclaw.json

仅复制配置文件是不够的!必须同时复制整个状态目录,包括凭证存储和会话数据。

🔴 权限/所有权

确保新机器上的文件所有者和权限与旧机器一致,特别是在使用不同用户运行时。

bash
# 修复权限
sudo chown -R $(whoami):$(whoami) ~/.openclaw/
chmod -R 755 ~/.openclaw/
🔴 远程/本地模式之间迁移

如果从远程模式迁移到本地模式,可能需要重新配置某些平台回调地址。

🔴 备份中的密钥

备份文件包含敏感凭证,传输和存储时请妥善保护。建议使用加密传输(SCP/SFTP)并删除临时备份文件。

验证检查清单

迁移完成后,请检查以下项目
  • openclaw status 显示Gateway正在运行
  • 渠道仍然连接(WhatsApp/QQ/钉钉等)
  • 仪表板显示现有会话
  • 工作区文件存在且可访问
  • 历史对话记录完整
  • 配置的模型API仍然有效
  • 自定义技能和工具可用
bash
# 全面验证命令
openclaw status              # 检查服务状态
openclaw channel list        # 列出所有通道
openclaw doctor              # 运行诊断
ls -la ~/.openclaw/workspace/ # 检查工作区
💡 测试建议

在停止旧机器的Gateway之前,先在新机器上测试所有核心功能,确保迁移成功后再切换流量。