hermes claw migrate 不是把一个配置文件改名。当前官方迁移器会发现 persona、workspace 指令、Memory、User profile、四类 Skill 来源、模型、审批 allowlist、Browser 设置、消息配置与部分 secrets;无法直接映射的内容会归档。
可靠迁移要回答三个问题:具体导入了什么、什么被跳过或冲突、怎样证明新环境可用且旧环境仍能回退。
本站依据 v2026.9.7 及 2026-09-09 当前官方文档核读,没有运行你的迁移。以下所有命令先在独立 profile 和无真实用户流量的窗口执行。
1. 先决定是否需要迁移
如果 OpenClaw 当前稳定,而你只是想体验 Hermes,先并行安装空白 Hermes profile,不必导入任何资产。只有你明确需要复用 persona、Memory、Skills 或命令 allowlist 时,迁移器才有价值。
以下情况先停:不知道 OpenClaw 实际 home;Hermes 目标已有重要数据却没有备份;没有人能审查 secrets;真实 Gateway 仍在写入;无法保留 OpenClaw 回滚窗口。
产品选型已经整合到 OpenClaw vs Hermes 自动化与 Gateway 对比。本页只负责已经决定试点后的迁移执行。
2. 用独立 profile 和 workspace 隔离试点
创建一个明确命名的 Hermes profile,例如 migration-lab,并把工作目录设为独立测试路径。Profile 隔离 config、.env、SOUL、Memory、sessions、Skills、cron 和 Gateway state,但官方明确提醒:Profile 本身不是文件系统 sandbox;本地 terminal 仍可能拥有当前系统用户权限。
不要让两个 Agent 进程同时写同一个 profile,也不要把生产 OpenClaw workspace 直接设成 Hermes 的 terminal.cwd。本实验需要能删除重建的目标。
3. 填写 M01–M13,不只列文件名
资产表要求记录来源、目标、默认动作、显式参数和验收方法。重点边界包括:
SOUL.md可直接复制;Memory 与 USER 会解析、合并并去重。AGENTS.md只有提供明确--workspace-target才迁移。- Skills 会从 workspace、managed/shared、个人跨项目和项目级四类目录发现。
- Skill 冲突默认
skip,也可明确选择 overwrite 或 rename。 - approval mode 和 command allowlist 会映射,但仍需重新审查权限是否扩大。
- 没有直接 Hermes 等价物的设置进入 timestamp archive。
- WhatsApp 不能靠 token 迁移会话,迁移后要 QR 重新配对。
先给每项标注 需要 / 不需要 / 待确认。待确认项不能通过 --overwrite 或 --yes 消失。
4. 第一次只跑 user-data dry-run
hermes claw migrate --dry-run --preset user-data
保存完整预览,记录 migrated、skipped、conflicting 和 archived 数量。user-data 适合作为默认试点:它覆盖 persona、workspace 指令、Memory、User profile、消息设置、allowlist、Skills、TTS assets 与 archive,但不导入 secret settings。
核对源目录。迁移器默认查 ~/.openclaw/,也识别 legacy 目录;workspace 还会检查 workspace/、workspace.default/、workspace-main/ 和多 Agent 路径。若发现的不是你计划迁移的实例,停止并用 --source 指向精确路径。
5. 在执行前解决三类冲突
Workspace 指令
只有你已经创建空白目标 workspace,才加入:
--workspace-target /absolute/path/to/hermes-migration-lab
不要使用含糊的当前目录或 home。导入后逐行审查 AGENTS.md 是否引用 OpenClaw 专属工具、路径和权限。
Skill 冲突
首次使用 --skill-conflict skip。对每个冲突比较 owner、版本、内容和工具依赖;需要同时保留时再选择 rename。直接 overwrite 会让现有 Hermes Skill 消失,不应作为清理冲突的快捷方式。
Secrets
默认不迁移。--preset full 也必须额外传 --migrate-secrets 才会复制允许的键。file 或 exec 类型 SecretRef 不能自动解析,会给出警告并要求手工配置。
更安全的试点是在空白 profile 手工写入一组最小测试凭据。只有你已检查四类可能来源、目标 .env 权限、allowlist 和轮换计划,才评估 secret migration。
6. 执行 user-data 迁移
确认 dry-run 后运行:
hermes claw migrate --preset user-data --skill-conflict skip \
--workspace-target /absolute/path/to/hermes-migration-lab
不要加 --yes,保留最终确认。默认 apply 前会把现有 ~/.hermes/ 写入 backups/pre-migration-*.zip 还原点;不要使用 --no-backup。如果目标不是默认 profile,确认命令实际指向你刚创建的隔离 profile。
完成报告必须保存:导入、跳过、冲突、归档的项目及原因。没有跳过项报告的迁移不算可审计。
7. 必须在新 session 验收
导入后的 Skill 与 Memory 在新 session 生效。关闭旧对话,新建 session 后按顺序检查:
hermes status:模型与 provider 认证符合预期。- Persona:只问一条无敏感身份问题,核对 SOUL 边界。
- Memory:查询两个明确迁移事实和一个不应存在的负例。
- Skills:列出导入目录,跑正常、缺字段、不应触发和权限拒绝四个样本。
- Approval:一条 allowlist 内无害命令通过,一条外部命令仍被提示或拒绝。
- Browser:使用无敏感测试 profile 验证 CDP 与 headless 配置。
- Messaging:只连接自有测试账号,检查 allowlist 与工作目录。
- Archive:逐项决定重建、保留手工文档或放弃。
若迁移了 Telegram token,也不能直接向真实用户开放。先发送唯一金丝雀并确认入站、出站和路由。WhatsApp 使用 hermes whatsapp 单独重新配对。
8. 回滚不会自动恢复 OpenClaw
迁移默认备份的是迁移前 Hermes home,不会替你备份或删除 OpenClaw。回滚时先停止 Hermes 写入,另存当前失败状态,再使用迁移报告与还原点恢复 Hermes;OpenClaw 应继续使用原目录和原服务配置。
出现以下任一情况就回滚:Memory 合并无法对账、Skill 冲突覆盖了既有文件、approval 范围扩大、消息路由进入真实账号、目标 profile 与预期不一致,或 secrets 暴露。
不要在排障过程中运行 cleanup。官方 hermes claw cleanup 会把剩余 OpenClaw 目录改名为 .pre-migration/ 以避免状态混淆,它应晚于完整验收和回滚观察窗口。
9. 最终只做四种决定
- 保留 OpenClaw:迁移收益不足或关键资产没有等价物。
- 并行试点:Hermes 验证通过,但真实入口仍留在 OpenClaw。
- 分批迁移:先 persona/Memory/Skills,再单独迁移消息与自动化。
- 回滚:任一权限、数据或路由硬失败。
不要把“命令退出码为 0”作为第五种决定。迁移报告、新 session 行为、归档项、消息金丝雀和回滚证据共同通过,才能说明迁移真的完成。