乐于分享
好东西不私藏

Hermes+OpenClaw部署双Agent协作实战:一个总漏步骤,一个稳如老狗

Hermes+OpenClaw部署双Agent协作实战:一个总漏步骤,一个稳如老狗

Hi,我是执着于持续分享NAS、AI、数码、家电、软件技巧相关知识,坚持创作有深度、高质量作品的博主 设计虱聊科技。期待您的关注。


工作中经常写报告,现在 OpenClaw、Hermes 等 AI 助手大火,为了心疼自己,当然不可避免的要借助 AI 助手来帮忙。

在用了一个月 OpenClaw、两个月 Hermes 后,发现一个问题:当自动化流程越来越细、路径越来越长,LLM 注意力不够的弊端就开始显现了。

明明 Skill 里规定的很清楚,AI 助手就是当看不见,不是漏掉这步,就是跳过那步。次数多了,就很耗心神。

折腾了几个月,我终于下定决心解决这个问题。

既然根源是: LLM 对长流程的执行极不稳定。同样的十几步流程,每次都要”重新理解”一遍,出错是早晚的事。

那就换个思路: 给 Hermes 找个小弟,让 Hermes 专注于统筹工作,把固定流程交给小弟执行。

于是我搭了一套双 Agent 系统:Hermes负责思考和分析,OpenClaw 负责执行和自动化


✿ 如何分工

先说单Agent的问题:

漏步

长流程LLM每次都要再理解一遍,经常漏中间环节。

出错没法排查

决策错了还是执行错了?全混在一起。

双Agent怎么解决:

Hermes
专做统筹、判断、分析,这些需要”想”的事
OpenClaw
专做截图、缩放、归档,这些步骤固定的事
出错定位
决策问题Hermes负责,执行问题OpenClaw负责
为什么我选了 OpenClaw 搭配?

当然是根据这两个工具的设计思路和特点进行分工。

(1)Hermes 的核心能力是陪伴成长的伙伴

Hermes 自动进化的技能系统、跨会话的经验沉淀,我还给他配了 Hindsight 这种长期记忆系统。

这种积累让他越来越了解我们的喜好、风格,决策也就越来越接近我们的要求。

但伙伴变聪明的代价是机械遵循性不足,执行长流程就容易丢步骤。

所以 Hermes 适合做“领导”,让他统筹全局,做脑力活。

(2)OpenClaw 的核心能力是确定性执行

OpenClaw 不会自己改动 skills,相对稳定。加上我们让他作为 Hermes 的小弟,它跑的一般是 Hermes 指定给他的相对简单的脚本和命令,同样的输入能给出同样的输出。

比如截图工作就指定用 Playwright,缩放工作就指定用 ffmpeg,上传工作就指定用 rclone——OpenClaw 只是听 Hermes 的指令按要求调用这些工具,不会”忘记”某个步骤。

所以 OpenClaw 适合做“员工”,让他一线工作,做体力活。

(3)分工既是减轻压力,也是各取所长

分工后,Hermes 减轻了压力,出错的机会变小;OpenClaw 任务简单,有利于忠实执行。

所以分工的本质不是谁强谁弱,而是各用各的长板:Hermes越用越懂你,OpenClaw越跑越稳定。由于 OpenClaw 执行的任务比较简单,他不会自动进化就变成了优点——稳定。


✿ 环境准备

1. Hermes部署

Hermes 的 Docker Compose 配置:

services:  hermes:    image: nousresearch/hermes-agent:latest    container_name: hermes    restart: unless-stopped    command: gateway run    networks:      - Agents-Network  # 容器内通信网络,OpenClaw也要设置同名网络,名称自选    environment:      - PATH=/opt/hermes/.venv/bin:/usr/local/bin:/usr/bin:/bin      - TZ=Asia/Shanghai      - UMASK=000    # 解决权限问题,方便协作      - API_SERVER_ENABLED=true      - API_SERVER_HOST=0.0.0.0    # 方便局域网设备访问      - API_SERVER_PORT=8642      - API_SERVER_KEY=16位密码  # 设置16位以上密码    stdin_open: true    tty: true    volumes:      - ./opt/data:/opt/data   # Hermes配置目录      - /volume1/AgentWork:/volume1/AgentWork  # 挂载与 OpenClaw 共享工作目录,方便两个 Agent 交换文件,目录路径和名称自选,提前创建好。冒号后面的容器内目录路径建议与冒号前面的NAS映射目录保持一致,方便后期自然语言描述时对应。    ports:      - "8642:8642"    deploy:      resources:        limits:          memory: 8G          cpus: "2.0"          networks:  Agents-Network:    external: true
为了看起来更清晰,我把 Hindsight、Dashboard 等与本文无关的功能内容删掉了,大家如果需要这些功能的话,可以参考我的往期文章。
在NAS上部署Hermes|手把手教程&踩坑总结
NAS本地部署Hindsight:立减$20/月,Hermes的进阶记忆系统+本地向量模型搭建全流程实录
Hermes 桌面端远程连接 NAS 端实战:NAS上的 AI 助手,在桌面端也随时等候指令
2. OpenClaw部署

OpenClaw 的 Docker Compose 配置:

services:  openclaw:    image: ghcr.io/openclaw/openclaw:latest    container_name: openclaw-gateway    restart: unless-stopped    networks:      - Agents-Network    # 容器内通信网络,Hermes也要设置同名网络,名称自选    ports:      - "18789:18789"    command: ["openclaw""gateway""run""--allow-unconfigured"]      environment:      - TZ=Asia/Shanghai      - OPENCLAW_PORT=18789      - OPENCLAW_HOST=0.0.0.0    # 方便局域网设备访问      - UMASK=000    # 解决权限问题,方便协作      - OPENCLAW_GATEWAY_TOKEN=密码    # 替换成自己的密码      # 模型配置(环境变量有效)      - SYNC_MODEL_CONFIG= true      - MODEL_ID=模型名称    # 替换可用模型名称      - BASE_URL=模型地址    # 替换可用模型Base地址      - API_KEY=模型API Key    #替换可用模型API Key      - MODEL_REASONING=true      - API_PROTOCOL=openai-completions      - CONTEXT_WINDOW=200000      - MAX_TOKENS=8192    volumes:      - ./config:/home/node/.openclaw  # OpenClaw配置目录      - /volume1/AgentWork:/volume1/AgentWork    # 挂载与 Hermes 共享工作目录,方便两个 Agent 交换文件,目录路径和名称自选,提前创建好。冒号后面的容器内目录路径建议与冒号前面的NAS映射目录保持一致,方便后期自然语言描述时对应。    deploy:      resources:        limits:          memory: 4G          cpus: "2.0"networks:  Agents-Network:      external: true
3. 协作目录、权限问题

两个Agent怎么共享文件?我在NAS上建了一个AgentWork目录:

我之前试过把 OpenClaw 和 Hermes 的配置目录互相挂载来解决协作问题,但是因为 Hermes  和 OpenClaw 的默认用户 ID 不一样,所以互相挂载后也没有权限读写对方的目录和文件。

我还试过修改他们的用户 ID、加入用户组等方法,发现两个 Agent 的最新版本修改 user 或者 group 参数后,都会导致启动异常。

所以我只能新建个共享协作目录,在 Hermes 和 OpenClaw 的 Docker Compose 中设置 UMASK=000,并把协作目录权限设置为 777 来解决协作问题。大佬们如果有其他办法的话还请告知。

对了,说到这里,最好把 NAS 映射路径、Hermes 容器内路径、OpenClaw 容器内路径的对应关系,给 Hermes 和 OpenClaw 交代好,避免他们以后搞混。

4. 通信方式

Hermes 调用 OpenClaw 用的是 OpenResponses API,告诉 Hermes 调用地址就行:http://NAS_IP:18789,Hermes 会自动开始测试。

OpenClaw 执行完后,结果通过 API 返回给 Hermes 。两个 Agent 走内网通信(Agents-Network),延迟很低。也不用在群里相互@,增加 Token 消耗。


✿ 总结

双 Agent 协作跑了一个星期,我最大的感受不是效率提升了多少,而是终于不用当保姆了

以前一个Agent干所有事,我得盯着它每一步有没有漏,因为大概率会漏。

现在和 Hermes 梳理好思路,让他指挥 OpenClaw 老老实实走完后续流程,我只需要看一眼最终结果。

这个思路其实不限于 Hermes + OpenClaw。Hermes 本身还支持调用其他 Agent。

写代码可以派给Codex,做调研可以同时派两个子Agent分头搜索再汇总。本质都是同一个模式:Hermes当调度中心,专项任务交给专项工具

没有万能的 Agent,我们尽量做到“知人善任”。一个 Agent 搞不定的事,就多找几个 Agent 做。有没有感觉,越来越像是开公司管员工了。


坚持创作有深度、高质量的作品、致力于分享干货、抵制标题党和网络垃圾,是我的座右铭。

关注我,蹲后续。您的支持对我真的很重要O(∩_∩)O)。让我们共同打造互联网内容创作和知识分享的一股清流!ヾ(◍°∇°◍)ノ゙

#Hermes #OpenClaw #NAS #双Agent  #工作流 #AI助手 #多Agent