Hermes Agent v0.21.4
Visão Geral
v0.21.4 — The One-Gateway Patch. Lançada em 21 de setembro de 2026. Desde a v0.21.3: 5.071 commits não-merge · 5.169 arquivos alterados (+312.961 / −62.855) · 1.812 PRs mesclados · 2.116 issues fechadas, medidos no commit 4b8a8134009a8727a289bcabeb0019fedd353128.
Esta tag existe para consumidores downstream: as imagens Docker, o Hermes Cloud e as implantações hospedadas são todos construídos a partir da tag de release mais recente, então as correções desta janela precisam chegar a uma versão estável antes que os usuários de nuvem possam recebê-las. O corpo do release deixa explícito que o texto curado completo fica adiado para a v0.22.0, que vai documentar tudo a partir da v0.21.0 — destaques, áreas de funcionalidade e créditos de contribuidores. Esta página registra para que serve a tag e as mudanças da janela que já estão vivas na sua máquina e ainda não foram escritas em lugar nenhum.
Destaques
1. Convergência de topologia do gateway: um gateway host por máquina
A maior mudança arquitetural da janela. Exatamente um processo hermes gateway run por host por usuário de OS, servindo todos os profiles; o gateway run de um profile secundário agora se anexa ao processo host (imprimindo seu PID e o conjunto servido, saída 0) em vez de iniciar um segundo. gateway start --all e restart --all significam aquele único multiplexador host, e nunca varrem um gateway que outro profile esteja rodando.
O antigo switch gateway.multiplex_profiles: false foi aposentado: ele ainda é interpretado, mas não consegue mais fixar um processo de gateway separado — resolve como uma chave não definida e registra um aviso. Um profile nomeado não pode instalar uma nova unit de gateway sem --force, e --standalone foi removido. O caminho de atualização é hermes gateway migrate --multiplex --dry-run para ler o plano, depois hermes gateway migrate --multiplex para aplicá-lo — a convergência é definida pela topologia, não pela flag de configuração, então rodar o comando de novo é o caminho de recuperação depois de uma migração interrompida. PRs #118273, #118097, #118433.
2. Conectores: conecte um app a partir da conversa
Um usuário pede no chat para conectar o Notion e o backend executa a conexão inteira: ele coleta os valores, mostra o link de login, e o agent consegue chamar a nova tool no mesmo turno. O Desktop, o hermes --tui e o CLI clássico mostram o mesmo passo de configuração. O repositório traz um catálogo de 65 servidores MCP revisados, 55 deles usando OAuth (#111008).
3. Superfície de CLI e agent: saída estruturada, skills fixadas, modo de journal
hermes chat -q "..." --format stream-jsonemite eventos JSONL no stdout (init / text / tool_use / tool_result / result), com o envelope terminal carregando estatísticas de token e um exit code — assim o CI consegue consumir uma execução sem raspar a tela (#90411).skills.auto_loadnoconfig.yamlfixa skills como totalmente carregadas no início de toda session nova, em CLI, TUI, gateway, cron e agents de API; a injeção é resolvida uma vez por agent e é estável byte a byte, então o cache de prompt sobrevive (#92048).hermes sessions set-journal-mode delete|walconverte ostate.db(ou outro armazenamento via--db) entre os modos de journal WAL e DELETE offline: ele recusa enquanto qualquer processo mantém o arquivo, nomeia cada detentor e relê os bytes de cabeçalho para verificar (#117684).
4. Isolamento de profiles: uma leva de correções P1
“Um backend, muitos profiles” amplifica erros de escopo, e esta janela fechou um lote deles. A #118275 faz toda rota REST respeitar o profile que a requisição nomeia — antes, POST /api/memory/reset?profile=worker_beta apagava o MEMORY.md do profile de lançamento, e rotas destrutivas agora retornam 400 para um alvo não nomeado em um host multi-profile. A #118373 restaura a resolução de OAuth do profile raiz para profiles nomeados, corrigindo as falhas de No Codex credentials stored depois da atualização. A #118246 faz o Desktop se anexar ao backend host em vez de gerar um hermes serve por profile.
Melhorias
mcp.discovery_concurrencylimita a concorrência de conexão MCP na inicialização (padrão 4,0para ilimitado): com 8 servidores stdio, o pico medido cai de 8 para 4, eliminando a tempestade de spawns (#117956).- DMs não autorizadas em três estados:
gateway.unauthorized_dm_behaviorganhadecline, comunauthorized_dm_decline_messagepara o texto, e sobrescritas por plataforma. - Janela de tempo do
session_search: novos limitesafter/before(datas ISO ou durações relativas como7d/24h/2w), além de uma nova tentativa com correspondência OR relaxada quando a correspondência estrita não encontra nada. - Desktop: seletor de fonte do chat/UI (#111226), minimizar para a bandeja (#118441), invocação do HUD ao tocar no modificador (#118446), uma gaveta de pilha de status por chat (#118407), desinstalação de plugins e atualização do engine local com um clique.
- Um restart de gateway por atualização:
hermes -p X updateehermes -p Y updatereiniciam o gateway host uma única vez entre si, com o aviso chegando a cada profile servido (#118108). - Atualizações de catálogo: LTX 2.5 e Kling O3 Standard entram na família de vídeo da FAL; o catálogo de plugins ganhou um lote de plugins da comunidade, e agora todo plugin e todo autor tem a própria página, com o README fixado em um commit revisado.
Correções
- Um 429 do gateway gerenciado em
image_generatee em vídeo FAL é reconhecido como rate limit e repetido uma vez, em vez de reportar “o modelo talvez ainda não esteja habilitado” (#118311). - Um aviso pós-atualização endereçado a uma plataforma que nunca se conecta para de tentar de novo, em vez de registrar log a cada 2 segundos para sempre (#118312).
- A chamada de título automático não disputa mais com a resposta do turno em um servidor de modelo auto-hospedado de slot único (#117494).
- Quando um provider rejeita uma imagem, apenas a cópia da requisição é removida — a session não é mais marcada como sem suporte a visão (#118316).
- O
TimeoutErrorde um worker de compressão não é mais confundido com um timeout de poll (#118319); a manutenção de sessions roda no próprio pool, então não pode deixar os corpos dos turnos sem recursos (#118318); o histórico da conversa sobrevive à recuperação de codec ASCII (#118313). - A limpeza de objetos git somente leitura no Windows (checkpoints, plugins, catálogo MCP, distribuições de profile) não falha mais (#117609).
Atualização
hermes update # instalações via git
# Docker / Hermes Cloud: as imagens são construídas a partir desta tag
docker pull nousresearch/hermes-agent:v2026.9.21
Numa máquina rodando vários profiles, comece com hermes gateway status e depois leia uma vez hermes gateway migrate --multiplex --dry-run.