Hermes Agent Lab

Blog do Hermes Agent — Guias Práticos e Insights

Últimos artigos e insights.

Quando o Hermes trava esperando um humano, seu plugin agora consegue saber

Um novo par de hooks on_human_input_request / on_human_input_resolved cobre prompts de sudo, perguntas do clarify e aprovações de comandos perigosos, então um notificador não precisa mais de um hook por tipo de prompt.

Ler mais

O gateway cura todas as plataformas, menos uma — eis o porquê

Três correções de confiabilidade do gateway: uma plataforma cujo plugin falhou ao carregar agora tenta o import de novo, mensagens do Telegram retidas durante uma desconexão são entregues depois que o adapter é reconstruído, e execuções /v1 em andamento terminam quando o gateway para, em vez de serem mortas após 0s.

Ler mais

Agentes escrevem código mais rápido do que qualquer um consegue revisar. Eis o ratchet que impede a base de código de apodrecer

O Hermes ganhou um ratchet: cada função e cada arquivo só pode ficar igual ou melhorar, o código novo tem que atingir a meta, e um único comando local roda exatamente o que o CI roda. Inclui os limites de CC/linhas/aninhamento, a saída de escape e um replay de 318 PRs.

Ler mais

Sua exportação de perfil estava enviando suas credenciais de nuvem

Um tar.gz de hermes profile export deveria deixar um colega reproduzir a sua configuração — mas ele também carregava os armazenamentos de credenciais .docker, .azure, .config/gh e .config/gcloud. Dois PRs fecharam a brecha.

Ler mais

Home Assistant saiu do núcleo: o que acontece com a sua configuração

A plataforma de gateway do Home Assistant e suas ferramentas saíram do núcleo do Hermes para um plugin oficial do catálogo — com uma migração automática que o instala por perfil, deixando chaves de configuração, variáveis de ambiente e nomes de ferramenta intactos.

Ler mais

Hermes parou de acreditar no dmarc=pass do próprio remetente

Um header Authentication-Results é texto que o remetente pode escrever. O Hermes agora exige um pin de authserv-id e descarta mensagens até que um seja definido — uma mudança de comportamento deliberada com uma correção de uma linha.

Ler mais

A memória tem um orçamento: por que ela acaba parando de lembrar

A memória de longo prazo do Hermes tem um limite de caracteres e, quando ela enche, as escritas são ignoradas silenciosamente. O plugin hermes-dreaming adiciona uma passagem noturna determinística que registra o que importa e aposenta o que não importa.

Ler mais

Plugins de terceiros saem do processo principal: por dentro de plugins.isolation: host

Um plugin que você instala costumava dividir um único processo Python com cada sessão, cada secret e cada chave em memória que você possui. O novo plugins.isolation: host dá a cada profile seu próprio processo host de plugins — sem mudanças no código do plugin e com uma lista curta e documentada do que não pode sair de lá.

Ler mais

Seu agente escreveu na sua crontab de verdade às 2 da manhã: isolando HOME e cron

Um sandbox que isola o HERMES_HOME ainda deixa o agente gravar no diretório home real, na crontab real e no barramento de usuário real do systemd. Três tarefas cron fantasma deixadas por uma única execução de eval mostram quais saídas qualquer história de isolamento precisa cobrir.

Ler mais

Rodar o Hermes dentro do Codex: uma extensão MCP da comunidade

Editar código no Codex enquanto o Hermes roda suas automações costuma significar duas janelas e um fio de raciocínio perdido. Esta extensão MCP da comunidade embute os chats, os profiles, a troca de modelo e o agendador do Hermes dentro do Codex, mantendo as credenciais no processo bridge local.

Ler mais

Por que sua exportação /save estava perdendo turnos — e o limite por trás disso

A mesma sessão podia ser exportada por completo pela CLI e sair incompleta no aplicativo de desktop, perdendo turnos que a compactação no local havia arquivado; além disso, uma sessão muito grande podia esgotar a memória. A correção unifica as três superfícies em um único caminho de código e aplica o limite de exportação próprio de cada perfil.

Ler mais

Por que embeds de terceiros no app desktop precisam ser isolados em sandbox

Como o Hermes isola embeds do X, Instagram e YouTube no app desktop, um problema de segurança já público e sua correção, e o status de versão hoje.

Ler mais

Três ferramentas em um único tool_call já não é erro: o Hermes divide o batch

Quando um modelo empacotou três ferramentas MCP em um único tool_call, a regra de uma ferramenta local por vez devolveu tudo e queimou um round trip inteiro. Agora o agente divide o batch em chamadas individuais antes de o turno ser salvo.

Ler mais

Revertido após 11 horas: por que os prompts de aprovação do Hermes mantêm um prazo

A mudança que fazia os prompts de aprovação esperarem por você para sempre foi revertida na mesma noite em que foi mesclada — não por indecisão, mas porque travou uma sessão que não tem ninguém para responder. Veja a linha do tempo e o que de fato vale agora.

Ler mais

Um commit, três falhas silenciosas: o backup apagou o arquivo errado, o JSON foi gravado errado, as aspas foram achatadas

Um keep negativo apaga seu backup mais recente, uma gravação deixa passar NaN e o replace_all achata aspas tipográficas para ASCII — três bugs que retornavam sucesso enquanto faziam a coisa errada. O PR #130619 corrige os três.

Ler mais

O prompt de aprovação que sumia no meio do café agora espera por você

Você estourava o approvals.timeout e o prompt expirava, negando o comando em silêncio — você só estava numa reunião. O PR #130167 mantém os prompts do CLI, do TUI e do Desktop abertos até você responder ou interromper o turno, enquanto as plataformas de mensagens conservam o prazo de 300 segundos.

Ler mais