Ch. 4 — Notes · § 012026·04·25 · — words
Ch. 4

周末把 7000+ 文件搬到 Hermes Agent:踩坑与复盘

§ 01
COLOPHON
Source Serif 4 · JetBrains Mono · Forge Codex
TOOLS
Next 15 · MDX · framer-motion

OpenClaw 迁移 19 个技能、128 个会话到 Hermes Agent 的完整过程,包括踩过的坑和最后整理出的开源迁移技能

TL;DR: 上周末我把整个 OpenClaw 工作环境迁移到 Hermes Agent,7011 个文件、19 个全局技能、128 个会话记录。这篇文章记录踩坑、决策,以及最后怎么把迁移过程做成一个开源技能。


大家好,我是极客杰尼。

上周末干了一件事:把整个 OpenClaw 的工作环境迁移到 Hermes Agent。

数字说出来可能没感觉:7011 个文件,520M 数据,19 个全局技能,128 个会话记录。花了一整天搞定。

今天就聊聊这个迁移是怎么做的,踩了什么坑,以及我怎么把整个过程变成一个可复用的开源技能。

§为什么要搬

OpenClaw 用了一段时间,能跑活。但几个问题越来越明显。

一个是技能管理。我在 OpenClaw 上攒了 19 个全局技能,分布在不同目录,没有统一的注册机制。每次想复用一个技能,得手动翻目录、复制配置。技能多了找不到,比没有更痛苦。

另一个是会话持久化。128 个会话记录散落在各处,没有索引,没有搜索。想找上周的某个调试过程,只能靠记忆翻。

Hermes Agent 的架构解决的就是这些问题。技能有统一的加载路径,会话有结构化的存储和检索机制,记忆系统也是内建的。

不是 OpenClaw 不好,是我的需求长大了。

§迁移的六个阶段

我花了半天时间整理出一套六阶段的 SOP。

第一阶段:清点。 列出 OpenClaw 下所有技能目录、会话记录、配置文件。光这一步就发现了 3 个已经废弃的旧技能,直接删掉。

第二阶段:备份。 整个 OpenClaw 目录打一个 tar 包,扔到另一个盘。迁移之前必须备份,这不是建议,是纪律。

第三阶段:技能映射。 19 个技能逐个检查:哪些可以直接搬到 Hermes 的技能目录?哪些需要改写配置格式?哪些可以淘汰?这一步最耗时,Hermes 的 SKILL.md 格式和 OpenClaw 的技能描述文件结构不一样,有些技能的元信息需要手写。

第四阶段:会话迁移。 128 个会话记录,不是简单复制。Hermes 的会话格式是结构化的,需要转换。写了个小脚本批量处理,跑了两遍才干净。

第五阶段:配置迁移。 Cron 任务、环境变量、API Key 配置。这部分比较碎,但每项都很关键。漏一个 Cron 任务,你的定时任务就哑了。

第六阶段:验证。 逐个检查:技能能不能正常加载?会话能不能搜索?Cron 任务有没有跑起来?

§踩过的坑

最大的坑是路径问题。 OpenClaw 和 Hermes 的技能加载路径不一样。有些技能里硬编码了绝对路径,迁移之后路径变了,加载直接报错。排查了快一个小时才发现是路径引用的问题。

第二个坑是编码。 部分会话记录里包含特殊字符,批量转换时触发了编码错误。解决方案是在脚本里加了 UTF-8 强制编码声明,跑过了。

第三个坑是我自己的。 迁移到一半觉得"差不多行了",跳过验证阶段直接开始用。结果第二天发现一个关键技能没加载成功,耽误了活。验证不是可选项,是必须项。 这个教训刻在心里了。

§把踩坑做成了工具

迁移完之后,我把整个过程整理成了一个开源技能:openclaw-to-hermes-migration

这个技能干的事情很简单:把上面六个阶段的 SOP 变成可执行的步骤,附带迁移脚本和检查清单。

如果你也在考虑从 OpenClaw 迁移到 Hermes,可以试试。不需要一步到位,按阶段走就行。

§迁移之后

搬完之后最大的感受是:终于不用靠记忆找东西了。

以前找一个技能,得回忆它放在哪个目录。现在 Hermes 的技能系统自动加载,按需调用。会话搜索也变得直接,不用翻文件夹。

我还顺手配了两个定时任务:一个每天 10 点拉 AI Builder 的动态摘要,一个 10:30 推 BuilderPulse 每日精选。自动化能跑起来的前提是底座稳,迁移就是让底座变稳的那一步。

§给想迁移的人的建议

如果你也在用 OpenClaw 或其他 Agent 框架,考虑迁到 Hermes,三点建议:

  1. ·

    先清点再动手。 别急着搬,先搞清楚你有多少东西要搬。我清点完发现 3 个废弃技能,直接省了迁移工作量。

  2. ·

    写脚本,别手搬。 7011 个文件手动搬不现实。花 30 分钟写个迁移脚本,能省几个小时的体力活。

  3. ·

    验证完再删旧环境。 新环境还没验证完就想删旧的,这是我最险的一次。旧环境至少保留一周再清理。

迁移的本质不是换工具,是整理你的数字资产。工具会换,资产是你的。

SIGNED北京 · 2026·04·25 · git dev