OpenClaw 技能迁移到 Hermes Agent 完整指南

最近我从 OpenClaw 切换到 Hermes Agent 使用,需要把原先 OpenClaw 上已经安装好的技能全部迁移到 Hermes Agent。这篇文章我把自己实际迁移过程和遇到的问题都记录下来,希望能帮到有同样需求的朋友。

📋 迁移思路总结
Hermes Agent 的技能默认从 ~/.hermes/skills/ 目录加载,而 OpenClaw 的技能通常存放在 ~/.openclaw/workspace/skills/ 或者安装目录下。迁移过程很简单:

  1. 找到 OpenClaw 原技能目录
  2. 复制整个技能目录到 ~/.hermes/skills/
  3. 适配配置信息,将 API/账号密码信息写入配置文件
  4. 测试技能是否能正常加载和使用

🔍 第一步:找到原技能存放位置

如果找不到技能,可以用 find 全局搜索:

find /opt/1panel/apps/openclaw/openclaw/data/workspace/skills -name "skill-name"

我这里原来 OpenClaw 的技能都在 /opt/1panel/apps/openclaw/openclaw/data/workspace/skills/ 目录下。

📦 第二步:复制技能到 Hermes 目录

逐个复制,以 wordpress 技能为例:

# 以 wordpress 技能为例
mkdir -p ~/.hermes/skills/wordpress
cp -r /path/to/openclaw/skills/wordpress/* ~/.hermes/skills/wordpress/

✅ 第三步:验证 Hermes 能否正常加载

复制完成后,在 Hermes Agent 中测试加载:

skill_view(name="wordpress")

如果能正常读出技能说明,说明目录结构正确,已经可以被 Hermes 识别。

⚙️ 第四步:统一管理配置信息

Hermes 推荐将所有技能的配置信息统一存放在 ~/.hermes/skills-config.json,格式如下:

{
  "skills": {
    "entries": {
      "skill-name": {
        "env": {
          "API_KEY": "***"
        }
      }
    }
  }
}

这样做的好处是所有配置集中管理,完全脱离 OpenClaw 独立存在。

🛠️ 第五步:修改脚本读取配置的路径

如果原技能脚本是从 ~/.openclaw/openclaw.json 读取配置,需要修改路径到 ~/.hermes/skills-config.json。以 amap-traffic 为例:

# 修改前
config_paths = [
    "/home/admin/.openclaw/openclaw.json",
    os.path.expanduser("~/.openclaw/openclaw.json")
]

# 修改后
config_paths = [
    os.path.expanduser("~/.hermes/skills-config.json")
]

📋 本次迁移完成的技能清单

本文完成时,共迁移了 12 个常用技能:

技能名 用途 是否需要 API
agent-browser 浏览器自动化
amap-traffic 高德地图路况查询 是(高德 API Key)
wordpress WordPress REST API 操作 是(应用密码)
github GitHub 命令行交互
markdown-converter 文档转 Markdown
ontology 结构化知识图谱
skill-finder-cn ClawHub 技能搜索
word-docx Word 文档编辑
nas-website-edit NAS 网站首页维护 是(FTP 账号)
humanizer-enhanced AI 写作去痕迹
email-receiver 邮件收取 是(IMAP 密码)
email-sender 邮件发送 是(SMTP 密码)

🔧 常用技能配置参考

📍 amap-traffic(高德地图)

"amap-traffic": {
  "apiKey": "***"
}

🌐 WordPress

"wordpress": {
  "env": {
    "WP_BASE_URL": "https://your-blog.com",
    "WP_USER": "username",
    "WP_APP_PASSWORD": "application-password"
  }
}

📥 邮件收取

"email-receiver": {
  "enabled": true,
  "env": {
    "EMAIL_IMAP_HOST": "imap.qq.com",
    "EMAIL_IMAP_PORT": "993",
    "EMAIL_IMAP_USER": "your@email.com",
    "EMAIL_IMAP_PASS": "password-or-auth-code"
  }
}

📤 邮件发送

"email-sender": {
  "enabled": true,
  "env": {
    "EMAIL_SMTP_HOST": "smtp.qq.com",
    "EMAIL_SMTP_PORT": "465",
    "EMAIL_SMTP_USER": "your@email.com",
    "EMAIL_SMTP_PASS": "password-or-auth-code"
  }
}

🖥️ NAS 网站维护

"nas-website-edit": {
  "enabled": true,
  "env": {
    "FTP_HOST": "your-domain.com",
    "FTP_PORT": "21",
    "FTP_USER": "username",
    "FTP_PASS": "password",
    "FTP_BASE_PATH": "/home/yourname/work",
    "WEB_DIR": "/web"
  }
}

⚠️ 迁移过程需要注意这些问题

1️⃣ skillhub 安装路径问题
通过 skillhub.cn 安装的技能默认会放在 ~/.hermes/hermes-agent/skills/ 目录下,Hermes Agent 无法从这里加载,必须手动移动到 ~/.hermes/skills/ 才能正常识别。
2️⃣ 配置文件统一管理
建议把所有技能配置都集中放在 ~/.hermes/skills-config.json,这样完全脱离 OpenClaw,便于维护。
3️⃣ JSON 格式验证
修改配置后一定要验证 JSON 格式是否正确:

python3 -c "import json; json.load(open('/home/nicky/.hermes/skills-config.json')); print('OK')"
4️⃣ 测试验证
每迁移完一个技能都要测试加载,确认可以正常使用再进行下一个。

📁 迁移完的目录结构

迁移完成后的目录结构:

/home/nicky/.hermes/
├── skills/
│   ├── agent-browser/
│   ├── amap-traffic/
│   ├── wordpress/
│   ├── github/
│   ├── markdown-converter/
│   ├── ontology/
│   ├── skill-finder-cn/
│   ├── word-docx/
│   ├── nas-website-edit/
│   ├── humanizer-enhanced/
│   ├── email-receiver/
│   └── email-sender/
└── skills-config.json

所有技能和配置都在 Hermes 目录下,完全独立,不再依赖 OpenClaw。

🧪 测试验证功能正常

迁移完成后,可以测试一下关键技能是否正常工作。比如测试高德路况:

cd ~/.hermes/skills/amap-traffic/scripts
python3 amap_traffic.py "起点地址" "终点地址"

如果能正常输出路线和路况信息,说明配置读取成功,技能工作正常。

📌 总结一下

整个迁移过程其实很简单,核心就是:

  • 复制技能目录到正确位置
  • 统一集中管理配置
  • 修改读取路径
  • 测试验证

按照这个方法,我顺利把 12 个 OpenClaw 技能全部迁移到 Hermes Agent,现在可以正常使用了。Hermes Agent 的加载机制更清晰,配置管理也更灵活,使用体验很好。

希望这篇迁移指南能帮助到需要的朋友。


本文记录个人实战迁移经验,基于 Hermes Agent 最新版本测试通过

发表评论