文章目录
- 在云端服务器执行: openclaw –version openclaw status 记录输出的版本号、Gateway 地址、已安装的插件和技能列表。
- du -sh ~/.openclaw/ # 总大小 du -sh ~/.openclaw/workspace/ # workspace 大小 du -sh ~/.openclaw/skills/ # 技能大小 du -sh ~/.openclaw/logs/ # 日志大小(可排除) 我本地的数据总量约 877MB,其中 workspace + skills 是核心,logs 可排除。
- 在本地机器上安装与云端相同(或更新)版本: # Linux / macOS (npm) npm install -g openclaw # 验证版本一致 openclaw –version
- 停止网关可以防止迁移过程中数据被写入,保证数据一致性。 # 登录云端服务器 # 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
- 选择以下任意一种方式:
- # 在本地机器执行 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 ~/
- rsync -avP -e ssh your-user@your-cloud-server:/path/to/openclaw-full-backup.tar.gz ~/
- 上传到 OSS/S3/GCS,本地下载(适合网络不稳定的情况)。
- # 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/
- # 运行诊断工具,自动修复路径不一致问题 openclaw doctor # 根据提示修复任何路径或权限问题
- openclaw gateway start
- tar -czvf openclaw-selective.tar.gz ~/.openclaw/openclaw.json ~/.openclaw/identity/ ~/.openclaw/agents/ ~/.openclaw/workspace/ ~/.openclaw/cron/ ~/.openclaw/memory/ ~/.openclaw/skills/ ~/.openclaw/devices/
- 目录/文件 迁移价值 说明 openclaw.json ⭐⭐⭐ 必须 核心配置文件 identity/ ⭐⭐⭐ 必须 身份和认证信息 agents/ ⭐⭐⭐ 必须 Agent 状态和会话 workspace/ ⭐⭐⭐ 必须 你的工作区(含 MEMORY.md、SOUL.md 等) cron/ ⭐⭐⭐ 推荐 定时任务配置 memory/ ⭐⭐⭐ 推荐 记忆文件 skills/ ⭐⭐ 推荐 自定义技能(ClawHub 上的可重新安装) devices/ ⭐ 一般 设备配对信息(本地设备可能不同) extensions/ ⭐ 视情况 第三方扩展 logs/ ❌ 不需要 日志文件,无需迁移
- # 在云端打包 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
- 如果选择不迁移 skills/ 目录,本地可以用以下方式重建: # 查看云端装了哪些技能(备份前记录) ls ~/.openclaw/skills/ # 在本地重新安装(需要先查云端装的 skill IDs 或 names) clawhub install <skill-name> # 或者在 workspace/skills/ 目录手动恢复
- # 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
- 对话功能:发送一条消息,确认 AI 能正常回复 记忆检索:问一个之前保存在 MEMORY.md 中的问题 定时任务:检查 cron 任务是否正常 频道连接:Telegram/WhatsApp/QQ 等频道是否正常连接 技能:检查自定义技能是否正常工作
- ✅ OpenClaw 版本一致 ✅ 网关正常启动 ✅ 工作区文件完整(MEMORY.md、SOUL.md 等) ✅ 记忆文件恢复 ✅ 定时任务配置保留 ✅ 频道(Telegram/WhatsApp/QQ)登录状态保留 ✅ 自定义技能可用 ✅ AI 能正常对话 ✅ API 密钥和认证信息正确
- A:正常现象。旧路径是云端的绝对路径(如 /root/.openclaw/),本地路径是 /Users/yourname/.openclaw/。openclaw doctor 会自动修复配置文件中的路径,无需手动修改。
- A:认证 token 保存在 identity/ 目录,完整迁移时不会丢失。如果使用部分迁移方案,确保包含 identity/ 目录。 如果确实丢失,需要重新在本地设备进行 OAuth 授权。
- A:如果完整迁移,openclaw.json 中的 API Key 会一起迁移过来,无需重新配置。如果只迁移了工作区,需要在本地 openclaw.json 或环境变量中重新配置。
- A:检查 openclaw.json 中的模型配置是否正确。如果是云端专用的 API 地址(如内网地址),本地无法访问,需要更改为公网可用的端点。
- A:不一定。如果完整迁移,skills/ 目录会一起过来,本地可以直接使用。如果选择了轻量方案,从 ClawHub 安装的公共技能可以重新通过 clawhub sync 拉回,自定义技能需要手动恢复。
- A:可以,但不推荐,因为会共享同一份数据目录(如果用同一个 state dir),会导致状态混乱。如果确实需要双端运行,可以使用不同的 –profile 参数指定不同的配置目录。
- A: 排除 logs/ 目录(节省大量空间) 优先传输 openclaw.json + workspace/ + memory/,这三个最重要 使用压缩率更高的 xz 格式:tar -cJvf backup.tar.xz ~/.openclaw/ 使用 Rsync 的 –compress 选项减少传输量
- A: 检查打包时是否用了 –exclude 排除了某些文件 确认云端原始目录是否包含这些文件 如果备份文件还在,可以重新解压提取丢失的文件 养成习惯:重要操作前先 du -sh ~/.openclaw/ 记录大小,迁移后对比
目录
- 1. 前置准备
- 1.1 确认 OpenClaw 版本
- 1.2 检查数据量
- 1.3 本地安装 OpenClaw
- 2. 完整迁移(推荐)
- 2.1 云端 — 停止网关并打包
- 2.2 传输备份文件到本地
- 方式 A:SCP(推荐)
- 方式 B:Rsync(适合大文件、断点续传)
- 方式 C:云对象存储
- 2.3 本地 — 解压恢复
- 2.4 修复路径问题
- 2.5 启动网关
- 3. 选择性迁移
- 3.1 打包时选择性包含
- 3.2 选择性迁移清单
- 4. 部分迁移(轻量方案)
- 4.1 只迁移工作区和记忆
- 4.2 技能重建
- 5. 云端善后
- 5.1 停止云端网关(防止混淆)
- 5.2 考虑删除或保留备份
- 5.3 如果要彻底释放云端资源
- 6. 迁移后验证
- 6.1 基本验证
- 6.2 功能验证
- 6.3 完整性检查清单
- 7. 常见问题
- Q1:迁移后 openclaw doctor 报路径错误?
- Q2:Telegram/WhatsApp 登录态丢失?
- Q3:API 密钥需要重新配置吗?
- Q4:迁移后模型不工作?
- Q5:技能(Skills)需要重新安装吗?
- Q6:云端和本地可以同时运行吗?
- Q7:数据量太大,传输慢怎么办?
- Q8:迁移后发现缺少文件怎么办?
- 附录:快速命令速查
适用场景:OpenClaw 最初部署在云端(VPS/服务器),调教完成后迁移到本地机器(Mac/Linux/Windows)继续使用。
本文档涵盖:完整数据迁移、选择性迁移、部分迁移方案、以及迁移后的验证步骤。
在云端服务器执行:
openclaw --version openclaw status
记录输出的版本号、Gateway 地址、已安装的插件和技能列表。
du -sh ~/.openclaw/ # 总大小
du -sh ~/.openclaw/workspace/ # workspace 大小
du -sh ~/.openclaw/skills/ # 技能大小
du -sh ~/.openclaw/logs/ # 日志大小(可排除)
我本地的数据总量约 877MB,其中 workspace + skills 是核心,logs 可排除。
我本地的数据总量约 877MB,其中 workspace + skills 是核心,logs 可排除。
在本地机器上安装与云端相同(或更新)版本:
# Linux / macOS (npm) npm install -g openclaw # 验证版本一致 openclaw --version
停止网关可以防止迁移过程中数据被写入,保证数据一致性。
# 登录云端服务器
# 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
停止网关可以防止迁移过程中数据被写入,保证数据一致性。
选择以下任意一种方式:
# 在本地机器执行
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 ~/
rsync -avP -e ssh your-user@your-cloud-server:/path/to/openclaw-full-backup.tar.gz ~/
上传到 OSS/S3/GCS,本地下载(适合网络不稳定的情况)。
# 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/
# 运行诊断工具,自动修复路径不一致问题
openclaw doctor
# 根据提示修复任何路径或权限问题
openclaw gateway start
如果你不需要完整迁移(比如只想要记忆和配置),可以只打包部分目录。
tar -czvf openclaw-selective.tar.gz
~/.openclaw/openclaw.json
~/.openclaw/identity/
~/.openclaw/agents/
~/.openclaw/workspace/
~/.openclaw/cron/
~/.openclaw/memory/
~/.openclaw/skills/
~/.openclaw/devices/
| 目录/文件 | 迁移价值 | 说明 |
|---|---|---|
openclaw.json |
⭐⭐⭐ 必须 | 核心配置文件 |
identity/ |
⭐⭐⭐ 必须 | 身份和认证信息 |
agents/ |
⭐⭐⭐ 必须 | Agent 状态和会话 |
workspace/ |
⭐⭐⭐ 必须 | 你的工作区(含 MEMORY.md、SOUL.md 等) |
cron/ |
⭐⭐⭐ 推荐 | 定时任务配置 |
memory/ |
⭐⭐⭐ 推荐 | 记忆文件 |
skills/ |
⭐⭐ 推荐 | 自定义技能(ClawHub 上的可重新安装) |
devices/ |
⭐ 一般 | 设备配对信息(本地设备可能不同) |
extensions/ |
⭐ 视情况 | 第三方扩展 |
logs/ |
❌ 不需要 | 日志文件,无需迁移 |
适用于只想迁移核心记忆和配置,不迁移会话历史的情况。
# 在云端打包
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
如果选择不迁移 skills/ 目录,本地可以用以下方式重建:
# 查看云端装了哪些技能(备份前记录) ls ~/.openclaw/skills/ # 在本地重新安装(需要先查云端装的 skill IDs 或 names) clawhub install <skill-name> # 或者在 workspace/skills/ 目录手动恢复
迁移完成后,建议在云端执行以下操作:
# 在云端服务器执行
openclaw gateway stop
# 确认本地迁移成功后再删除云端数据(谨慎!)
# rm -rf ~/.openclaw/
# rm openclaw-full-backup.tar.gz
这是不可逆操作,请确保本地迁移完全成功后再执行。
# 停止并卸载 OpenClaw
openclaw gateway stop
npm uninstall -g openclaw
# 删除所有数据(不可恢复!)
rm -rf ~/.openclaw/
# 释放服务器(如果是按量付费的实例可以关机/删除)
这是不可逆操作,请确保本地迁移完全成功后再执行。
# 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
- 对话功能:发送一条消息,确认 AI 能正常回复
- 记忆检索:问一个之前保存在 MEMORY.md 中的问题
- 定时任务:检查 cron 任务是否正常
- 频道连接:Telegram/WhatsApp/QQ 等频道是否正常连接
- 技能:检查自定义技能是否正常工作
✅ OpenClaw 版本一致
✅ 网关正常启动
✅ 工作区文件完整(MEMORY.md、SOUL.md 等)
✅ 记忆文件恢复
✅ 定时任务配置保留
✅ 频道(Telegram/WhatsApp/QQ)登录状态保留
✅ 自定义技能可用
✅ AI 能正常对话
✅ API 密钥和认证信息正确
A:正常现象。旧路径是云端的绝对路径(如 /root/.openclaw/),本地路径是 /Users/yourname/.openclaw/。openclaw doctor 会自动修复配置文件中的路径,无需手动修改。
A:认证 token 保存在 identity/ 目录,完整迁移时不会丢失。如果使用部分迁移方案,确保包含 identity/ 目录。
如果确实丢失,需要重新在本地设备进行 OAuth 授权。
A:如果完整迁移,openclaw.json 中的 API Key 会一起迁移过来,无需重新配置。如果只迁移了工作区,需要在本地 openclaw.json 或环境变量中重新配置。
A:检查 openclaw.json 中的模型配置是否正确。如果是云端专用的 API 地址(如内网地址),本地无法访问,需要更改为公网可用的端点。
A:不一定。如果完整迁移,skills/ 目录会一起过来,本地可以直接使用。如果选择了轻量方案,从 ClawHub 安装的公共技能可以重新通过 clawhub sync 拉回,自定义技能需要手动恢复。
A:可以,但不推荐,因为会共享同一份数据目录(如果用同一个 state dir),会导致状态混乱。如果确实需要双端运行,可以使用不同的 --profile 参数指定不同的配置目录。
A:
- 排除
logs/目录(节省大量空间) - 优先传输
openclaw.json+workspace/+memory/,这三个最重要 - 使用压缩率更高的
xz格式:tar -cJvf backup.tar.xz ~/.openclaw/ - 使用 Rsync 的
--compress选项减少传输量
A:
- 检查打包时是否用了
--exclude排除了某些文件 - 确认云端原始目录是否包含这些文件
- 如果备份文件还在,可以重新解压提取丢失的文件
- 养成习惯:重要操作前先
du -sh ~/.openclaw/记录大小,迁移后对比
# === 云端操作 ===
# 停止网关
openclaw gateway stop
# 查看数据大小
du -sh ~/.openclaw/
以上就是OpenClaw云端迁移至本地的部署指南的详细内容,更多关于OpenClaw云端迁移至本地部署的资料请关注风君子博客其它相关文章!