Hermes Agent v0.20.2
Visão Geral
v0.20.2 — O Patch das Conexões. Lançada em 16 de agosto de 2026. ~397 PRs mesclados · 967 commits · 1.279 arquivos alterados (+128.522 / −7.622) desde a v0.20.1.
Três dias depois da v0.20.1, o Hermes entrega a mudança estrutural que o app de desktop precisava há anos: o modelo de conexão deixa de ser “uma conexão global com overrides por profile” e vira um registro de verdade. O desktop agora pode conter qualquer número de fontes de agente nomeadas — runtime local, gateways remotos, Hermes Cloud, hosts SSH — enquanto o MCP ganha instalações hermes:// com um clique e verificações de saúde em segundo plano, e o CLI finalmente lembra qual sessão pertence a qual terminal.
Esta é uma release de patch, então as notas oficiais são breves e a documentação completa e curada acompanha a v0.21.0. Esta página cobre as partes mais valiosas desta janela.
Destaques
1. Registro de Multi-Conexões no Desktop
Settings → Connections agora é um verdadeiro registro de fontes de agente nomeadas: locais, gateways remotos (LAN/Tailscale/público), Hermes Cloud e hosts SSH, tudo persistido em um só lugar com rótulos únicos (case-insensitive). O roteamento do pool de backends é chaveado por (connection, profile), e um roster de agentes multi-fonte + SDK aparece no desktop. A descoberta acompanha: uma pill “Connect another Hermes gateway…” na trilha de profiles e uma entrada ⌘K para Settings → Connections.
2. Instalações de MCP com Um Clique via Deep Links hermes://
Fornecedores de MCP e documentações podem oferecer um botão “Add to Hermes” via hermes://mcp/install?name=NAME&config=B64. O link é estritamente validado (nome ^[A-Za-z0-9._-]{1,64}$, config JSON em base64url) e mostra um diálogo de confirmação explícito antes que qualquer coisa seja gravada na configuração.
3. Verificações de Saúde de MCP em Segundo Plano
Ao conectar o gateway e a cada 30 minutos, o desktop varre os servidores MCP HTTP/SSE habilitados do profile ativo. Um servidor que entra em needs-auth (ou erro) dispara um aviso no app — “GitHub MCP needs re-authentication” — com uma ação Sign in que faz deep-link para o painel de configuração do servidor e o faz piscar. Servidores stdio ficam de fora porque cada sondagem é um spawn real.
4. Breadcrumbs de Terminal: -c por Terminal
Um hermes -c / --continue puro agora retoma a sessão pertencente a este terminal (tty, painel tmux, janela kitty, painel wezterm, painel Zellij, Windows Terminal) em vez da sessão globalmente mais recente. Os breadcrumbs ficam em $HERMES_HOME/terminal-sessions/, são gravados atomicamente e expiram após 30 dias.
5. chat -c Falha de Forma Ruidosa + --create-if-missing
hermes chat -c "<título>" sem correspondência agora imprime no stderr e sai com código 1 (chega de no-op silencioso). A nova flag --create-if-missing cria uma sessão nova com título e retoma nela — uma primitiva determinística de “enviar para este thread nomeado, criando-o se necessário” para scripts e plugins.
6. O Upscaling de Imagens É Opt-In
A mudança de 8 de agosto que encadeava o Clarity Upscaler após toda geração FAL/Krea abaixo de 2MP (degradando visivelmente a renderização de texto/CJK do GPT Image 2, a tipografia do Ideogram e rostos fotorrealistas) foi revertida: o upscaling está desligado por padrão e só roda com upscale: true explícito.
7. Toda Ferramenta É Interrompível
O executor sequencial de ferramentas agora consulta a flag de interrupção a cada segundo e abandona uma ferramenta em execução dentro de um período de graça de 3 segundos; o image_generate ainda aborta cooperativamente sua espera FAL em andamento. O Ctrl+C encerra ferramentas em vez de segurar o turno como refém por ~40s.
Melhorias
- Protocolo de teclado do Kitty restaurado (
CSI >1u) com uma tabela completa de aliases de teclas estendidas com 294 entradas — usuários do kitty recuperam o Ctrl+C e as combinações funcionando. /statusnão emparelha mais um modelo com um provider/base URL de outra rota de fallback; as rotas de modelo persistidas permanecem consistentes.- As chaves da API Bedrock são entregues por meio de um provider nomeado (
custom:bedrock-mantle+key_env) em vez de caírem comoapi_key="no-key-required". skills.disabledeagent.disabled_toolsetshonram as formas de string de array JSON (["a","b"]) salvas viahermes config set.- Turns
already_senttransmitidos completam seu tick do /loop (marcador LOOP_COMPLETE + execução do juiz) em vez de serem reagendados indefinidamente. - Conexões multi-gateway são desmontadas e recicladas de forma limpa ao remover/editar, com um limite de pool.
- As chaves de auto-detecção de provider são resolvidas no escopo do profile; os caminhos do Bedrock e de auth honram escopos de segredo por profile.
Correções
- Windows: sondas de varredura de processos limitadas para que uma varredura WMI lenta não trave o
hermes update; caminhos de script de cron com NUL rejeitados antes de qualquer chamadaPath; units systemdhermes-servereiniciam junto com os gateways. - Gateways de tarefa agendada do Windows sem pidfiles são poupados pelo reaper de órfãos.
- O invariante do catálogo
image_genfixa os padrões de upscaling totalmente desligados. - Chamadas de ferramenta sequenciais vinculadas a
timeouts.tools.sequential_call; o par dedupe/piso-de-raciocínio de chamadas de ferramenta que causava regressões foi revertido e refeito. - TUI: Enter modificado e LF puro inserem novas linhas no composer em terminais IDE e macOS.
Atualização
hermes update
Após atualizar, execute hermes doctor para verificar a instalação, reinicie o gateway (hermes gateway) para que as mudanças de plataforma entrem em vigor e abra Settings → Connections para explorar o registro de multi-conexões.