Hermes Agent Lab

Blog do Hermes Agent — Guias Práticos e Insights

Últimos artigos e insights.

Plugins que só funcionavam pela metade: o Hermes finalmente unificou a resolução de nomes de plugins

Instalar pelo nome do catálogo, habilitar pelo nome do manifest, casar a metade desktop pelo nome da pasta — o mesmo plugin respondia a três nomes, então o `install` dava certo e o `enable` voltava com "No plugin named …", e um pacote com metade desktop nunca acendia. O PR #135030 fundiu cinco resolvedores de nomes em um e transformou ligar um pacote em um único switch. Aqui estão o sintoma, a causa e a nova ordem de resolução, além da correção para o desenvolvimento de plugins do desktop (#135017).

Ler mais

A v0.21.6 mudou como as releases são produzidas — confirme o que você realmente instalou

A v0.21.6 (lançada em 8 de outubro de 2026) é a primeira tag produzida pelo novo pipeline de releases estáveis: uma ref de tentativa, uma imagem Docker testada e uma tag de recibo na publicação. A janela acumulou 8.342 arquivos alterados (+772.490 / −225.600) e 2.106 PRs mesclados desde a v0.21.5, enquanto as notas curadas completas ainda chegam com a v0.22.0. Veja aqui como confirmar o que você instalou, além dos três grupos de correções de segurança desta janela.

Ler mais

Um turno falado não precisa mais usar o seu modelo de digitação

Você diz algo e o modelo para o qual você digita gasta o seu orçamento de raciocínio antes de responder em voz alta — então o Q&A por voz parece um pouco lento e é cobrado no seu modelo principal. Agora os turnos falados têm o seu próprio slot auxiliary.voice_chat e usam reasoning desligado por padrão; e se você quiser substituir toda a cadeia de transcrever, pensar e falar, um único modelo de voz full-duplex pode assumir (voice.voice_chat_mode: gpt-live). Veja como as três configurações se encaixam — e quando não usá-las.

Ler mais

Você achou que o YOLO ainda estava ligado. O restart desligou.

Você digita /yolo em uma plataforma de mensagens e assume que as aprovações estão desligadas. Então o gateway reinicia — hermes update, um crash, o systemd, uma reabertura do Desktop — e aquele chat volta silenciosamente para aprovações manuais, enquanto você ainda acredita que ele as está ignorando. A correção guarda o /yolo na própria sessão (SessionEntry.yolo em gateway_routing), enquanto /new, /resume e /branch o limpam de vez. Veja as duas direções em que isso pode te surpreender e como sobrevive a um restart sem reviver um bypass que você descartou.

Ler mais

Um plugin agora pode pedir que o Hermes proteja seu próprio servidor MCP

Pacotes do Portable Agent Plugins v1 podem declarar trust: untrusted para seus próprios servidores MCP no plugin.json, fazendo com que toda chamada de ferramenta com capacidade de escrita peça sua aprovação primeiro. O Hermes aceita apenas restringir, nunca ampliar.

Ler mais

A Nous Research levantou US$ 90 milhões — e o Hermes vai atrás de empresas. Veja o que muda para você.

A Nous Research anunciou uma rodada de US$ 90 milhões com valuation de US$ 1,5 bilhão em 7 de outubro de 2026, com NVIDIA, o M12 da Microsoft e a Samsung entre os investidores, além de uma nova direção "Hermes for Businesses". O que é relatado pela empresa, o que é prometido e quais dois interruptores realmente observar.

Ler mais

Por que 90 GB do seu disco desapareceram: o estado de dependências deixado para trás por worktrees excluídos

Todo worktree de hermes -w ou clone descartável ganha seu próprio ambiente de dependências de ~200 MB, e excluir a árvore nunca o removia. O caminho de prune agora recupera o estado cujo checkout comprovadamente sumiu — 92 GB reduzidos a 18 GB em um host medido.

Ler mais

Um cron job saudável foi declarado "travado" em 2h02m — agora o limite mede o silêncio, não a duração da execução

Qualquer execução de cron com mais de duas horas era recuperada como se o dono estivesse morto, mesmo enquanto ela chamava ferramentas ativamente, e então falhava com "lost its durable fire claim ownership", perdendo a saída daquela execução. A correção mede há quanto tempo o dono está em silêncio, em vez de há quanto tempo está executando.

Ler mais

Um modelo barato num canal, um modelo de fronteira em outro: como o channel_overrides funciona (e o bug de cache que o deixou caro)

Um único gateway pode rodar um modelo e uma persona diferentes em cada canal via platforms.<platform>.channel_overrides. Mas um bug P0 expulsava o agent em cache depois de cada turno exatamente nesses chats, o que relia a conversa inteira a preço cheio.

Ler mais

Rodando o Hermes Agent no Kubernetes: sem Helm chart oficial, uma réplica só e um contêiner que inicia como root

Três coisas na imagem oficial batem de frente com os padrões do Kubernetes: o estado é single-writer, o s6-overlay precisa de root no init e não existe endpoint HTTP de reload. Veja o que realmente quebra e o que colocar no seu manifesto.

Ler mais

O que a telemetria do Hermes realmente registra: dois switches, ambos desligados por padrão, e nada que se pareça com o seu conteúdo

Sob telemetry.shared_metrics há dois opt-ins independentes — enabled coleta localmente, send transmite para a Nous — e ambos são false por padrão. Veja o que os contadores limitados contêm, mais as novas classes de motivo de falha.

Ler mais

O Hermes acabou de te pedir para passar por uma verificação de browser? Entenda o que é o challenge 428 no free tier

Quando o serviço de contas da Nous decide que um intervalo de IP precisa de uma verificação de browser antes de liberar capacidade, a troca de token anônima responde 428 challenge_required. O Hermes implementa uma primitiva: abrir o link do portal, fazer polling do status, trocar de novo — enquanto chamadores em segundo plano nunca bloqueiam.

Ler mais

O limite de login do seu dashboard podia ser burlado com um único header

Três correções de hardening de autenticação mescladas no mesmo dia: um X-Forwarded-For forjado zerava o rate limit de login do dashboard, um campo de auditoria sem limite podia encher o seu disco e as rotas públicas de autenticação não tinham limite de tamanho de corpo.

Ler mais

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