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ão click, type, scroll e press agem sobre esses elementos; back/forward/reload controlam 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:

  1. Input real, não eventos sintéticos: as ações passam pelo sendInputEvent do 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);
  2. 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 com rebound em 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):

  • CapabilityDescriptor ganha supports_inchannel_continuable, e o adaptador relay agora anuncia e aplica isso — o modo in_channel funciona 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ê.