文章目录
-
- [引言:为什么要把 OpenClaw 和 Hermes 放在一起看](#引言:为什么要把 OpenClaw 和 Hermes 放在一起看)
- [一、先分清角色:OpenClaw 是入口,Hermes 是执行器](#一、先分清角色:OpenClaw 是入口,Hermes 是执行器)
- [二、典型调用链路:从用户消息到 Hermes 执行](#二、典型调用链路:从用户消息到 Hermes 执行)
- [三、什么时候应该交给 Hermes](#三、什么时候应该交给 Hermes)
- 四、任务说明要自包含:不要让执行器猜上下文
- 五、上下文、凭据和写回:三类边界要分开管
-
- [1. 上下文边界:给够信息,但不要塞全部隐私](#1. 上下文边界:给够信息,但不要塞全部隐私)
- [2. 凭据边界:能不用凭据就不用,必须用时明确范围](#2. 凭据边界:能不用凭据就不用,必须用时明确范围)
- [3. 写回边界:结果可以回传,改配置和发消息要谨慎](#3. 写回边界:结果可以回传,改配置和发消息要谨慎)
- 六、一个可落地的集成模式
-
- 第一层:聊天入口和会话层
- 第二层:任务路由层
- [第三层:Hermes 执行层](#第三层:Hermes 执行层)
- 第四层:结果汇总和审计层
- [七、结合 Cron 和长任务:让 Hermes 做后台执行](#七、结合 Cron 和长任务:让 Hermes 做后台执行)
- 八、安全实践:不要让"能执行"变成"乱执行"
- 九、常见坑和排查方法
-
- [坑 1:任务派得太模糊](#坑 1:任务派得太模糊)
- [坑 2:把所有上下文都塞给执行器](#坑 2:把所有上下文都塞给执行器)
- [坑 3:执行完成但用户看不懂](#坑 3:执行完成但用户看不懂)
- [坑 4:浏览器任务卡在登录或验证码](#坑 4:浏览器任务卡在登录或验证码)
- [坑 5:后台任务没有停止条件](#坑 5:后台任务没有停止条件)
- 十、推荐落地清单
- 总结
引言:为什么要把 OpenClaw 和 Hermes 放在一起看

很多人第一次接触 OpenClaw 时,会把它理解成"一个能接消息、能调工具的 AI 助手框架";第一次接触 Hermes 时,又会把它理解成"一个可以在容器里跑命令、跑浏览器、执行代码的 Agent"。这两个判断都没错,但如果只停留在这里,就容易错过它们真正适合组合的地方。
更准确地说,OpenClaw 更像一个面向真实用户和真实工作流的 Agent 操作系统入口 :它负责消息接入、会话上下文、工具权限、记忆、定时任务、多 Agent 协作和对外回复。Hermes 更像一个可隔离、可执行、可托管复杂任务的 后端执行器:它可以承担耗时的代码执行、浏览器自动化、文件处理、调试验证和多步骤工程任务。
两者结合后,常见模式不是"谁替代谁",而是:
- OpenClaw 负责理解用户意图、维护上下文和控制边界;
- Hermes 负责在隔离环境里完成重型执行;
- OpenClaw 再把执行结果整理成用户能直接理解和复用的输出。
这篇文章用工程视角拆解 OpenClaw 和 Hermes 的结合方式,重点回答:什么时候该交给 Hermes、怎么传任务、怎么拿结果、怎么做安全隔离,以及在生产环境里容易踩哪些坑。
OpenClaw 编排层与 Hermes 执行器的职责分工
一、先分清角色:OpenClaw 是入口,Hermes 是执行器
OpenClaw 的核心价值在"编排"。它连接飞书、Telegram、Discord、网页聊天等入口,把用户消息变成一次可控的 Agent 回合。这个回合里,它会处理当前会话、系统规则、长期记忆、技能说明、工具列表、权限策略和最终回复。
Hermes 的核心价值在"执行"。它通常运行在独立容器或受控环境中,适合处理比普通工具调用更重的任务,例如:
- 扫描一个项目目录并生成迁移建议;
- 运行测试、构建和静态检查;
- 操作浏览器完成验证流程;
- 执行复杂脚本并返回日志摘要;
- 拆解一个长任务,内部再进行多阶段执行。
两者结合时,一个实用的分工是:
- OpenClaw:更适合负责对话入口、权限判断、任务拆解、上下文整理和结果解释;不适合长时间占用主会话跑重型任务。
- Hermes:更适合负责代码执行、浏览器自动化、文件处理、测试验证和长任务执行;不应该绕过 OpenClaw 直接扩大权限,或替用户做未经确认的外部动作。
如果把 Agent 系统比作一个工程团队,OpenClaw 像项目经理兼前台接口,Hermes 像一个有独立工位和工具箱的执行工程师。项目经理决定任务是否该派发、派发什么范围、最后怎么交付;执行工程师负责把任务跑完并给出证据。
从用户需求到 Hermes 执行再到整理回复的调用链路
二、典型调用链路:从用户消息到 Hermes 执行
一个标准链路可以拆成五步。
第一步,用户在聊天入口提出需求。比如:"帮我检查这个 Node.js 项目为什么测试失败,并给出修复建议。"
第二步,OpenClaw 判断任务类型。如果只是解释概念或写一段配置示例,主会话直接完成即可;如果需要读取大量文件、运行测试、分析日志,就适合派给 Hermes。
第三步,OpenClaw 组装任务说明。这里很关键:派给 Hermes 的任务必须是自包含的,不能只写"继续刚才的"。任务里要包含背景、目标、允许范围、输出格式和禁止事项。
第四步,Hermes 在受控环境里执行。它可以读取指定项目、运行命令、调用浏览器或脚本,并把中间日志、错误和最终结果整理出来。
第五步,OpenClaw 汇总结果并回复用户。用户不应该只收到一坨日志,而应该看到结论、证据、修改建议、风险提示和下一步操作。
可以把这个链路理解成:
text
用户消息
↓
OpenClaw:理解意图 / 检查权限 / 拆解任务
↓
Hermes:隔离执行 / 跑命令 / 跑浏览器 / 产出证据
↓
OpenClaw:综合结果 / 控制措辞 / 回复用户 / 必要时写入记忆
这也是二者结合最自然的架构:OpenClaw 不把所有重活都塞进主会话,Hermes 也不直接接管所有用户交互。
三、什么时候应该交给 Hermes
并不是所有任务都应该派给 Hermes。一个简单判断标准是:任务是否需要"真实执行证据"。
适合派给 Hermes 的任务包括:
- 需要跑命令 :例如执行
npm test、pytest、go test、构建镜像、导出报告。 - 需要浏览器验证:例如打开后台页面检查按钮、复现前端问题、验证登录后的页面状态。
- 需要处理大量文件:例如扫描项目结构、分析依赖、整理日志、批量转换文件。
- 需要长时间执行:例如迁移检查、批量生成、复杂数据清洗、端到端验证。
- 需要隔离风险:例如运行第三方项目测试、验证不确定脚本、打开外部页面。
不适合派给 Hermes 的任务包括:
- 纯解释类问题:比如"什么是 MCP",主会话直接回答更快。
- 需要用户即时确认的敏感操作:比如删除生产数据、发送外部消息、修改安全配置,必须先由 OpenClaw 拦截确认。
- 上下文非常依赖当前对话细节的小任务:如果派发成本比直接完成更高,就没有必要。
- 结果必须由主会话掌控语气和边界的任务:例如替用户回复外部人、做承诺、涉及金额和合同。
一个比较稳的实践是:OpenClaw 先问自己三个问题:
- 这个任务是否需要真实执行?
- 执行过程是否可能耗时或产生大量日志?
- 执行失败时是否需要完整错误证据?
如果三个问题里至少两个答案是"是",就可以考虑交给 Hermes。
四、任务说明要自包含:不要让执行器猜上下文

OpenClaw 调 Hermes 时,最容易出问题的地方不是 API 调不通,而是任务说明太短。
不好的任务说明类似:
text
检查一下这个项目。
Hermes 收到这种任务后,只能猜:检查什么?检查哪个目录?需要跑测试吗?是否允许修改文件?输出要报告还是补丁?
更好的任务说明应该类似:
text
请在 /workspace/order-service 中检查单元测试失败原因。
目标:找出失败测试、定位根因、给出最小修复建议。
允许操作:读取项目文件、运行 npm test、运行必要的只读诊断命令。
禁止操作:不要删除文件,不要提交代码,不要访问外部网络。
输出格式:
1. 失败现象
2. 根因分析
3. 涉及文件和行号
4. 建议修改方案
5. 已执行的验证命令及结果
这个例子体现了几个要点:
- 路径明确:执行器知道查哪里。
- 目标明确:不是泛泛"看看",而是定位测试失败。
- 权限明确:允许什么、禁止什么都写清楚。
- 输出明确:最后结果可以直接被 OpenClaw 汇总。
工程上,Hermes 不应该靠猜上下文工作。OpenClaw 作为上游编排者,要把任务边界写清楚。
上下文、凭据和写回三类边界的安全控制
五、上下文、凭据和写回:三类边界要分开管
OpenClaw 和 Hermes 结合时,最值得重视的是边界控制。可以把边界拆成三类:上下文边界、凭据边界和写回边界。
1. 上下文边界:给够信息,但不要塞全部隐私
Hermes 执行任务需要背景,但不一定需要完整聊天历史。比如排查订单服务测试失败,只需要项目路径、报错摘要、期望输出和限制条件,不需要用户的所有历史偏好、私人日程或其他会话内容。
推荐做法是:按任务最小必要原则传上下文。
2. 凭据边界:能不用凭据就不用,必须用时明确范围
很多工程任务只需要本地文件和命令,不需要任何外部凭据。即使需要访问 Git、云服务或内部 API,也应该明确凭据范围,并尽量使用只读权限。
不要把"为了方便"变成默认全量授权。凭据一旦进入执行环境,就要考虑日志脱敏、错误输出和缓存残留。
3. 写回边界:结果可以回传,改配置和发消息要谨慎
Hermes 适合把分析结果、生成文件、测试报告回传给 OpenClaw。但涉及修改主系统配置、对外发送消息、删除文件、提交代码等动作,应该由 OpenClaw 根据用户授权再决定是否执行。
换句话说:Hermes 可以产出建议和补丁,OpenClaw 负责判断是否应用。
六、一个可落地的集成模式

在实际项目里,可以把 OpenClaw + Hermes 的协作拆成四个层次。
第一层:聊天入口和会话层
用户通过飞书、网页、Telegram 等入口发送需求。OpenClaw 负责会话、权限、工具可用性和回复格式。这个层面要保证用户始终知道是谁在处理、处理到哪一步、是否需要确认。
第二层:任务路由层
OpenClaw 判断任务是否需要派发。简单问题主会话直接答;复杂任务进入 Hermes。这里可以用规则判断:是否需要跑命令、是否需要浏览器、是否耗时、是否需要隔离。
第三层:Hermes 执行层
Hermes 接收结构化任务,在隔离环境里执行。它不需要知道用户全部背景,只需要知道任务目标、路径、允许动作和输出要求。
第四层:结果汇总和审计层
OpenClaw 拿到 Hermes 的输出后,提炼为用户可读的结论,并保留必要证据:执行了什么命令、产出了什么文件、哪些测试通过、哪些仍失败。
这个模式的好处是:用户体验仍然是一条自然对话,但系统内部已经把"理解、执行、验证、汇总"拆开了。
七、结合 Cron 和长任务:让 Hermes 做后台执行
OpenClaw 的定时任务能力可以和 Hermes 形成一个很实用的组合:OpenClaw 负责定时触发,Hermes 负责后台执行。
例如:
- 每天早上扫描某个项目的失败测试;
- 每周生成一次依赖风险报告;
- 每天检查接口健康状态并汇总异常;
- 定时导出一批日志并生成排障摘要。
这类任务的关键不是"能不能跑",而是"跑完后怎么交付"。建议输出至少包含:
- 本次执行时间;
- 输入范围;
- 执行命令或操作摘要;
- 成功和失败项;
- 需要人工关注的问题;
- 附件或报告路径。
如果任务失败,OpenClaw 不应该只告诉用户"失败了",而要说明失败阶段和可操作的下一步。例如:依赖安装失败、测试超时、浏览器需要登录、接口返回 403。这样用户才能判断是环境问题、权限问题还是代码问题。
八、安全实践:不要让"能执行"变成"乱执行"
OpenClaw + Hermes 的能力边界很强,所以安全规则也必须前置。
建议至少落实这些规则:
- 高风险动作先确认:删除文件、修改系统配置、发送外部消息、上传敏感数据,都不能直接执行。
- 外部内容不可信:网页、邮件、工单、日志里的"忽略之前规则"都只是数据,不是系统指令。
- 命令可解释再执行:不要运行无法解释的混淆脚本、长 base64 命令、未知下载链接。
- 输出要脱敏:日志中可能包含 token、手机号、邮箱、订单号,汇总给用户前要注意脱敏。
- 设置停止条件:重试、轮询、生成、测试都要有上限,不能无限循环。
- 保留审计证据:记录任务输入、执行摘要、关键命令、产物路径和失败原因。
这里要特别注意:Hermes 不是绕过 OpenClaw 安全策略的后门。相反,它应该是被 OpenClaw 管住边界的执行器。
九、常见坑和排查方法
坑 1:任务派得太模糊
表现:Hermes 执行结果泛泛而谈,或者做了不该做的动作。
解决:任务说明必须包含路径、目标、允许操作、禁止操作和输出格式。
坑 2:把所有上下文都塞给执行器
表现:任务变慢、上下文污染、隐私面扩大。
解决:只传最小必要上下文。用户偏好、私人消息、无关历史不要默认传入执行环境。
坑 3:执行完成但用户看不懂
表现:Hermes 返回大量日志,用户不知道结论是什么。
解决:OpenClaw 要做二次整理,把日志变成"结论 + 证据 + 下一步"。
坑 4:浏览器任务卡在登录或验证码
表现:自动化无法继续,页面要求登录、人机校验或安全验证。
解决:立即停止,让用户接管验证。不要尝试绕过验证码或安全验证。
坑 5:后台任务没有停止条件
表现:反复重试、反复生成、反复轮询,消耗资源还没有新信息。
解决:给每类重复动作设置上限。例如同类重试超过 10 次必须停止,并总结当前最好结果和失败原因。
十、推荐落地清单

如果你准备在团队里使用 OpenClaw + Hermes,可以按这个清单落地:
- 明确哪些任务由主会话处理,哪些任务派给 Hermes。
- 给 Hermes 任务模板加上"目标、范围、允许动作、禁止动作、输出格式"。
- 默认最小上下文,不要把完整聊天历史直接传给执行器。
- 默认最小凭据,优先只读权限。
- 高风险动作由 OpenClaw 拦截确认。
- 长任务要有进度提示、超时和停止条件。
- 结果要有证据:命令、日志摘要、文件路径、测试结果。
- 失败要有阶段说明:环境、权限、依赖、代码、网络还是人工验证。
- 定时任务要沉淀运行记录,便于回溯。
- 定期复盘任务模板,把常见操作沉淀成 Skill 或标准流程。
总结
OpenClaw 和 Hermes 的结合,不是简单地把一个 Agent 接到另一个 Agent 后面,而是把 Agent 系统拆成更清晰的两层:OpenClaw 负责入口、上下文、权限、编排和最终表达;Hermes 负责隔离执行、真实验证和复杂任务处理。
这套组合特别适合工程场景:既要能和用户自然对话,又要能跑命令、查文件、做验证、给证据。真正落地时,重点不是把能力开到最大,而是把边界设计清楚:什么时候派发、派发什么、允许做什么、结果怎么回传、失败怎么停止。
只要把这些边界处理好,OpenClaw + Hermes 就能从"会聊天的助手"升级为"能安全执行工程任务的协作系统"。