OpenClaw
配置指南17 分钟阅读

OpenClaw + Hermes Agent 双栈部署实战:广度与深度结合的最佳架构

既要 OpenClaw 的多渠道覆盖,又要 Hermes Agent 的长期记忆和自我进化?一份完整的双栈部署实战:架构规划、资源配置、消息路由、Skills 分工、记忆隔离、成本对比,以及什么情况下你应该别这么做。

O

OpenClaw Guides

Tutorial Authors

先说结论:这篇是给谁看的

适合读这篇的人:

  • 你是团队部署场景,需要同时支持多渠道响应和深度自动化任务
  • 你已经在用 OpenClaw,但最近开始关注 Hermes Agent 的自我进化能力
  • 你有一定的 DevOps 能力,愿意维护两套系统
  • 你能说清楚"广度"和"深度"在你业务里分别是什么

不适合读这篇的人

  • 个人用户,只有 1-2 个渠道
  • 任务类型单一(只做问答,或者只做研究)
  • 没有 DevOps 能力、没有监控基础
  • 刚接触 AI Agent,两套系统都不熟

这不是谦虚,是成本效率问题。双栈不是"更好",是"更适合某些场景"。如果你不在"适合"的那栏里,第八节会告诉你该怎么选。

一、为什么不是二选一

我们在 Hermes Agent vs OpenClaw 对比 里得到一个结论:

  • OpenClaw = 广度(20+ 渠道、开箱即用的 Skills 市场、中央网关架构)
  • Hermes Agent = 深度(持久化记忆、自生成 Skills、沙箱执行、学习闭环)

这两个维度是正交的,不是 trade-off。你选 OpenClaw 不会变得"更浅",你选 Hermes 也不会变得"更窄"——它们只是解决不同层面的问题:

  • OpenClaw 解决的是**"Agent 怎么被访问"**的问题(渠道、消息协议、多人协作)
  • Hermes 解决的是**"Agent 怎么变强"**的问题(记忆、学习、隔离)

当你既需要"能在所有群里工作"需要"Agent 能长期积累经验"时,单选一个就会有明显短板。双栈部署的本质是让每个系统只做它最擅长的事:OpenClaw 做 I/O,Hermes 做大脑。

二、典型双栈架构

核心思路一句话:OpenClaw 作为统一入口接所有消息,轻任务自己处理,重任务转发给 Hermes,Hermes 结果回传后由 OpenClaw 通过原渠道回复用户

架构示意:

       ┌────────────────────────────────────────────────┐
       │         Messaging Channels (20+)               │
       │  WhatsApp / Telegram / Slack / 飞书 / 钉钉 / ...  │
       └──────────────────┬─────────────────────────────┘
                          │  incoming message
                          ▼
       ┌────────────────────────────────────────────────┐
       │         OpenClaw (Central Gateway)             │
       │  • 渠道协议适配 + 消息协议统一                    │
       │  • 会话短期记忆(最近 N 条上下文)                  │
       │  • 前置意图分类 Skill                             │
       │  • 轻任务直接响应(问答、翻译、查询)                │
       └──────────────────┬─────────────────────────────┘
                          │  forward-to-hermes
                          │  (仅携带 user_id + 任务描述)
                          ▼
       ┌────────────────────────────────────────────────┐
       │         Hermes Agent (Deep Execution)          │
       │  • 长期持久化记忆(FTS5 + LLM 总结 + 用户画像)     │
       │  • 自生成 / 自改进 Skills                         │
       │  • 沙箱执行(Docker / SSH / Modal / Daytona)    │
       │  • 重任务:研究、代码审查、长期整理、生成报告         │
       └──────────────────┬─────────────────────────────┘
                          │  result callback
                          ▼
                OpenClaw 通过原渠道回复用户

关键设计原则

  1. 消息入口唯一。用户永远只通过 OpenClaw 的渠道发消息,不会直接面对 Hermes。这样可以避免两套系统都管渠道凭据的混乱。
  2. 转发是单向触发。OpenClaw 把任务推给 Hermes 之后,Hermes 在自己的循环里干活,干完了通过回调把结果送回 OpenClaw。两者不互相读对方的数据库
  3. 会话短期记忆归 OpenClaw,长期知识归 Hermes。记忆边界必须清晰,这是第六节要重点讲的事。

三、资源规划:三种配置档位

按团队规模和预算,双栈部署有三种典型配置。

档位 A:入门级(单 VPS 同机部署)

  • 硬件:1 台 4 核 8G VPS(SSD ≥ 40GB),约 $15-25/月
  • Hermes 后端local(和 OpenClaw 共享同一台机器的文件系统和进程空间)
  • 适合:5 人以内小团队 / 个人重度用户,只是想试水双栈
  • 限制:OpenClaw 和 Hermes 抢 CPU,重任务跑起来时会拖慢渠道响应速度
  • 部署建议:用 systemd 分开管理两个进程,给 Hermes 设置 CPU quota(比如 50%)防止抢占

档位 B:进阶级(双 VPS 分离部署)

  • 硬件
    • 网关机:2 核 4G,专跑 OpenClaw,约 $10-15/月
    • 工作机:4 核 8G 或 8 核 16G,专跑 Hermes,约 $20-35/月
  • Hermes 后端SSH(网关机通过 SSH 把任务派到工作机)或 Docker(工作机上容器化 Hermes)
  • 适合:10-30 人团队 / 任务量稳定、需要资源隔离
  • 优点:网关响应速度稳定不受重任务影响;工作机可以独立扩容
  • 月度总成本:约 $30-50/月(不含 API 调用)

档位 C:企业级(OpenClaw 本地 + Hermes Serverless)

  • 硬件
    • OpenClaw:2-4 核 4-8G VPS 本地部署,约 $15-25/月
    • Hermes:用 ModalDaytona 作为 Serverless 后端,按使用付费
  • Hermes 后端Modal / Daytona,空闲时自动休眠几乎不收费,有任务时按秒计费
  • 适合:任务量波动大的团队 / 需要成本弹性的企业 / 有合规隔离需求
  • 优点:重任务跑在完全隔离的 serverless 环境,安全边界清晰;空闲时成本近乎为零
  • 月度总成本:约 $20-40 基础设施 + 按使用付费的 Serverless 调用
  • 缺点:冷启动延迟(首次任务 + 几秒),不适合对响应速度敏感的同步任务

选哪个档位的决策很简单:预算充足且任务波动大 → C;稳定中等负载 → B;先试水 → A

四、消息路由:怎么决定谁处理哪条消息

这是双栈部署的核心问题:OpenClaw 收到一条消息后,怎么判断自己处理还是转发给 Hermes

有三种常见方案,推荐组合使用。

方案 A:关键词触发

最简单的方式。在 OpenClaw 的配置里定义一组触发词,命中就转发:

json
// ~/.openclaw/openclaw.json(示意配置,实际字段以官方文档为准)
{
  "routing": {
    "forwardToHermes": {
      "enabled": true,
      "triggers": {
        "keywords": [
          "研究一下", "帮我分析", "整理", "生成报告",
          "做个总结", "research", "analyze", "deep dive"
        ]
      },
      "endpoint": "http://localhost:7788/hermes/task"
    }
  }
}

优点:零 API 成本,规则透明。 缺点:容易误判(用户说"帮我分析一下这道题"可能只是想要快速回答,不需要深度任务)。

方案 B:前置意图分类 Skill

用一个轻量模型(比如 Claude Haiku)做意图分类,返回 simpledeep

用户消息 → OpenClaw
   ↓
前置分类 Skill(Haiku,~100 tokens)
   ↓
返回: { "intent": "deep", "confidence": 0.87 }
   ↓
confidence > 0.7 且 intent = deep → 转发 Hermes
否则 → OpenClaw 直接处理

优点:准确率高,能理解自然语言意图。 缺点:每条消息都多一次 API 调用,有额外成本(但 Haiku 便宜,参考 模型成本优化指南)。

方案 C:显式指令前缀

让用户主动标记需要深度处理的任务:

@hermes 把这个月的客户反馈整理成一份分析报告
@deep 帮我研究一下这个开源项目的架构
/research Next.js 15 的 RSC 有什么新特性

优点:完全受用户控制,不会误判。 缺点:依赖用户教育,新手不会主动用。

推荐组合

关键词(A)+ 指令前缀(C)打底,复杂场景再上分类 Skill(B)

大多数团队用 A+C 就够了——明确需要深度能力的老用户会用 @hermes,普通用户说"帮我研究"也会被关键词兜住。等规模上去、误判成本变高了,再加方案 B 做兜底。

五、Skills 分工:哪些放 OpenClaw,哪些交给 Hermes

双栈部署最容易踩的坑是Skills 写两遍——同一个能力在 OpenClaw 的 ClawHub 装了一份,又在 Hermes 里让它自生成一份,最后两边都能回答但答案不一致。

判断归属的 4 条原则:

  1. 确定性强、输入输出稳定的一次性工具 → OpenClaw。翻译、天气查询、发消息通知、日程查询这类"每次都一样"的任务,用 ClawHub 现成的 Skill 最划算。
  2. 需要学习、跨会话累积知识的任务 → Hermes。代码审查(它会记住你的代码风格)、项目知识库整理、长期写作风格训练这类"越用越准"的任务,让 Hermes 自生成。
  3. 渠道相关的能力必须留在 OpenClaw。飞书机器人、企业微信接入、Slack App 这类绑定渠道协议的东西,Hermes 目前根本不支持。
  4. 需要沙箱隔离或高权限的任务必须交给 Hermes。跑不受信任的代码、处理敏感文件、执行系统命令——OpenClaw 是主进程内执行,没有沙箱概念,这类任务放 Hermes 更安全。

几个典型例子的归属建议:

任务归属理由
翻译一段文本OpenClaw确定性、一次性
查询天气OpenClaw一次性查询
发送飞书通知OpenClaw渠道相关
读取 Git 仓库做代码审查Hermes需要沙箱 + 累积项目知识
生成月度客户反馈分析报告Hermes需要长期记忆 + 多步推理
整理一个技术主题的知识库Hermes跨会话累积
定时发周报OpenClaw 触发 + Hermes 生成定时归 OpenClaw、内容归 Hermes

最后一条是典型的"混合任务"——这也是双栈架构最能发挥价值的场景。

六、记忆隔离:别让两套系统互相污染

这是双栈部署最大的坑,也是最多人做错的地方。

问题描述

如果你不做隔离,会出现这样的情况:

  • 用户在飞书问 OpenClaw:"我上周让你整理的那份产品分析在哪?"
  • OpenClaw 查自己的会话记忆,没找到(因为那份任务是 Hermes 处理的)
  • OpenClaw 又查一遍 Hermes 的记忆,找到了一份摘要
  • OpenClaw 把 Hermes 的摘要写进自己的会话历史
  • 下次 Hermes 处理新任务时,读到 OpenClaw 里有一份"摘要",以为这是权威信息,开始基于摘要推理
  • 最后两套系统互相循环引用,上下文越来越错

根本原因:两套系统都有记忆能力,没人负责"记忆源"的唯一性。

正确做法

按以下 4 条规则配置:

  1. OpenClaw 只保存会话级短期记忆historyLimit 设为 5-10,作用域是"当前对话最近的几条消息",不承担任何"用户画像"或"长期知识"。
  2. Hermes 负责所有长期记忆。包括用户偏好、项目知识、历史任务结果、自生成 Skills。这是 Hermes 的主场,不要在 OpenClaw 里复制一份。
  3. 转发任务时只带必要字段。OpenClaw 转发给 Hermes 的 payload 只包含 user_id + 当前消息 + 渠道上下文(比如群里的 @ 提及),不要把 OpenClaw 的会话历史整个塞过去——让 Hermes 从自己的长期记忆里自己拉上下文。
  4. 结果回传时不要污染 OpenClaw 的会话历史。Hermes 返回的结果,OpenClaw 只做"转述给渠道"这一个动作,不要把 Hermes 的推理过程、引用的记忆片段复制到自己的数据库。如果用户想查"上次那份报告",OpenClaw 应该调 Hermes 的 API 去拉,而不是自己存一份。

一句话总结:OpenClaw 是无状态的信使,Hermes 是唯一的记忆主。两者通过 user_id 关联,但各管各的存储。

参考 OpenClaw 配置文件最小模板 里的 historyLimit 设置,双栈场景下建议把它压得更低。

七、成本对照:双栈 vs 单栈

假设场景:小团队 10 人,日均 200 条消息,覆盖飞书 + Slack + WhatsApp 三个渠道,其中约 20% 的消息需要深度处理

粗略月度成本对比(仅供参考,实际浮动 ±30%):

方案基础设施API 调用维护时间成本总计(不含人力)
单栈 OpenClaw$15-25$50-80中等(升级 + Skills 维护)$65-105/月
单栈 Hermes$10-15$35-60低(自优化)$45-75/月,但渠道覆盖有硬缺口
双栈(档位 B)$30-50$45-70高(两套系统)$75-120/月

几个关键点:

  • 双栈不是最省钱的方案。最省钱的是单栈 Hermes——但前提是你能接受它只支持 6 个消息平台(没有飞书、钉钉、企业微信、QQ)。对中文团队来说这是硬伤。
  • 双栈的 API 成本可能比单栈 OpenClaw 低。因为 Hermes 对重复任务的学习能力会减少 token 消耗(第二次做同样的事不需要从头推理),长期看重任务的 API 成本会下降 20-40%。
  • 双栈的主要额外成本是基础设施和维护时间。如果你把运维时间也算进钱,双栈未必划算。
  • 双栈买的是"能力互补",不是"省钱"。你花多出来的 $20-30/月 买到的是"能覆盖所有渠道 有长期记忆和自我进化"的能力,这是单栈做不到的。

想进一步压成本,可以看 OpenClaw 模型选择和成本优化指南 里的按渠道路由模型和 Prompt 缓存策略——这些在双栈场景下同样适用。

八、什么情况下别这么做

最后诚实地劝退一下。以下任何一条命中,就别双栈

  1. 你是个人用户,只有 1-2 个渠道,每天聊几十条消息。双栈的运维成本会淹没你从它那里拿到的收益。
  2. 你的任务类型单一。如果 90% 以上都是问答或者 90% 以上都是深度研究,那单选对应的那套就够了。
  3. 你没有 DevOps 能力。双栈部署至少需要你会用 systemd、会看日志、能处理进程间通信的偶发故障。
  4. 你没有监控基础设施。两套系统意味着两倍的故障面,没监控的话出问题你都不知道是哪边在出。
  5. 你同时不熟悉 OpenClaw 和 Hermes。建议先把其中一套用熟,等确实遇到它解决不了的场景,再考虑引入另一套。
  6. 你追求的是"省钱"。双栈的账面成本通常比单栈高,它的价值在"能力互补"而不是"成本优化"。

如果上面任何一条命中,默认走单栈 OpenClaw——它的渠道覆盖是最大的安全区,不会错。等你遇到明确的"深度任务瓶颈"再加 Hermes 也不迟。

下一步

如果读完你确定双栈适合你:

如果你还在犹豫选型:

最后一次提醒:双栈不是技术炫耀,是当你的场景同时要求广度和深度时才有意义。如果只要一个维度,别勉强自己。