4 Truques Ocultos do Hermes nos Últimos Commits: Economia de Tokens, Controle do Navegador no App, Cron e Busca Resiliente

Você deve achar que a grande notícia do Hermes esta semana foram as janelas de vidro fosco do v0.20.4 — mas o projeto oficial mesclou silenciosamente um lote de recursos nos últimos quatro dias, sem keynote, sem arte de divulgação. Eles se escondem no log de commits, e cada um economiza dinheiro de verdade, esforço de verdade ou uma dor de cabeça de verdade. Este post cobre os quatro mais valiosos: economia de tokens, controle do navegador, upgrades de cron e resiliência de busca.
Truque 1 — Economia de tokens: caching do Muse Spark totalmente ativo
Se você usa o Muse Spark da Meta (api.meta.ai), este é provavelmente o item mais relevante para o seu bolso esta semana.
O PR #88601 (mesclado em 17 de ago) move o tráfego do api.meta.ai de chat completions para a Responses API — porque só esta última suporta prompt caching. Os números medidos são impressionantes:
| Wire | Taxa de acerto de cache | Preço de input no nível contributor |
|---|---|---|
/v1/chat/completions (antigo) |
0% | $0.10 / M tokens |
/v1/responses (novo) |
93–99% | $0.002 / M (em cache) |
Em workloads agênticos — onde o mesmo system prompt e as mesmas definições de ferramentas são reenviados repetidamente — isso representa aproximadamente uma diferença de custo de 13×. O Hermes também envia automaticamente prompt_cache_retention: 24h, a dica de cache opt-in da Meta, para maximizar o efeito. Depois de atualizar, os usuários do Muse Spark ganham o caching automaticamente — nada para configurar.
Truque 2 — Navegador: o agente finalmente consegue USAR a página, não só olhar para ela
O navegador integrado do app desktop costumava ser um espelho de mão única: open_preview colocava uma página no painel, read_preview lia o texto dela de volta, mas o agente nunca podia tocá-la. Qualquer coisa que precisasse de um clique ia para um Chromium separado que o usuário não consegue ver — sem nenhuma das sessões em que você já está logado.
O PR #90197 (mesclado em 20 de ago, na main) muda isso, adicionando duas ferramentas ao conjunto desktop_ui:
drive_preview:action="elements"inventaria tudo que é clicável/digitável, e entãoclick,type,scrollepressagem sobre esses elementos;back/forward/reloadcontrolam o histórico do painel;annotate_preview: mantém uma marca sobre um elemento até o agente removê-la — para apontar para algo em vez de agir sobre ele.
Dois detalhes de engenharia que valem a pena entender:
- Input real, não eventos sintéticos: as ações passam pelo
sendInputEventdo Chromium, não por eventos despachados — a página não consegue notar a diferença, e o estado de hover/focus se comporta exatamente como o de um usuário (cliques sintéticos deixam as páginas em estados que nenhum usuário poderia ter produzido); - Handles de elementos duráveis: os elementos são nomeados pelo que são e pelo que dizem (
btn-sign-in,inp-email); quando um framework destrói um nó e o reconstrói, o handle automaticamente re-liga (o agente é avisado comreboundem vez de receber uma remoção para reagir) — fluxos de logar-e-depois-atualizar-a-lista não perdem mais os handles.
O resultado: “faça login neste site e puxe minhas faturas” agora acontece dentro do navegador na sua tela, usando as sessões que você já tem.
Truque 3 — Cron: crons via relay ganham respostas planas e formatação rica
Usuários enterprise que usam o Slack pelo adaptador relay notaram a lacuna: no adaptador Slack nativo, os resumos de cron podem postar direto no DM (cron_continuable_surface: in_channel) com uma resposta simples dando continuidade ao job — enquanto no caminho relay, os resumos sempre caíam em um thread dedicado e o conteúdo rico (tabelas Block Kit, código destacado) era renderizado como bullets - literais.
O PR #90038 (mesclado em 20 de ago) fecha essa lacuna (encontrada em uma avaliação lado a lado enterprise):
CapabilityDescriptorganhasupports_inchannel_continuable, e o adaptador relay agora anuncia e aplica isso — o modoin_channelfunciona no caminho relay;- a resolução dos knobs de superfície do cron foi reescrita para que os knobs do Slack do relay finalmente morassem em um lugar que funciona (
platforms.relay.extra.slack.*) em vez de serem lidos-e-ignorados; - block formatting: texto rico nativo, tabelas e código destacado agora são renderizados corretamente pelo relay.
Combinado com o guia completo de automação de cron, os usuários do relay agora têm uma UX de cron com paridade nativa.
Truque 4 — Resiliência: backends de busca com chave que falham ganham um resgate sem chave
Seu web search está configurado com um backend com API key. Ele cai — e antes isso significava um erro, passar para o próximo, e se todo backend com chave estiver fora do ar, a busca morre.
O PR #90688 (mesclado em 20 de ago) adiciona um fallback elegantemente simples: quando um backend web com chave falha, o Hermes resgata para o keyless ring por uma única chamada — e, crucialmente, never sticky: o resgate vale apenas para aquela chamada, então o backend com chave reassume no momento em que se recupera.
Para o usuário: um erro de “search failed” a menos, um “achei sem gastar sua cota” a mais. Mudança minúscula, frequência diária enorme.
Status de lançamento
| Truque | PR | Mesclado | Status |
|---|---|---|---|
| Prompt caching do Muse Spark | #88601 | 17 de ago | Na v0.20.4 (lançada em 18 de ago) |
| Controle do navegador no app | #90197 | 20 de ago | main, não lançado |
| Cron relay plano + texto rico | #90038 | 20 de ago | main, não lançado |
| Resgate de busca sem chave | #90688 | 20 de ago | main, não lançado |
Para experimentar: hermes update (usuários da v0.20.4 ganham o truque 1 automaticamente); os outros três chegam com o próximo release ou direto da main (hermes update --branch main).
Resumo final
O que esses quatro truques têm em comum: ninguém os anunciou, e eles te afetam todos os dias. O caching economiza dinheiro de verdade, o controle do navegador economiza trocas de contexto, o upgrade do cron economiza dores de cabeça de integração enterprise, e o resgate de busca economiza uma falha às 3h da manhã. Todos mesclados entre 17 e 20 de agosto; o primeiro já está na v0.20.4. Depois de atualizar, confira a referência do comando cron e coloque em prática o que se aplica a você.