迁移指南
OpenClaw 支持三种迁移路径:从另一个代理系统导入、将现有安装迁移到新机器,以及就地升级插件。
从其他代理系统导入¶
内置的迁移提供程序会将说明、MCP 服务器、技能、模型配置以及(可选)API 密钥导入 OpenClaw。在执行任何更改之前会预览迁移计划,报告中的机密信息会被遮蔽隐藏。独立运行的 openclaw migrate 以经过验证的备份为后盾;而全新的引导导入则改为先在暂存区中放置并验证本地工件,然后在任何不可逆的外部激活发生之前提交配置并发布。
导入 Claude Code 和 Claude Desktop 的状态,包括 CLAUDE.md、MCP 服务器、技能和项目命令。
导入 Hermes 配置、提供程序、MCP 服务器、记忆、技能以及受支持的 .env 密钥。
CLI 入口点是 openclaw migrate。当检测到已知来源时,引导流程也可以提供迁移选项(openclaw onboard --flow import)。
将 OpenClaw 迁移到新机器¶
复制状态目录(默认是 ~/.openclaw/)和你的工作区,以保留:
- 配置 —
openclaw.json和所有网关设置。 - 认证 — 共享的和每个代理的 SQLite 认证存储(API 密钥加 OAuth),以及
credentials/下的任何渠道或提供程序状态。 - 会话 — 对话历史和代理状态。
- 渠道状态 — WhatsApp 登录、Telegram 会话等。
- 工作区文件 —
MEMORY.md、USER.md、技能和提示词。
Tip
在旧机器上运行 openclaw status 以确认你的状态目录路径。自定义配置文件使用 ~/.openclaw-<profile>/,或通过 OPENCLAW_STATE_DIR 设置的路径。
迁移步骤¶
1. 停止网关并备份
在旧机器上,停止网关,然后创建并验证备份归档:
openclaw gateway stop
mkdir -p ~/Backups/openclaw
openclaw backup create --output ~/Backups/openclaw --verify
在进行机器迁移快照之前,先停止网关。对正在变化的 SQLite 数据库进行原始复制可能会捕获到不匹配的数据库和 WAL 文件;使网关静默也能保持状态树其余部分的稳定。如果你使用多个配置文件,请在选中每个配置文件时各运行一次该命令。
2. 在新机器上安装 OpenClaw
在新机器上安装 CLI(如有需要也安装 Node)。即使引导过程创建了全新的 ~/.openclaw/ 也没关系 —— 你接下来会覆盖它。
3. 传输并恢复到暂存区
通过 `scp`、外部驱动器或其他受保护的通道传输生成的 `.tar.gz` 归档。在新机器上,将其恢复到全新的暂存目录:
```bash
openclaw backup restore <archive.tar.gz> --target ~/openclaw-restored
```
恢复绝不会就地激活。在网关停止的情况下,使用恢复出的 `manifest.json` 映射将状态和工作区资产移动到其记录的目标位置,或者将 `OPENCLAW_STATE_DIR` 指向恢复出的状态资产。确认所有者与将要运行网关的用户一致。
绝对符号链接会保留其原始目标位置,包括指向单独备份的配置或凭据的链接。在另一台机器或另一个路径上激活状态之前,请检查这些链接,确保其目标在新位置是正确的。参见[备份符号链接注意事项](../cli/backup.md#what-gets-backed-up)。
Warning
恢复较旧的渠道状态可能会使 WhatsApp 等滚动更新凭据失去同步。审批以及投递/去重状态也会回滚,并且必须重新安装插件的 node_modules 依赖树。参见恢复完整归档。
4. 运行 Doctor 并验证
在新机器上运行 Doctor 以应用配置迁移并修复服务:
如果 Telegram 或 Discord 使用默认的环境变量回退(TELEGRAM_BOT_TOKEN 或 DISCORD_BOT_TOKEN),请验证迁移后的状态目录 .env 包含这些密钥,而无需打印机密值:
当已启用的默认 Telegram 或 Discord 账户没有配置令牌,且对应的环境变量对 doctor 进程不可用时,openclaw doctor 也会发出警告。
常见陷阱¶
配置文件或状态目录不匹配
如果旧网关使用了 --profile 或 OPENCLAW_STATE_DIR,而新网关没有,渠道会显示为已登出,会话也会是空的。请使用你迁移时的相同配置文件或状态目录启动网关,然后重新运行 openclaw doctor。
仅复制 openclaw.json
仅配置文件是不够的。共享的模型认证位于 state/openclaw.sqlite,代理本地配置文件位于 agents/<agentId>/agent/openclaw-agent.sqlite,渠道和提供程序状态位于 credentials/ 下。务必使用上述备份和恢复流程迁移整个状态目录。
权限和所有权
如果你以 root 身份复制或切换了用户,网关可能无法读取凭据。请确保状态目录和工作区归属于运行网关的用户。
远程模式
如果你的 UI 指向远程网关,那么会话和工作区归远程主机所有。请迁移网关主机本身,而不是你的本地笔记本电脑。参见常见问题。
备份中的机密信息
状态目录包含认证配置文件、渠道凭据和其他提供程序状态。请加密存储备份,避免使用不安全的传输通道,如果怀疑泄露请轮换密钥。
验证清单¶
在新机器上,确认:
- [ ]
openclaw status显示网关正在运行。 - [ ] 渠道仍然保持连接(无需重新配对)。
- [ ] 仪表盘可以打开并显示现有会话。
- [ ] 工作区文件(记忆、配置)已存在。
原地升级插件¶
原地插件升级会保留相同的插件 ID 和配置键,但可能会将磁盘上的状态迁移到当前布局中。插件专属升级指南与其频道放在一起:
- Matrix 迁移:加密状态恢复限制、自动快照行为以及手动恢复命令。
相关¶
openclaw migrate:跨系统导入的 CLI 参考。- 安装概览:所有安装方法。
- Doctor:迁移后健康检查。
- 更新:原地更新现有安装,以及回滚策略。
- 卸载:干净地移除 OpenClaw。
openclaw backup— 创建本次迁移所恢复的归档。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw