Hermes 官方最近连发的 4 个隐藏技巧:省 Token、浏览器、Cron、容错一次讲清


你可能以为 Hermes 最近的大新闻就是 v0.20.4 的半透明窗口——其实官方在过去的四天里,还悄悄合入了一批没有发布会、没有宣传图的功能:它们藏在提交记录里,每一个都能实打实帮你省钱、省事、少踩坑。这篇文章把其中最有价值的 4 个一次讲清:省 Token、操作浏览器、Cron 增强、搜索容错。

技巧一:省 Token——Muse Spark 用户的缓存全面开启

如果你用 Meta 的 Muse Sparkapi.meta.ai),这可能是本周对你钱包影响最大的一条。

PR #88601(8/17 合并)把 api.meta.ai 的路由从 chat completions 切换到 Responses API——因为只有后者支持 prompt caching。实测数据对比惊人:

接口 缓存命中率 contributor 档输入价格
/v1/chat/completions(旧) 0% $0.10 / M tokens
/v1/responses(新) 93–99% $0.002 / M(缓存命中)

在 agent 工作负载上(同一段 system prompt + 工具定义反复重发),这大约是 13 倍的成本差。Hermes 还会自动发送 prompt_cache_retention: 24h 缓存保留提示,把缓存效果最大化。升级到最新版后,Muse Spark 用户什么都不用配置——缓存直接生效。

技巧二:浏览器——agent 终于能“用”页面,不只是“看”页面

之前 Hermes 桌面端的应用内浏览器是单向镜子open_preview 把页面放进去、read_preview 读回文字,但 agent 永远摸不到页面——要点击就得切到另一个用户看不见的 Chromium 里操作,登录态还全丢了。

PR #90197(8/20 合并,main 上)改变了这一切,给 desktop_ui 工具集加了两个新工具:

  • drive_previewaction="elements" 列出页面里所有可点可输入的元素,然后 clicktypescrollpress 直接操作,back/forward/reload 驱动页面历史;
  • annotate_preview:在某个元素上挂一个标记(比如“点这里”),agent 不操作只指路。

两个工程细节值得说:

  1. 真实输入而非合成事件:操作走 Chromium 的 sendInputEvent,不是脚本分发事件——页面无法区分这是用户还是 agent 点的,hover/focus 状态完全正常(合成事件会留下“没有用户能点出这个状态”的破绽);
  2. 元素句柄持久化:元素按“是什么+说什么”命名(btn-sign-ininp-email),框架重建节点时句柄自动重新绑定(告诉 agent rebound 而不是重读整个页面)——登录后列表刷新的场景不再丢句柄。

效果:“登录这个网站把发票拉出来”这类任务,agent 可以在你眼前的应用内浏览器里直接完成,用你已登录的会话。

技巧三:Cron——relay 通道的 cron 也能平铺回复 + 富文本

用 relay 转发 Slack 的企业用户会注意到:原生 Slack 适配器上,cron 简报可以平铺在私信里cron_continuable_surface: in_channel),直接回复就能继续任务;而 relay 通道上简报只会进独立线程,富文本(Block Kit 表格、高亮代码)也渲染成字面 - 列表。

PR #90038(8/20 合并)补齐了这个差距(来自一次企业级并排对比评估):

  • CapabilityDescriptor 新增 supports_inchannel_continuable,relay 适配器现在会声明并应用这个能力——in_channel 模式在 relay 上生效
  • cron 的平铺配置读取逻辑重写:relay 的 Slack 旋钮终于有正确的位置(platforms.relay.extra.slack.*),不再读了不生效;
  • block 格式化:native 的富文本、表格、高亮代码在 relay 通道上也能正确渲染。

配合《Hermes cron 自动化完全指南》,relay 用户现在能获得和原生适配器一致的 cron 体验。

技巧四:容错——搜索后端失败自动“无密钥救援”

你的 web 搜索配了需要 API key 的后端(比如 Brave Free 之外的付费后端),它挂了怎么办?以前就是报错、换下一个;如果所有带密钥的都挂了,搜索就断了。

PR #90688(8/20 合并)加了一个隐藏的容错机制:带密钥的 web 后端失败时,自动用无密钥后端(keyless ring)顶上来一次——关键是 never sticky:救援只发生在那一次调用,不会长期“卡”在救援状态,密钥后端恢复后立刻正常接回。

对用户来说:少看见一次“搜索失败”,多一次“这次没花你钱也能搜到”。极小的改动,日常使用频率极高。

发布状态一览

技巧 PR 合并时间 状态
Muse Spark prompt 缓存 #88601 8/17 已进 v0.20.4(8/18 发布)
应用内浏览器操作 #90197 8/20 main,未 release
Relay cron 平铺+富文本 #90038 8/20 main,未 release
搜索无密钥救援 #90688 8/20 main,未 release

想尝鲜:hermes update(v0.20.4 用户自动获得技巧一);其余三个等下一个 release 或在 main 上体验(hermes update --branch main)。

总结

这 4 个技巧的共性:没人宣传,但每天都在影响你——缓存省的是真金白银,浏览器操作省的是来回切换,cron 增强省的是企业集成的心力,搜索救援省的是半夜的一次失败。它们都在 8 月 17–20 日合入,其中第一个(缓存)已经随 v0.20.4 发布。升级完看一眼 cron 命令参考,把能用的都用上。