适用人群:第一次接触
OpenClaw/Hermes,想快速看懂差异、做选型、不踩坑。
**OpenClaw:**偏本地与可控编排 | **Hermes:**偏在线与持续运营
小龙虾和爱马仕怎么选?是不是很多朋友都有这个疑惑。其实很多朋友第一次看 OpenClaw 和 Hermes,会有同一个感受:
“都能接微信/飞书/Telegram,都能调模型、调工具,那到底差别在哪?又该如何选呢?”
大家好,我是寒山!今天用一张图 + 源码视角,把差异讲清楚,并给你一套可直接照搬的选型方法。
前言
先给结论
-
**更适合选 OpenClaw:**本地个人助手、强控制感、与 OpenClaw 生态深度一致。
-
**更适合选 Hermes:**云端长期在线、越用越聪明、适合持续运营。
一句话类比:
-
OpenClaw 像一台你自己改装得很强的「私人工作站」。
-
Hermes 像一个可以长期驻场、持续学习的「线上智能同事」。
一、先把概念讲白:它们都在做什么?
无论 OpenClaw 还是 Hermes,核心流程都差不多:
-
用户在某个平台发消息(比如飞书/Telegram)。
-
Gateway 收到消息:鉴权、路由、会话绑定。
-
Agent Loop 组织上下文,调用模型。
-
若模型要求调用工具:执行工具 → 结果回填 → 继续推理。
-
最后把回复发回用户。
你可以把它理解成“客服系统 + 大脑 + 工具箱”的组合。
二、源码里真正不同的地方
1) 谁在当“总指挥”?
OpenClaw:编排层是主角
在 openclaw-main/src/agents/pi-embedded-runner/run/attempt.ts 里,能看到它把很多能力拆成了可组合模块:
系统提示、技能注入、上下文压缩、MCP 工具接入、沙箱策略、流式输出、超时恢复……
这意味着 OpenClaw 更像“精细化控制中心”:
每一段流程都有明确挂点,适合希望“每个开关都可管”的团队。
Hermes:主循环是主角
在 hermes-agent-main/run_agent.py 里,核心回合逻辑更集中:
多轮 tool_calls、并行/串行执行、失败重试、上下文压缩都在主循环中强驱动。
这意味着 Hermes 更像“强执行中枢”:
想快速做“连续任务推进”,它会更直接。
2) 记忆和技能,谁更“主动学习”?
OpenClaw:技能管理工程化、可控性强
在 openclaw-main/src/agents/skills.ts 及 skills/* 目录可看到:
技能加载、过滤、frontmatter、配置注入、命令映射都比较规范,偏“工程治理”。
简单说:你可以精细控制“什么技能能进来、怎么进来”。
展开:把“工程化注入”讲透(加载 / 过滤 / frontmatter / env 覆盖)
很多同学看到这几个词会懵,这里用一个最小例子解释。
先看 frontmatter 是什么:
就是写在 SKILL.md 顶部的结构化元数据(通常是 YAML),给系统读,不是给人看的正文。
一个简化例子(示意):
---name: deploy-helperdescription: 帮我执行发布前检查---# 使用说明1. 先检查分支2. 再检查测试
系统会做四步:
1) 加载(load)
-
从技能目录扫描
SKILL.md(OpenClaw 在skills/workspace、本地/插件技能目录等来源聚合)。 -
读取正文 + frontmatter,形成技能条目(名字、描述、来源、元信息)。
2) 过滤(filter)
-
按配置决定是否启用:例如技能开关、允许列表、agent 级 skills 过滤、平台约束等。
-
被禁用或不匹配条件的技能,不会进最终 prompt,也不会暴露成可用命令/能力。
3) frontmatter 解析(frontmatter parse)
-
把结构化字段(如
name、description、命令映射相关字段)解析出来。 -
这些字段会影响:技能名、展示描述、命令映射、以及后续注入行为。
4) env 覆盖(env override)
-
不是“随便改系统环境变量”,而是按技能配置与安全规则,注入允许的变量到运行上下文。
-
在 OpenClaw 里这部分由
skills/env-overrides.ts处理,并有拦截逻辑,避免危险变量覆盖运行时核心行为。 -
所以你可以理解成:“可控地给技能补配置”,不是“放开权限任意改环境”。
一句话总结这个链路:
先收集技能 -> 再按规则筛选 -> 再读元数据组织成可调用能力 -> 最后在安全边界内注入必要配置。
Hermes:记忆 + 技能直接嵌入主行为
在 hermes-agent-main/agent/memory_manager.py,记忆管理被抽象为 provider,且限制“内建 + 一个外部”来降低冲突。
在 agent/prompt_builder.py,记忆策略、技能策略、平台提示会被系统化注入每一轮。
简单说:Hermes 更强调“边做边沉淀经验,下次直接复用”。
3) Gateway 的“性格”不同
OpenClaw Gateway:像本地助手中枢
OpenClaw 的 gateway + tools 一体化很强(见 openclaw-main/src/agents/openclaw-tools.ts),
会根据运行模式、沙箱、模型能力动态裁剪工具。
适合:你把它当“自己桌面/设备体系的一部分”来用。
Hermes Gateway:像在线服务守护进程
Hermes 的 gateway/run.py 非常重视运行期治理:
锁、重启接管、状态恢复、多平台连接稳定性、审批通路等。
适合:你把它当“持续在线服务”来运营。
三、给小白的三个真实例子
例子 A:你想做“自己的个人工作助理”
需求:
“我在微信或飞书给它发一句话:‘帮我整理今天待办,顺手去项目目录改个文件,再回我结果。’”
更适合:OpenClaw
原因:
-
本地工具链、工作区、权限策略更容易统一管理。
-
会话和工具编排颗粒细,遇到“要控权限”的情况好处理。
-
对“我就是想在自己机器上稳定跑”的场景更自然。
例子 B:你要做 7x24 在线机器人
需求:
“机器人要一直在线,白天处理群消息,晚上跑日报,还要偶尔切换模型降成本。”
更适合:Hermes
原因:
-
网关守护和长跑能力更强。
-
云端部署路径更成熟(VPS/容器等)。
-
持续运行时的状态管理和恢复链路更完整。
例子 C:你希望它“越用越懂你”
需求:
“我不想每周重复教它同样流程,希望它逐步记住我的偏好和方法。”
更适合:Hermes(优先)
原因:
-
记忆管理在主循环里是核心能力,不是旁路。
-
技能沉淀和后续复用的设计目标很明确。
-
更偏向持续演化的使用方式。
四、怎么选才不踩坑:三步法
你只要按这三步做,很难选错。
-
先问自己:主战场是 本地个人效率 还是 在线持续运营?
-
再问自己:你更在意 精细控制 还是 持续学习进化?
-
最后做测试,看四个指标:
成功率、平均响应时延、人工介入次数、维护时长。
谁在你的真实任务里更省心,就选谁,不要只看功能清单。
五、最后一句话
OpenClaw 和 Hermes 不是“谁替代谁”,而是“同类问题的两种工程答案”。
看清你的主场景,你就会发现选型并不难。
更多的AI内容,我们下期再分享!