版本: 1.0.0
状态: 规划中
开源协议: MIT
GitHub: github.com/openclaw-community/openclaw-migrator (拟)
OpenClaw Migrator 是一个完全迁移 OpenClaw 实例的工具,帮助用户在不同机器、不同环境或重置系统时,保留所有配置、记忆、技能和身份。
- 完全复制 - 1:1 复制现有 OpenClaw 实例
- 保留所有配置 - API Key、通道配置、技能配置、记忆、学习成果
- 选择性产物 - 用户可选择保留哪些输出文件
- 身份延续 - 新实例继承原实例的身份和记忆
- 一键操作 - EXE 可执行文件,无需 Python/Node 环境
作用: 创建当前 OpenClaw 实例的完整备份,并可恢复到新位置
备份内容:
| 类别 | 内容 | 默认 | 可选 |
|---|---|---|---|
| 核心配置 | openclaw.json, openclaw-node.json, memory-path.json |
✅ | - |
| 身份配置 | identity/, devices/, credentials/ |
✅ | - |
| 技能配置 | skills/entries/, 自定义技能 |
✅ | - |
| 记忆系统 | workspace/MEMORY.md, workspace/memory/, self-improving/ |
✅ | - |
| 工作区文件 | workspace/*.md, workspace/agents/ |
✅ | - |
| 输出产物 | shared/outputs/, agents/*/outputs/ |
用户选择 | |
| 日志文件 | shared/outputs/logs/ |
用户选择 | |
| 备份文件 | 备份/ 目录 |
❌ | 可选 |
输出格式:
- 压缩备份包 (
.zip或.tar.gz) - 可选加密 (AES-256)
- 包含校验和 (SHA-256)
作用: 将备份包恢复到新的 OpenClaw 实例
恢复流程:
- 检查目标位置是否有现有实例
- 如有实例,询问是否覆盖或合并
- 解压备份包到目标位置
- 更新路径配置(如目标路径不同)
- 验证配置完整性
- 重启网关服务
智能路径适配:
- 源路径:
D:\openclaw\龙虾二号\ - 目标路径:
E:\new-claw\→ 自动更新所有路径引用
作用: 彻底卸载当前 OpenClaw 实例
卸载级别:
| 级别 | 内容 | 用途 |
|---|---|---|
| 轻量卸载 | 仅删除 ~/.openclaw/ 配置 |
保留工作区,重置配置 |
| 标准卸载 | 配置 + 工作区 + 技能 | 完全移除实例 |
| 深度卸载 | 标准 + 输出产物 + 备份 | 彻底清理所有痕迹 |
安全检查:
- 检查是否有未保存的记忆
- 检查是否有进行中的会话
- 询问是否先备份
- 确认后才执行删除
┌─────────────────────────────────────────────────────────┐
│ OpenClaw Migrator │
│ (Single EXE) │
├─────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Backup │ │ Restore │ │ Uninstall │ │
│ │ Module │ │ Module │ │ Module │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ ┌──────┴────────────────┴────────────────┴──────┐ │
│ │ Core Engine (Rust) │ │
│ │ - File Operations - Compression │ │
│ │ - Path Mapping - Validation │ │
│ └───────────────────────────────────────────────┘ │
│ ┌───────────────────────────────────────────────┐ │
│ │ UI Layer (TUI/CLI) │ │
│ │ - Interactive Prompts - Progress Bars │ │
│ │ - Color Output - Confirmation │ │
│ └───────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
| 组件 | 技术 | 理由 |
|---|---|---|
| 核心语言 | Rust | 单文件编译、跨平台、高性能、安全 |
| 压缩库 | zip / tar + flate2 |
标准格式,易解压 |
| 加密 | aes-gcm |
AES-256-GCM 加密 |
| UI | ratatui (TUI) 或 dialoguer (CLI) |
终端友好,无需 GUI |
| 打包 | cargo-binstall / Inno Setup |
生成 EXE |
openclaw-migrator/
├── Cargo.toml # Rust 项目配置
├── README.md # 项目说明
├── LICENSE # MIT License
├── CHANGELOG.md # 更新日志
│
├── src/
│ ├── main.rs # 入口文件
│ ├── cli.rs # 命令行解析
│ ├── tui.rs # 终端 UI
│ │
│ ├── backup/
│ │ ├── mod.rs # 备份模块
│ │ ├── config.rs # 配置备份
│ │ ├── memory.rs # 记忆备份
│ │ ├── skills.rs # 技能备份
│ │ └── outputs.rs # 产物备份
│ │
│ ├── restore/
│ │ ├── mod.rs # 恢复模块
│ │ ├── validate.rs # 验证逻辑
│ │ └── adapt.rs # 路径适配
│ │
│ ├── uninstall/
│ │ ├── mod.rs # 卸载模块
│ │ ├── levels.rs # 卸载级别
│ │ └── safety.rs # 安全检查
│ │
│ └── utils/
│ ├── fs.rs # 文件操作
│ ├── compress.rs # 压缩工具
│ ├── encrypt.rs # 加密工具
│ └── paths.rs # 路径工具
│
├── scripts/
│ ├── build.ps1 # Windows 构建脚本
│ ├── build.sh # Linux/Mac 构建脚本
│ └── release.ps1 # 发布脚本
│
├── tests/
│ ├── backup_tests.rs # 备份测试
│ ├── restore_tests.rs # 恢复测试
│ └── uninstall_tests.rs # 卸载测试
│
└── docs/
├── user-guide.md # 用户指南
├── developer-guide.md # 开发者指南
└── migration-examples.md # 迁移示例
【旧电脑】
1. 下载 openclaw-migrator.exe
2. 运行:openclaw-migrator.exe backup
3. 选择备份内容(默认全选)
4. 设置备份密码(可选)
5. 生成备份包:lobster-backup-20260315.zip
【传输备份包】
- 通过网盘/U盘/局域网传输
【新电脑】
1. 安装 OpenClaw: npm install -g openclaw
2. 下载 openclaw-migrator.exe
3. 运行:openclaw-migrator restore lobster-backup-20260315.zip
4. 输入密码(如果加密)
5. 选择恢复位置
6. 等待恢复完成
7. 重启网关:openclaw gateway restart
【备份阶段】
1. openclaw-migrator.exe backup
2. 选择备份内容
3. 生成备份包
【卸载阶段】
1. openclaw-migrator.exe uninstall
2. 选择卸载级别(标准卸载)
3. 确认删除
4. 等待卸载完成
【恢复阶段】
1. openclaw-migrator.exe restore lobster-backup-20260315.zip
2. 选择恢复位置(原位置)
3. 等待恢复完成
【创建测试实例】
1. 备份生产实例
2. 恢复到测试位置:E:\openclaw-test\
3. 修改测试实例配置(使用不同端口)
4. 两个实例并行运行
【实例同步】
1. 测试完成后,备份测试实例
2. 选择性恢复关键配置到生产实例
| 数据类型 | 处理方式 |
|---|---|
| API Keys | 加密存储,备份时 AES-256 加密 |
| 设备凭证 | 加密存储,可选排除 |
| 用户消息 | 可选排除,默认不包含 |
| 会话历史 | 可选排除,默认不包含 |
// 使用 AES-256-GCM 加密
let cipher = Aes256Gcm::new_from_slice(key_bytes)?;
let nonce = generate_secure_nonce();
let ciphertext = cipher.encrypt(&nonce, plaintext.as_ref())?;- 使用安全删除(多次覆写)
- 回收站选项(默认使用回收站)
- 确认提示(防止误删)
# 备份
openclaw-migrator backup [OPTIONS]
# 恢复
openclaw-migrator restore <BACKUP_FILE> [OPTIONS]
# 卸载
openclaw-migrator uninstall [OPTIONS]
# 验证备份
openclaw-migrator verify <BACKUP_FILE>
# 列出备份内容
openclaw-migrator list <BACKUP_FILE>openclaw-migrator backup \
--output ./backup.zip \ # 输出文件
--exclude-outputs \ # 排除输出产物
--exclude-logs \ # 排除日志
--encrypt \ # 启用加密
--password "mypassword" \ # 设置密码
--compress fast \ # 压缩级别:fast/normal/max
--verbose # 详细输出openclaw-migrator restore backup.zip \
--target D:\new-claw\ \ # 目标位置
--merge \ # 合并模式(非覆盖)
--dry-run \ # 预览不执行
--verify \ # 恢复后验证
--verboseopenclaw-migrator uninstall \
--level standard \ # 卸载级别:light/standard/deep
--backup-first \ # 卸载前先备份
--skip-confirm \ # 跳过确认(危险)
--verbose╔══════════════════════════════════════════════════════════╗
║ 🦀 OpenClaw Migrator v1.0.0 ║
╠══════════════════════════════════════════════════════════╣
║ 请选择操作: ║
║ ║
║ > ● 备份当前实例 ║
║ ○ 恢复备份 ║
║ ○ 卸载实例 ║
║ ○ 验证备份 ║
║ ║
║ [继续] [退出] ║
╚══════════════════════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════╗
║ 选择备份内容 (空格选择,Enter 继续) ║
╠══════════════════════════════════════════════════════════╣
║ [●] 核心配置 (openclaw.json 等) ║
║ [●] 身份配置 (identity/, devices/) ║
║ [●] 技能配置 (skills/) ║
║ [●] 记忆系统 (MEMORY.md, memory/, self-improving/) ║
║ [●] 工作区文件 (workspace/*.md) ║
║ [○] 输出产物 (shared/outputs/) ║
║ [○] 日志文件 (logs/) ║
║ [○] 备份文件 (备份/) ║
║ ║
║ 预计大小:156 MB ║
╚══════════════════════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════╗
║ 正在备份... ║
╠══════════════════════════════════════════════════════════╣
║ ████████████████████████░░░░░░░░ 65% ║
║ ║
║ 当前:workspace/memory/2026-03-15.md ║
║ 已处理:245/378 文件 ║
║ 已压缩:89.2 MB → 45.6 MB (49% 压缩率) ║
║ 预计剩余:2 分钟 ║
║ ║
║ [取消] ║
╚══════════════════════════════════════════════════════════╝
- 文件备份功能
- 文件恢复功能
- 压缩/解压功能
- 加密/解密功能
- 路径映射功能
- 验证功能
- 完整备份流程
- 完整恢复流程
- 完整卸载流程
- 跨平台路径处理
- 大文件处理 (>1GB)
- 中断恢复
- 新电脑迁移
- 实例重置
- 多实例管理
- 配置冲突处理
- 权限不足处理
| 版本 | 目标 | 预计时间 |
|---|---|---|
| v0.1.0 | 核心备份/恢复功能 | 2026-03-20 |
| v0.5.0 | 添加卸载功能 + TUI | 2026-03-25 |
| v1.0.0 | 正式发布 + 文档完善 | 2026-04-01 |
| v1.1.0 | 加密功能 + 增量备份 | 2026-04-15 |
| v1.2.0 | 多实例管理 + 云同步 | 2026-05-01 |
- GitHub Releases - 主要发布渠道
- crates.io - Rust 包(开发者)
- winget - Windows 包管理器
- Homebrew - macOS 包管理器
- AUR - Arch Linux 用户仓库
MIT License
Copyright (c) 2026 OpenClaw Community
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
# 克隆仓库
git clone https://github.com/openclaw-community/openclaw-migrator.git
cd openclaw-migrator
# 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 构建项目
cargo build
# 运行测试
cargo test
# 本地运行
cargo run -- backupfeat: 添加加密备份功能
fix: 修复路径映射 bug
docs: 更新用户指南
test: 添加备份验证测试
chore: 更新依赖版本
- GitHub Issues: 问题反馈和功能请求
- Discord: OpenClaw 社区 #migrator 频道
- Email: migrator@openclaw.community (拟)
- OpenClaw - 基础框架
- 第 1 代 龙虾二号 - 重生包灵感来源
- Rust 社区 - 优秀的工具和库
最后更新:2026-03-15 | 版本:1.0.0 规划稿