乐于分享
好东西不私藏

OpenClaw * Hermes Agent 完美结合实战手册

OpenClaw * Hermes Agent 完美结合实战手册

一、什么是 Hermes Agent?

Hermes Agent 是由 Nous Research 团队打造的开源自进化 AI 智能体。它的核心口号是”the agent that grows with you”—— 一个会与你共同成长的智能体。

与传统的 AI 工具不同,Hermes Agent 最大的特点是内置了一套完整的学习循环框架。每次任务完成后,它会主动复盘:这次执行值不值得记录下来?触发条件很具体——工具调用超过 5 次、中途出过错然后自己修复了、用户做过纠正、或者走了一条不明显但有效的路径——满足任何一条,它就会在~/.hermes/skills目录里生成一个 Skill。

打个比方:OpenClaw 是一个执行力极强的“管家”,而 Hermes Agent 是一个会越用越聪明的“大脑”。两者结合,OpenClaw 负责调度和执行,Hermes 负责深度思考和记忆。

Hermes Agent 的核心能力

能力
说明
跨会话长期记忆
通过 MEMORY.md 和 USER.md 记录任务经验和用户偏好,每次会话自动加载
自动技能沉淀
完成复杂任务后自动复盘,把有效方法固化为可复用 Skill
分层记忆系统
建立「关于你的模型」,逐渐理解你的代码风格、技术栈偏好
内置 40+ 技能
覆盖 MLOps、GitHub 工作流、自动化运维等场景
完全本地化
所有数据存储在 ~/.hermes/,不依赖云端

二、环境准备

系统要求

·Linux / macOS / WSL2

·已安装 OpenClaw(本文以阿里云 Ubuntu 22.04 4核8G 为例)

·自备大模型 API Key(本文以 DeepSeek 为例)

三、安装 Hermes Agent

3.1 执行一键安装脚本

SSH 登录服务器,执行以下命令:

curl-fsSLhttps://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh|bash

安装脚本会自动完成:克隆仓库、创建虚拟环境、安装依赖、添加命令到 PATH。

3.2 加载环境变量并验证

source ~/.bashrc# 如果使用 zsh,执行 source ~/.zshrchermes --version

看到类似Hermes Agent v0.16.0的输出版本号即表示安装成功。

3.3 配置大模型 API Key

本文以 DeepSeek 为例:

#设置provider 为 custom(通用模式)hermes configsetmodel.provider custom# 设置 DeepSeek 官方 API 地址hermes configsetmodel.base_url https://api.deepseek.com/v1# 设置 API 模式为 OpenAI 兼容hermes configsetmodel.api_mode openai# 设置你的 API Key(替换为真实 Key)hermes configsetmodel.api_key YOUR_DEEPSEEK_API_KEY# 设置默认模型(deepseek-chat 会自动指向最新 V4 版本)hermes configsetmodel.default deepseek-chat

💡其他模型配置参考:如果使用阿里云百炼,可参考官方文档配置。也可以用hermes setup交互式配置向导完成设置。

3.4 验证配置

hermes doctor

看到✓ API key or custom endpoint configured即表示配置成功。

3.5可以在cli中跟Hermes对话

四、OpenClaw 集成 Hermes(ACP 协议方式)

OpenClaw 通过ACP (Agent Client Protocol)协议调用 Hermes。核心是安装acpx插件,让 OpenClaw 能够启动并管理 Hermes 子进程。

4.1 安装并启用 acpx 插件

#安装 acpx 插件openclaw pluginsinstallacpx# 启用插件openclaw configsetplugins.entries.acpx.enabledtrue

4.2 修改 OpenClaw 配置文件

编辑~/.openclaw/openclaw.json:

nano ~/.openclaw/openclaw.json

添加或修改以下内容(注意不要破坏原有结构):

{"acp":{"enabled":true,"backend":"acpx"},"plugins":{"entries":{"acpx":{"enabled":true,"config":{"agents":{"hermes":{"command":"/usr/local/bin/hermes","args":["acp"]}}}}}}}

⚠️注意:command建议使用绝对路径(可通过which hermes查看实际路径)。

4.3 创建过滤脚本(关键!解决崩溃问题)

为什么需要这个脚本?Hermes 在 ACP 模式下会输出带颜色的进度条和特殊字符(如⚕ deepseek-chat │ 0/1M │ [░░░░░░░░░░]),这些不是合法的 JSON 格式,会导致 OpenClaw 的 acpx 插件解析失败而崩溃。

创建过滤脚本,只输出以{或[开头的纯 JSON 行:

#!/bin/bash# Hermes ACP 过滤包装脚本# 只输出有效的 ACP JSON 行,过滤掉 Hermes 的交互式美化输出export NO_COLOR=1export TERM=dumbexec hermes acp 2>/dev/null | python3 -c "import sys, jsonfor line in sys.stdin:    stripped = line.strip()    if not stripped:        continue    if stripped.startswith('{') or stripped.startswith('['):        try:            json.loads(stripped)            print(stripped, flush=True)        except json.JSONDecodeError:            continue"

这个脚本是openclaw帮我创建的,其实可以让openclaw自动安装、配置

4.4 让 OpenClaw 使用过滤脚本

openclaw config set plugins.entries.acpx.config.agents.hermes.command /usr/local/bin/hermes-acp-cleanopenclaw config set plugins.entries.acpx.config.agents.hermes.args '[]'

4.5 重启 OpenClaw Gateway

openclaw gateway restart

检查服务状态:

openclaw gateway status

五、验证集成是否成功

5.1 在 OpenClaw Control UI 中测试

在浏览器打开 OpenClaw Control UI(默认http://你的IP:18789),新建对话,输入:

/acp spawn hermes --mode oneshot --bind here

然后发送消息,例如:

你好,请简单介绍一下自己

如果收到 Hermes 的回复(而不是 OpenClaw 自己回答),说明集成成功!🎉

5.2 检查 ACP 后端健康状态

在 UI 中输入:

/acp doctor

应显示healthy: yes和registeredBackend: acpx。

六、⚠️ 常见踩坑与异常排查

坑 1:/acp spawn 报 ACP_BACKEND_MISSING

原因:plugins.allow白名单未包含acpx,或者 acpx 插件未启用。

解决方案:

# 移除 plugins.allow 限制(或确保包含 acpx)openclaw config unset plugins.allow# 确保 acpx 已启用openclaw config set plugins.entries.acpx.enabled trueopenclaw gateway restart

坑 2:OpenClaw 执行 /acp spawn 后崩溃

原因:Hermes 输出了带颜色的进度条和特殊字符,acpx 解析 JSON 失败。

日志特征:

Failed to parse JSON message: ⚕ deepseek-chat │ 0/1M │ [░░░░░░░░░░] 0%

解决方案:确保使用了 4.3 节创建的过滤脚本hermes-acp-clean,并且 OpenClaw 配置中的command指向该脚本。

坑 3:修改配置后重启,配置被 doctor –fix 恢复

原因:openclaw doctor –fix会从“已知良好”的备份中恢复配置。

解决方案:

·手动编辑配置文件后,不要再运行doctor –fix

·日常只使用openclaw doctor(不带–fix)查看状态

·如果 JSON 格式错误,先用doctor –fix修复,再手动删除 hermes 相关内容

坑 4:JSON 配置文件语法错误

症状:

JSON5: invalid end of input at 574:1

解决方案:

# 先用 doctor --fix 恢复合法 JSONopenclaw doctor --fix# 然后手动编辑,删除 hermes 相关内容nano ~/.openclaw/openclaw.json# 验证 JSON 格式python3 -c "import json; json.load(open('/root/.openclaw/openclaw.json'))"

坑 5:hermes 命令找不到

原因:环境变量未加载或安装未完成。

解决方案:

source ~/.bashrc# 或重新执行安装脚本

坑 6:Hermes 回复很慢或超时

可能原因:

·网络问题或 API 额度不足

·模型选择较慢(可换deepseek-v4-flash)

解决方案:

hermes config set model.default deepseek-v4-flash

七、让 OpenClaw 自动调度 Hermes(终极目标)

一旦集成成功,你不需要每次手动输入/acp spawn。OpenClaw 会智能判断何时需要调用 Hermes。

你只需像这样对 OpenClaw 说话:

“让 Hermes 帮我分析一下茅台最近一周的股价走势”

OpenClaw 内部会调用sessions_spawn启动 Hermes 并完成任务。

在定时任务中调用 Hermes

openclaw acp run --agent hermes --mode oneshot --message "分析当前A股市场表现"

注意:如果你的 OpenClaw CLI 不支持acp run,OpenClaw 的 UI 对话方式同样可以实现自动调度。

八、如何卸载 Hermes Agent

如果将来不再需要 Hermes,可以按以下步骤彻底卸载。

8.1 停止 Hermes 进程(如果正在运行)

pkill -f hermes

8.2 删除 Hermes 安装目录

sudo rm -rf /usr/local/lib/hermes-agent

8.3 删除 Hermes 配置和数据(记忆、技能等)

rm -rf ~/.hermes

8.4 删除命令符号链接

rm -f ~/.local/bin/hermes

8.5 从 OpenClaw 中移除 Hermes 集成

方法一:禁用 acpx 插件(推荐)

openclaw config set plugins.entries.acpx.enabled falseopenclaw gateway restart

方法二:彻底卸载 acpx 插件

openclaw plugins uninstall acpxopenclaw gateway restart

8.6 清理 OpenClaw 配置中的 hermes Agent(如果有)

编辑~/.openclaw/openclaw.json,删除agents.list中id: “hermes”的条目,以及defaultAgent中指向”hermes”的配置。

8.7 验证卸载结果

hermes --version# 应提示 command not foundps aux | grep hermes# 除了 grep 本身,不应有其他进程

九、总结

步骤
关键命令
安装 Hermes
curl -fsSL ... | bash
配置 API
hermes config set model.api_key YOUR_KEY
安装 acpx 插件
openclaw plugins install acpx
创建过滤脚本
cat > /usr/local/bin/hermes-acp-clean ...
配置 OpenClaw
修改 ~/.openclaw/openclaw.json
验证集成
/acp spawn hermes --mode oneshot --bind here
卸载 Hermes
rm -rf /usr/local/lib/hermes-agent ~/.hermes

祝你玩得开心!🚀