Hermes Agent Lab

Blog do Hermes Agent — Guias Práticos e Insights

Últimos artigos e insights.

Seu Bot Respondeu Duas Vezes — o Modelo Rodou Duas Vezes?

O delivery ledger marca reenvios ambíguos com um prefixo de recuperação visível, e dois corrigidos impedem duplicatas sem marcação: um crash no meio de um reenvio não envia mais uma segunda cópia, e um adapter reconectado não perde mais seu cache de deduplicação de entrada.

Ler mais

Seu Job de Cron Disparou Uma Hora Antes: o Bug de DST Que o Hermes Acabou de Corrigir

Na noite em que os relógios atrasam, um cron job com timezone configurado podia disparar até uma hora antes — ou uma hora depois — porque o Python compara datetimes aware dentro de uma mesma zona por wall clock e ignora o fold. Veja o que mudou e como checar seus próprios jobs.

Ler mais

Todo Mundo Está Falando do Jev — Aqui Está o Que Ele Realmente Muda no Hermes

O Jev é um decision model: texto na entrada, respostas probabilísticas tipadas na saída. Onze plugins Jev já estão no catálogo de plugins do Hermes, de um gate de julgamento antes da ferramenta a um roteador de modelo e reasoning effort por turno — veja o que cada um decide e o que sai da sua máquina quando você instala.

Ler mais

Por Que o Hermes Reportou o Custo da Sua Execução Como US$ 0,00

Execuções diretas via OpenAI, xAI, Anthropic, Google e DeepSeek agora caem no preço de tabela do próprio fornecedor em vez de reportar um custo desconhecido ou zero — enquanto relays, proxies e rotas de assinatura permanecem deliberadamente sem preço.

Ler mais

Servidores MCP respaldados por apps: por que o Hermes agora verifica se o app está instalado primeiro

Um plugin portátil do Hermes agora pode declarar de qual aplicativo local ele depende: a instalação é recusada quando o app não está presente, o runtime confia apenas no arquivo de endpoint vivo que o próprio app escreve, e as ferramentas indisponíveis dizem o que fazer a respeito.

Ler mais

Um interruptor, dois desktops: os modos de interface Simple / Advanced do Hermes

O app de desktop agora tem dois modos de interface. O Simple mantém a conversa e guarda a statusbar, o terminal, os payloads de tool call e o estado dos subagentes; o Advanced é o app que você já conhece. Um modo muda o que é mostrado, nunca o que o Hermes pode fazer.

Ler mais

Instalar um plugin sem reiniciar o gateway: o Hermes faz a ligação ao vivo

Um gateway em execução agora liga na hora um plugin recém-instalado: comandos de barra, callbacks de botão e transforms de entrada funcionam imediatamente, enquanto ferramentas e seções de system prompt esperam a próxima sessão e servers MCP portáteis esperam um mcp.reload.

Ler mais

Toda mensagem lê sua config: o Hermes acabou de tirar o lock dessa rota quente

As leituras de config costumavam tomar um lock global e repassar o YAML a cada vez. Agora os acertos de cache são lock-free, e a mesma leitura que esperava 2 segundos termina em menos de 2 milissegundos. Aqui está por que isso é seguro.

Ler mais

Fixando skills em toda session: skills.auto_load, para o agent nunca esquecer o seu processo

Skills são sob demanda por padrão: o agent lê as descrições curtas de graça e só carrega uma skill quando uma tarefa pede. O skills.auto_load muda esse passo — skills listadas no config.yaml são totalmente carregadas no início de toda session nova, em agents de CLI, TUI, gateway, cron e API igualmente (PR #92048). A configuração, no que ela difere de --skills e das skills locais do projeto, e por que ela não quebra o seu cache de prompt.

Ler mais

Ensinando o CI a ler o Hermes: o fluxo de eventos stream-json em vez de raspar a tela

hermes chat -q "..." --format stream-json emite JSONL legível por máquina — um registro init, texto em stream, tool calls e resultados, e um envelope result final com estatísticas de token e um exit code (PR #90411). A tabela completa dos campos de cada evento, a semântica dos exit codes (0/1/130/75), consumidores em jq e Python, e o limite de 5000 caracteres de saída com o qual você precisa contar.

Ler mais

Você já paga pelo Claude Pro/Max — agora o Hermes pode usar isso

O plugin oficial claude-subscription-directsdk faz o Hermes dirigir o claude CLI oficial sem modificações como cliente de modelo escopado por requisição, rodando o loop completo de agent na sua assinatura Claude Pro/Max enquanto o Hermes mantém tools, approvals e compactação. Ele exige Hermes 0.21.4+, Python 3.10+, um claude CLI logado, e traz um relé de admissão que encaminha exatamente uma requisição upstream por chamada do Hermes.

Ler mais

Um gateway por host: a migração multiplex-only, três incidentes reais e uma checklist pós-atualização

Desde a v0.21.4, o Hermes não roda mais um gateway por profile: um gateway de host por usuário do SO serve todos os profiles (PRs #118273 / #118097 / #118433). A chave antiga multiplex_profiles: false está aposentada e o --standalone sumiu. Aqui está o caminho de migração, o que ela recusa e os três incidentes reais que a convergência corrigiu — incluindo um P1 que podia apagar a memória do profile errado.

Ler mais

A v0.21.4 saiu sem release notes — eis dez mudanças que já estão rodando na sua máquina

A v0.21.4 (tag v2026.9.21, lançada em 21 de setembro de 2026) é um tag de patch para consumidores downstream, e as notas dizem que a análise completa chega com a v0.22.0. A janela traz 5.071 commits não-mesclados e 1.812 PRs mesclados desde a v0.21.3. Dez mudanças de comportamento verificadas, cada uma com o comando ou a configuração que a aciona.

Ler mais

Um disco lento, um assistente congelado: o Hermes levou para o segundo plano três tarefas que entupiam a porta

Seu backup noturno começa e o gateway para de responder. Ou você fecha a tampa do notebook e o app desktop continua moendo um núcleo inteiro de CPU. Nenhum dos dois é um modelo lento: o event loop tinha uma escrita em disco, uma sondagem de processo e um warm-up de boot na fila na frente de cada mensagem que chegava. Seis mudanças mescladas em 18-20 de setembro (#117206 / #117063 / #117066 / #117201 / #117041 / #116967) tiraram tudo isso do caminho crítico.

Ler mais

Você escreveu um plugin de provider para o seu próprio gateway. Por que o Hermes ainda o trata como cidadão de segunda classe?

O modelo aparece e responde numa boa, mas o picker não mostra o selo de reasoning, uma imagem que você cola passa como texto puro, o /usage fica vazio e um colega de time ainda precisa copiar um token na mão. Nada disso é culpa do plugin: o core só sabia o que o catálogo models.dev sabia. Três hooks mesclados em 20 de setembro (#116570 / #116555 / #116576) devolvem ao plugin a declaração de capacidades, o reporte de uso e o login.

Ler mais

Cinco segundos para responder um recado de uma palavra: três esperas silenciosas escondidas na entrega de mensagens do Hermes

Uma resposta curta no WhatsApp levava 5 s (3 s no Weixin), um notebook que foi desligado descartou em silêncio todo comando do Telegram enviado enquanto ele estava fora, e um canal do Discord sem menções nunca conseguia criar thread automática. O que eles têm em comum: nenhum erro, nenhuma linha de log. Três mudanças mescladas em 19-20 de setembro (#117104 / #116134 / #116168) corrigem isso.

Ler mais