OpenClaw 云端迁移至本地部署指南

1. 前置准备

1.1 确认 OpenClaw 版本

云端服务器执行:

代码语言:Bash

自动换行

AI代码解释

复制代码
openclaw --version
openclaw status

记录输出的版本号、Gateway 地址、已安装的插件和技能列表。

1.2 检查数据量

代码语言:Bash

自动换行

AI代码解释

复制代码
du -sh ~/.openclaw/           # 总大小
du -sh ~/.openclaw/workspace/ # workspace 大小
du -sh ~/.openclaw/skills/    # 技能大小
du -sh ~/.openclaw/logs/      # 日志大小(可排除)

我本地的数据总量约 877MB,其中 workspace + skills 是核心,logs 可排除。

1.3 本地安装 OpenClaw

本地机器上安装与云端相同(或更新)版本:

代码语言:Bash

自动换行

AI代码解释

复制代码
# Linux / macOS (npm)
npm install -g openclaw

# 验证版本一致
openclaw --version

2. 完整迁移(推荐)

2.1 云端 --- 停止网关并打包

⚠️ 停止网关可以防止迁移过程中数据被写入,保证数据一致性。

展开

代码语言:Bash

自动换行

AI代码解释

复制代码
# 登录云端服务器

# 1. 停止 OpenClaw 网关
openclaw gateway stop

# 2. 确认进程已停止
openclaw status | grep Gateway
# 预期输出:Gateway ... stopped 或类似

# 3. 排除不必要的目录(减小体积)
# 日志文件体积大但迁移价值低,可以先清空或排除
rm -rf ~/.openclaw/logs/*.log   # 可选:清理旧日志

# 4. 打包整个目录
tar -czvf openclaw-full-backup.tar.gz \ 
  --exclude='.DS_Store' \ 
  --exclude='node_modules' \ 
  --exclude='.git' \ 
  ~/.openclaw/

# 5. 查看打包结果
ls -lh openclaw-full-backup.tar.gz

2.2 传输备份文件到本地

选择以下任意一种方式:

方式 A:SCP(推荐)

代码语言:Bash

自动换行

AI代码解释

复制代码
# 在本地机器执行
scp your-user@your-cloud-server:/path/to/openclaw-full-backup.tar.gz ~/

# 如果使用了 SSH 密钥
scp -i ~/.ssh/your-key.pem your-user@your-cloud-server:/path/to/openclaw-full-backup.tar.gz ~/
方式 B:Rsync(适合大文件、断点续传)

代码语言:Bash

自动换行

AI代码解释

复制代码
rsync -avP -e ssh your-user@your-cloud-server:/path/to/openclaw-full-backup.tar.gz ~/
方式 C:云对象存储

上传到 OSS/S3/GCS,本地下载(适合网络不稳定的情况)。

2.3 本地 --- 解压恢复

展开

代码语言:Bash

自动换行

AI代码解释

复制代码
# 1. 解压到临时目录(先不覆盖,防止意外)
mkdir -p ~/openclaw-restore
tar -xzvf openclaw-full-backup.tar.gz -C ~/openclaw-restore/

# 2. 查看解压结果
ls ~/openclaw-restore/

# 3. 备份本地已有的 openclaw 目录(如果有)
mv ~/.openclaw ~/.openclaw.local.bak 2>/dev/null

# 4. 移动恢复
mv ~/openclaw-restore/.openclaw ~/

# 5. 验证目录结构
ls -la ~/.openclaw/

2.4 修复路径问题

代码语言:Bash

自动换行

AI代码解释

复制代码
# 运行诊断工具,自动修复路径不一致问题
openclaw doctor

# 根据提示修复任何路径或权限问题

2.5 启动网关

代码语言:Bash

自动换行

AI代码解释

复制代码
openclaw gateway start

3. 选择性迁移

如果你不需要完整迁移(比如只想要记忆和配置),可以只打包部分目录。

3.1 打包时选择性包含

展开

代码语言:Bash

自动换行

AI代码解释

复制代码
tar -czvf openclaw-selective.tar.gz \ 
  ~/.openclaw/openclaw.json \ 
  ~/.openclaw/identity/ \ 
  ~/.openclaw/agents/ \ 
  ~/.openclaw/workspace/ \ 
  ~/.openclaw/cron/ \ 
  ~/.openclaw/memory/ \ 
  ~/.openclaw/skills/ \ 
  ~/.openclaw/devices/

3.2 选择性迁移清单

目录/文件 迁移价值 说明
openclaw.json ⭐⭐⭐ 必须 核心配置文件
identity/ ⭐⭐⭐ 必须 身份和认证信息
agents/ ⭐⭐⭐ 必须 Agent 状态和会话
workspace/ ⭐⭐⭐ 必须 你的工作区(含 MEMORY.mdSOUL.md 等)
cron/ ⭐⭐⭐ 推荐 定时任务配置
memory/ ⭐⭐⭐ 推荐 记忆文件
skills/ ⭐⭐ 推荐 自定义技能(ClawHub 上的可重新安装)
devices/ ⭐ 一般 设备配对信息(本地设备可能不同)
extensions/ ⭐ 视情况 第三方扩展
logs/ ❌ 不需要 日志文件,无需迁移

4. 部分迁移(轻量方案)

适用于只想迁移核心记忆和配置,不迁移会话历史的情况。

4.1 只迁移工作区和记忆

展开

代码语言:Bash

自动换行

AI代码解释

复制代码
# 在云端打包
tar -czvf openclaw-minimal.tar.gz \ 
  ~/.openclaw/openclaw.json \ 
  ~/.openclaw/identity/ \ 
  ~/.openclaw/workspace/ \ 
  ~/.openclaw/memory/

# 传输后本地解压恢复
tar -xzvf openclaw-minimal.tar.gz -C ~/

# 重新安装 skills
clawhub sync

# 重启网关
openclaw gateway restart

4.2 技能重建

如果选择不迁移 skills/ 目录,本地可以用以下方式重建:

展开

代码语言:Bash

自动换行

AI代码解释

复制代码
# 查看云端装了哪些技能(备份前记录)
ls ~/.openclaw/skills/

# 在本地重新安装(需要先查云端装的 skill IDs 或 names)
clawhub install <skill-name>

# 或者在 workspace/skills/ 目录手动恢复

5. 云端善后

迁移完成后,建议在云端执行以下操作:

5.1 停止云端网关(防止混淆)

代码语言:Bash

自动换行

AI代码解释

复制代码
# 在云端服务器执行
openclaw gateway stop

5.2 考虑删除或保留备份

代码语言:Bash

自动换行

AI代码解释

复制代码
# 确认本地迁移成功后再删除云端数据(谨慎!)
# rm -rf ~/.openclaw/
# rm openclaw-full-backup.tar.gz

5.3 如果要彻底释放云端资源

⚠️ 这是不可逆操作,请确保本地迁移完全成功后再执行。

展开

代码语言:Bash

自动换行

AI代码解释

复制代码
# 停止并卸载 OpenClaw
openclaw gateway stop
npm uninstall -g openclaw

# 删除所有数据(不可恢复!)
rm -rf ~/.openclaw/

# 释放服务器(如果是按量付费的实例可以关机/删除)

6. 迁移后验证

6.1 基本验证

展开

代码语言:Bash

自动换行

AI代码解释

复制代码
# 1. 确认版本
openclaw --version

# 2. 检查网关状态
openclaw status

# 3. 检查工作区文件完整性
ls ~/.openclaw/workspace/
cat ~/.openclaw/workspace/MEMORY.md | head -20

# 4. 检查记忆文件
ls ~/.openclaw/memory/

# 5. 检查定时任务
openclaw cron list

6.2 功能验证

  • 对话功能:发送一条消息,确认 AI 能正常回复

  • 记忆检索:问一个之前保存在 MEMORY.md 中的问题

  • 定时任务:检查 cron 任务是否正常

  • 频道连接:Telegram/WhatsApp/QQ 等频道是否正常连接

  • 技能:检查自定义技能是否正常工作

6.3 完整性检查清单

展开

代码语言:TXT

自动换行

AI代码解释

复制代码
✅ OpenClaw 版本一致
✅ 网关正常启动
✅ 工作区文件完整(MEMORY.md、SOUL.md 等)
✅ 记忆文件恢复
✅ 定时任务配置保留
✅ 频道(Telegram/WhatsApp/QQ)登录状态保留
✅ 自定义技能可用
✅ AI 能正常对话
✅ API 密钥和认证信息正确

7. 常见问题

Q1:迁移后 openclaw doctor 报路径错误?

A :正常现象。旧路径是云端的绝对路径(如 /root/.openclaw/),本地路径是 /Users/yourname/.openclaw/openclaw doctor 会自动修复配置文件中的路径,无需手动修改。

Q2:Telegram/WhatsApp 登录态丢失?

A :认证 token 保存在 identity/ 目录,完整迁移时不会丢失。如果使用部分迁移方案,确保包含 identity/ 目录。

如果确实丢失,需要重新在本地设备进行 OAuth 授权。

Q3:API 密钥需要重新配置吗?

A :如果完整迁移,openclaw.json 中的 API Key 会一起迁移过来,无需重新配置。如果只迁移了工作区,需要在本地 openclaw.json 或环境变量中重新配置。

Q4:迁移后模型不工作?

A :检查 openclaw.json 中的模型配置是否正确。如果是云端专用的 API 地址(如内网地址),本地无法访问,需要更改为公网可用的端点。

Q5:技能(Skills)需要重新安装吗?

A :不一定。如果完整迁移,skills/ 目录会一起过来,本地可以直接使用。如果选择了轻量方案,从 ClawHub 安装的公共技能可以重新通过 clawhub sync 拉回,自定义技能需要手动恢复。

Q6:云端和本地可以同时运行吗?

A :可以,但不推荐,因为会共享同一份数据目录(如果用同一个 state dir),会导致状态混乱。如果确实需要双端运行,可以使用不同的 --profile 参数指定不同的配置目录。

Q7:数据量太大,传输慢怎么办?

A

  1. 排除 logs/ 目录(节省大量空间)

  2. 优先传输 openclaw.json + workspace/ + memory/,这三个最重要

  3. 使用压缩率更高的 xz 格式:tar -cJvf backup.tar.xz ~/.openclaw/

  4. 使用 Rsync 的 --compress 选项减少传输量

Q8:迁移后发现缺少文件怎么办?

A

  1. 检查打包时是否用了 --exclude 排除了某些文件

  2. 确认云端原始目录是否包含这些文件

  3. 如果备份文件还在,可以重新解压提取丢失的文件

  4. 养成习惯:重要操作前先 du -sh ~/.openclaw/ 记录大小,迁移后对比


附录:快速命令速查

展开

代码语言:Bash

自动换行

AI代码解释

复制代码
# === 云端操作 ===

# 停止网关
openclaw gateway stop

# 查看数据大小
du -sh ~/.openclaw/
相关推荐
小兔崽子去哪了3 小时前
Docker 安装 PostgreSQL
数据库·后端·postgresql
F1FJJ4 小时前
Shield CLI PostgreSQL 插件现已上架 VS Code 扩展市场
网络·vscode·网络协议·postgresql·开源软件
IvorySQL6 小时前
PostgreSQL 技术日报 (3月28日)|零停机补丁、约束新特性、性能避坑全收录
数据库·postgresql·开源
F1FJJ9 小时前
VS Code 里管理 PostgreSQL,有哪些选择?主流扩展横向对比
网络·数据库·postgresql·容器
IvorySQL9 小时前
直播回顾| PostgreSQL 18.3 x IvorySQL 5.3:开启 AI 数据库新纪元
数据库·postgresql·开源
IvorySQL9 小时前
PostgreSQL 技术日报 (3月27日)|当 AI 开始自动创建数据库
数据库·postgresql·开源
雷工笔记11 小时前
Navicat 备份与还原 PostgreSQL 数据库
数据库·postgresql·oracle
tongxh4231 天前
5、使用 pgAdmin4 图形化创建和管理 PostgreSQL 数据库
数据库·postgresql
F1FJJ2 天前
Shield CLI 的 PostgreSQL 插件 v0.5.0 发布:数据库导出 + 协作增强,ER 图全新体验
网络·数据库·docker·postgresql·go