阅读时间 4 分钟

从 OpenClaw 到 Hermes:单指令自动完成角色迁移

本文提供一个单指令自动化方案,补充官方迁移命令未覆盖的角色适配环节。

执行 hermes claw migrate 后,你的配置文件和技能已迁移到 Hermes,但 Agent 的认知可能仍停留在 OpenClaw 时代。它可能仍自称 "Aris",尝试访问 ~/.openclaw/ 目录,使用已不存在的工具。

解决方案:发送一条指令,让 Agent 自动检查并修复自身的身份认同和工作逻辑。


角色说明

在继续之前,需要明确两个身份:

身份 所属框架 说明
Aris OpenClaw 原 OpenClaw 生态中的 AI 助手名称,在你的历史配置中使用
Helix Hermes 迁移到 Hermes 后的新身份,需要 Agent 自我认知为此

当 Agent 说 "我是 Aris" 时,它仍在用 OpenClaw 的身份认同运行。你需要让它更新为 "我是 Helix"。


问题背景

官方迁移命令的局限

hermes claw migrate 处理数据层面

  • 复制配置文件到 ~/.hermes/
  • 迁移技能到 ~/.hermes/skills/openclaw-imports/
  • 转移记忆文件

但它不修改文件内容。如果 SOUL.md 写着 "我是 Aris",迁移后 Agent 仍这样认为。

典型症状

迁移后如果 Agent 出现以下行为,说明需要角色适配:

症状 说明
自称 "Aris" 身份认同未更新
访问 ~/.openclaw/ 路径认知错误
调用 memory_search 使用 OpenClaw 特有工具
提到 "OpenClaw 提供上下文" 框架认知错误

单指令自动化方案

你不需要手动编辑文件。发送以下指令给 Agent,它会自动完成全部检查和修复:

执行完整的 OpenClaw 到 Hermes 角色迁移自检与修复:

1. 读取并分析 ~/.hermes/SOUL.md 和 ~/.hermes/memories/MEMORY.md
2. 检查是否存在 OpenClaw 遗留逻辑(身份、路径、工具引用)
3. 如果身份仍为 "Aris",更新为 "Helix" 并明确 Hermes 框架声明
4. 如果存在 ~/.openclaw/ 路径引用,更新为 ~/.hermes/
5. 如果将 "memory_search" 作为技能查询方式,更新为 Hermes 的 "skills_list"
6. 检查 MEMORY.md 字符数是否符合 2,200 限制,必要时精简合并
7. 确保使用 § 分隔符,格式符合 Hermes 规范
8. 生成变更摘要:列出所有修改、修改原因、修改前后的关键差异
9. 输出验证命令,供用户确认修改结果

若文件已正确配置,明确报告"无需修改"。

Agent 将自动执行上述检查,直接修改文件,并向你报告变更摘要。


技术细节(供参考)

如果你想了解 Agent 具体会检查什么,以下是技术细节:

身份声明位置

文件 路径 用途
SOUL.md ~/.hermes/SOUL.md 全局身份和性格定义
MEMORY.md ~/.hermes/memories/MEMORY.md Agent 的个人笔记(限制 2,200 字符)
USER.md ~/.hermes/memories/USER.md 用户画像(限制 1,375 字符)

关键差异对比

维度 OpenClaw (Aris) Hermes (Helix)
身份 "我是 Aris" "我是 Helix"
框架 OpenClaw Hermes Agent (Nous Research)
主目录 ~/.openclaw/ ~/.hermes/
记忆存储 .jsonl 文件 SQLite + FTS5
技能查询 memory_search skills_list + skill_view
记忆限制 无明确限制 2,200 / 1,375 字符

实际变更示例

SOUL.md 变更:

+ > **身份声明**:我是 Helix,Herald 的 AI 助手。
+ > 运行于 Hermes Agent 框架(Nous Research),
+ > 继承自 Aris (OpenClaw) 的记忆与技能体系。

MEMORY.md 变更:


- Identity & Collaboration: 我的名字是 Aris,定位是 Herald 的 AI 助手。
+ Identity & Collaboration: **我是谁**:Helix,Herald 的 AI 助手。
+ 运行于 Hermes Agent 框架(Nous Research)...

- 核心准则:我是一个推理模型,OpenClaw 提供上下文和工具...
+ 核心准则:我是一个推理模型,Hermes 提供上下文和工具...

- 任务执行流程: 先查 skill:用 `memory_search`...
+ 任务执行流程: **先查 skill**:用 `skills_list` 或检查 `~/.hermes/skills/`...

验证结果

Agent 完成自检后,会输出类似以下的报告:

=== 角色迁移自检报告 ===

[已修改] ~/.hermes/SOUL.md

- 添加 Hermes 身份声明

- 原因:原文件无框架声明

[已修改] ~/.hermes/memories/MEMORY.md

- 更新身份认同:Aris → Helix

- 更新框架引用:OpenClaw → Hermes

- 更新工作目录:~/.openclaw/ → ~/.hermes/

- 更新技能查询:memory_search → skills_list

- 字符数:2,186 → 1,377(符合 2,200 限制)

[无需修改] ~/.hermes/memories/USER.md

- 内容已符合 Hermes 规范

=== 验证命令 ===
grep "Helix\|Hermes" ~/.hermes/memories/MEMORY.md
wc -m ~/.hermes/memories/MEMORY.md
/skills

手动验证(可选)

如果你想手动确认迁移结果:


# 验证身份声明
grep "Helix\|Hermes" ~/.hermes/SOUL.md ~/.hermes/memories/MEMORY.md

# 验证字符数
wc -m ~/.hermes/memories/MEMORY.md

# 应输出 ≤ 2200

# 验证技能系统
/skills

# 应列出所有可用技能

# 测试子代理功能
delegate_task(goal="测试 Hermes 子代理功能")

参考文档


基于 Hermes Agent v0.7.0 实际迁移经验整理。