v0.19.0

Hermes Agent v0.19.0 — The Quicksilver Release (Lançamento Mercúrio)


Visão Geral

v0.19.0 — The Quicksilver Release. Lançado em 20 de julho de 2026. ~2.245 commits · ~1.065 PRs mesclados · ~2.465 arquivos alterados · ~300.000 inserções · ~36.000 deleções · ~3.300 issues fechadas · mais de 450 contribuidores da comunidade.

Hermes é o deus mensageiro, e nesta janela fizemos ele se mover como tal. O Lançamento Mercúrio é construído sobre uma única convicção: um agente autônomo que parece lento é um agente que você não vai usar. O time-to-first-token do primeiro turno caiu ~80% em todas as plataformas — cold-start de ~4,3s para ~0,9s. Modelos de reasoning transmitem seu pensamento ao vivo por padrão. O app desktop recebeu mais de 20 PRs de desempenho direcionados (markdown em streaming 14× mais rápido, diffs virtualizados, troca de sessões instantânea). O TUI renderiza markdown de forma incremental.

Em torno dessa espinha de velocidade, temos um lançamento denso em capacidades: faturamento pelo terminal (/subscription e /topup), integração com gerenciadores de senhas (Bitwarden e 1Password), aprovações inteligentes (comandos revisados por LLM por padrão), janelas de monitoramento ao vivo de subagentes, um ledger de entrega durável que sobrevive a falhas do gateway e roteamento de mensagens baseado em perfil para implantações multi-tenant. Novos providers (Fireworks AI, DeepInfra) e os modelos de fronteira mais recentes (GPT-5.6, grok-4.5, kimi-k3, Claude Sonnet 5) completam o catálogo.

Este lançamento também consolida tudo das tags de patch de infraestrutura v0.18.1 e v0.18.2 — essas janelas estão totalmente documentadas aqui.


Destaques

1. Hermes Ficou Dramaticamente Mais Rápido — Primeiro Token em uma Fração do Tempo

A fase de cold-start “Initializing agent…” costumava consumir ~4,3 segundos antes que seu primeiro turno chegasse ao modelo. Agora são ~0,9s — uma redução de ~80% que se aplica igualmente ao CLI, gateway, TUI, desktop e cron.

O que mudou nos bastidores:

  • Detecção de capacidade do Discord removida do caminho crítico com cache em disco de 24 horas indexado por token, mais atualização em segundo plano
  • Sonda do Ollama ignorada para providers conhecidos que não são Ollama
  • Trabalho bloqueante de inicialização do agente removido do caminho frio
  • Cache de construção de prompt e resolução de fuso horário com cache baseado em mtime

A segunda rodada de latência percebida atacou o que você enquanto espera:

  • display.show_reasoning agora está ATIVADO por padrão — modelos de reasoning transmitem seu pensamento ao vivo em vez de mostrar um spinner por mais de 30 segundos
  • A caixa de resposta é pintada por token em vez de por linha, com force-flush sensível à largura
  • Lotes de ferramentas mistos agora são segmentados para recuperar concorrência perdida
  • A re-serialização base64 por chamada foi removida das estimativas de tamanho de requisição

Se o Hermes alguma vez pareceu tomar fôlego antes de responder, esse fôlego desapareceu.

2. Onda de Velocidade no Desktop — Mais de 20 PRs de Desempenho

@OutThisLife liderou uma revisão de desempenho focada que faz o app desktop parecer nativo sob carga, mesmo com transcrições massivas e agentes ocupados.

Área Melhoria
Markdown em streaming 14× menos CPU via lexing incremental por blocos
Renderização de diffs Diffs virtualizados no painel de revisão — sem mais travamentos por Shiki completo em arquivos gigantes
Troca de sessões Troca instantânea mesmo com conversas enormes, cascata de layout-thrash eliminada
Inicialização Redução de serialização + amplificação REST por turno removida; backends de perfil pré-aquecidos ao passar o mouse
Painéis ocultos no boot Montados em idle em vez de no caminho crítico do cold-start
Re-renderizações por token Sidebar e linhas de ferramentas não são mais re-renderizadas durante streaming; JSON.stringify ansioso de args/results de ferramentas eliminado
Profiling Harness de benchmark de desempenho sistematizado substituindo 12 scripts isolados

O efeito líquido: a experiência desktop do Hermes mais rápida e fluida de todos os tempos.

3. Gerencie Seu Plano Nous pelo Terminal — /subscription e /topup

Alterar sua assinatura costumava significar uma visita ao site de faturamento. Agora tudo acontece direto no terminal:

# Abre o fluxo completo de assinatura no TUI ou CLI clássico
/subscription

# O que você vê:
# - Plano atual e cota restante
# - Prévia de upgrade: "Pay $46.30 & upgrade now"
# - Data efetiva de downgrade: "Downgrade takes effect on Aug 1"
# - Banners de alteração agendada com opção de desfazer

# Recarregue sua conta
/topup

O app desktop ganhou uma aba de configurações de faturamento correspondente. Sua carteira nunca mais precisa sair do teclado.

4. Aprovações Inteligentes — Comandos Revisados por LLM por Padrão

Quando o Hermes quer executar um comando sinalizado, um revisor LLM agora o avalia de forma independente em vez de pedir que você aprove cada um deles. Cada veredito cobre apenas aquele comando exato — um comando posterior que corresponda ao mesmo padrão recebe sua própria revisão nova.

O fluxo de decisão:

  • Seguro → auto-aprovado, sem interrupção
  • Perigoso → auto-negado, com motivo registrado
  • Incerto → escalado para o usuário para decisão manual

Combinado com regras de negação definidas pelo usuário (que bloqueiam comandos mesmo em modo yolo) e /deny <motivo> (que informa ao agente por que você recusou para que ele corrija o curso), a fadiga de aprovação do dia a dia cai drasticamente sem abrir mão do controle.

# Negar com um motivo — o agente aprende com sua rejeição
/deny that would delete the production database

# Defina regras de negação na config que bloqueiam até mesmo no modo yolo
deny_rules:
  - pattern: "rm -rf /"
    reason: "Never delete root"
  - pattern: "DROP (DATABASE|TABLE)"
    reason: "Database operations require manual review"

5. Integração com Gerenciadores de Senhas — Fontes de Secrets Bitwarden e 1Password

Chaves de API não precisam mais viver em um arquivo .env em texto puro. Uma nova interface plugável SecretSource permite que o Hermes busque secrets do Bitwarden e 1Password (referências op://) no momento do carregamento.

# hermes.config.yaml
secret_sources:
  - provider: bitwarden
    vault: "dev-creds"
    priority: 1

  - provider: onepassword
    vault: "Production"
    priority: 2
    # referências op:// resolvidas no momento do carregamento:
    # op://Production/OpenAI/credential → OPENAI_API_KEY

Decisões-chave de design:

  • Múltiplos vaults habilitados simultaneamente com precedência determinística
  • Avisos de conflito quando duas fontes fornecem a mesma variável
  • Rastreamento de proveniência por variável — você sempre sabe de onde veio um secret
  • Onze PRs concorrentes da comunidade consolidadas em uma interface orquestrada
  • Futuros providers de vault (HashiCorp Vault, AWS Secrets Manager, etc.) entram como plugins

6. Observe Seus Subagentes Trabalharem — Transcrições ao Vivo + Delegação Durável em Segundo Plano

Subagentes delegados não são mais trabalhadores invisíveis desaparecendo atrás de um spinner.

# delegate_task agora retorna arquivos de transcrição ao vivo
/delegate_task "Research competitors A, B, C in parallel"

# Observe qualquer subagente ao vivo de outro terminal
tail -f /tmp/hermes-delegate-abc123.log
# Cada chamada de ferramenta, resultado e resposta em streaming — um log legível por filho

Delegação durável em segundo plano significa que, se o processo reiniciar no meio da execução, os resultados são restaurados e entregues através de um ledger com verificação de propriedade, em vez de desaparecerem. Dispare uma frota, observe qualquer worker ao vivo e nunca perca os resultados.

7. Ledger de Obrigação de Entrega — Respostas à Prova de Falhas

Se o gateway morresse entre gerar sua resposta e confirmar que a plataforma realmente a entregou, essa resposta costumava desaparecer silenciosamente — e você tinha pago pelo turno. Não mais.

Respostas finais agora são registradas em um ledger durável no state.db em torno do envio da plataforma e reentregues no próximo boot. Isso fecha uma janela de perda silenciosa P1 para Telegram, Discord, Slack e todos os outros canais de mensagens. Uma resposta concluída não pode mais ser perdida.

8. Um Gateway, Múltiplos Perfis — Roteamento de Mensagens Baseado em Perfil

Um único gateway multiplexado compartilhando um token de bot agora pode rotear guilds, canais ou threads específicos para perfis diferentes — cada um com config, skills, memória e secrets totalmente isolados.

# Aponte seu servidor Discord de trabalho para o perfil 'work'
# e seu servidor de hobby para 'personal' — a partir de um único bot
gateway:
  multiplex_profiles:
    - profile: work
      discord:
        guilds: ["123456789"]
        channels: ["987654321"]
    - profile: personal
      discord:
        guilds: ["111111111"]

Uma segunda onda de fortalecimento de multiplexação significa que um perfil mal configurado não pode mais derrubar todo o gateway.

9. Novos Providers e Modelos de Fronteira

Adição Detalhes
Fireworks AI Provider de primeira classe com estimativa de custos, promovido ao #2 nos seletores de provider
DeepInfra Integração fortalecida com ligação completa ao catálogo
Upstage Solar Novo provider via resgate da comunidade
GPT-5.6 Variantes Sol/Terra/Luna + Pro, conectados ponta a ponta em todas as rotas
grok-4.5 Entrada GA no catálogo com allowlist de reasoning
kimi-k3 Lançamento completo no Nous Portal, OpenRouter e endpoints Kimi Coding; kimi-k2.x descontinuado
Claude Sonnet 5 Catálogo curado, preço de lançamento, metadados em todas as rotas
Claude Fable 5 Curado junto com o Sonnet 5
LM Studio Carregamento de modelos JIT para setups locais
Onda de catálogo Bedrock Sondagem real de janela de contexto a partir de endpoint ativo; linhas de contexto de 1M para Claude de geração atual + Fable

Agora você pode ocultar providers que não usa com enabled: false por provider ou excluded_providers para remover entradas indesejadas dos seletores /model.

10. Esforço de Reasoning — Níveis max e ultra

Reasoning agora é um dial, não um interruptor global:

# CLI: controle de reasoning com escopo de sessão
/reasoning  # seletor interativo: off → low → medium → high → max → ultra

# Sobrescritas por modelo na config
reasoning:
  models:
    "gpt-5.6-sol": ultra
    "claude-sonnet-5": max

# Esforço por slot em presets MoA — advisors pensam com profundidade, synthesizer permanece rápido
moa:
  presets:
    deep-council:
      references:
        - model: gpt-5.6-sol
          reasoning_effort: max
        - model: claude-sonnet-5
          reasoning_effort: max
      aggregator:
        model: gpt-5.6-luna
        reasoning_effort: medium

Os níveis máximos do GPT-5.6 e Codex são totalmente suportados, com limitação sensata em providers com escalas menores. Controle de esforço por modelo, por tarefa e por slot MoA em todo o sistema.


Desempenho — A Espinha de Velocidade

Latência do Primeiro Turno (Todas as Plataformas)

  • Redução de ~80% no TTFT: cold submit→dispatch de ~4,3s → ~0,9s no CLI, gateway, TUI, desktop e cron
  • Streaming de reasoning ATIVADO por padrão: observe o modelo pensar em vez de olhar para um spinner
  • Pintura de resposta por token com force-flush sensível à largura
  • Cache de construção de prompt e resolução de fuso horário com cache baseado em mtime
  • Lotes de ferramentas mistos segmentados para recuperar concorrência perdida

Onda de Velocidade no Desktop

  • 14× menos CPU no splitter via lexing incremental por blocos para markdown em streaming
  • Diffs virtualizados no painel de revisão — sem mais travamentos por Shiki completo
  • Troca de sessões instantânea em transcrições grandes, cascata de layout-thrash eliminada
  • Otimização de inicialização: reduções de serialização, amplificação REST por turno removida
  • Backends de perfil pré-aquecidos ao passar o mouse; painéis ocultos montados em idle
  • Eliminação de renderização por token: re-renderizações de sidebar + linhas de ferramentas interrompidas durante streaming
  • Harness de benchmark de desempenho sistematizado

Em Todo Lugar

  • TUI renderiza markdown em streaming de forma incremental por bloco
  • Descoberta de skills em cache por assinatura de scan; construção de manifesto snapshot ~5× mais rápida
  • Preparação de mensagens copy-on-write em vez de deepcopy completa
  • Cache de sondagem de metadados de modelos em cluster para troca mais rápida de modelos
  • Gateway: system prompts estáveis em bytes mantêm o cache de prompt ativo entre turnos
  • hermes update pula npm install quando os manifestos Node não foram alterados

Principais Funcionalidades

Gateway, Fleet e Relay

Ledger de obrigação de entrega durável — respostas finais registradas no state.db e reentregues no próximo boot se o gateway falhar antes da confirmação da plataforma.

Roteamento baseado em perfil — um token de bot, múltiplos perfis. Roteie guilds/canais específicos do Discord, chats do Telegram ou workspaces do Slack para perfis diferentes com config, skills, memória e secrets isolados.

Turn lease por sessão — previne processamento duplicado da mesma mensagem. Funil de escopo de conversa e limites unificados de reset de sessão.

Maturidade do Relay — provisionamento genérico OIDC client-credentials (livre de NAS), perfis roteados transportados da origem do conector, contexto de canal consumido do conector, forense de autenticação Nous com nous_session_valid em /api/status para auto-recuperação hospedada.

Plataformas de Mensageria

Plataforma Principais Atualizações
Telegram, Discord, Matrix Seletores de escolha inline para /reasoning e /fast — botões nativos com um toque
WhatsApp Enquetes nativas Baileys (clarify renderizado como enquete), localizações, metadados ricos de entrada, fluxo de pareamento via dashboard
Discord Recuperação de mensagens perdidas durante reconexão; threads auto-criadas renomeadas para títulos de sessão; timeout configurável de visualização interativa; menções ao proprietário sob demanda em prompts de aprovação de execução
Slack Linha de status ao vivo por ferramenta durante execução do agente
Telegram Allowlist de resposta livre por tópico
Google Chat Prompts de clarify renderizados como cards
Voz Alternância stt.echo_transcripts; legendas MEDIA em envios autônomos

App Desktop

  • Arquitetura de shell orientada a contribuições em modelo de árvore de layout — painéis, zonas e layouts como dados
  • Página de Capacidades: Skills/Tools/MCP + Hub em um só lugar com navegação overlay responsiva
  • Modo de conexão Hermes Cloud com troca suave de gateway e polimento das configurações de gateway
  • Tooltips de dicas de keybind + aba de configurações de keybinds + diálogo unificado de worktree
  • Sistema de cores de sessão + projeto — herda do projeto, sobrescrita por sessão, compartilhado entre sidebar/abas
  • Painel declarativo de provider de memória + modal de configuração completa
  • Providers de TTS/STT definidos por config com parâmetros xAI TTS
  • Configuração de escala de UI, zoom Ctrl/Cmd+roda, alternância de backdrop do chat
  • Conversão completa para TypeScript da árvore do desktop

CLI e TUI

  • /model --once — sobrescrita de modelo por um turno que reverte automaticamente
  • Invocações empilhadas de slash-skill/skill-a /skill-b do XYZ carrega ambas as skills em ordem
  • Flag de solução de problemas --safe-mode; dry-run de desinstalação; falhas TLS falham rapidamente com dicas de correção
  • Alias /compact + flags de pré-visualização
  • Hermes Console REPL com follow-ups de desempenho
  • TUI: suporte a atualização do seletor de modelos; bundles de skills personalizados despachados como turnos do agente

Sistema de Ferramentas, Skills e MCP

  • MCP: convenção de nomenclatura mcp__server__tool; notificações de log do servidor no agent.log; OAuth hospedado concluído no Dashboard + Desktop; redirect_uri/redirect_host configuráveis para setups com proxy/WAF
  • Skills: security/unbroker (remoção autônoma de data brokers); blender-mcp reformulado em torno de entrada de catálogo; skill complementar unreal-mcp; expansão de padrão humanizer
  • Browser: snapshots completos armazenados no truncamento; opt-in de denylist de eval
  • Kanban: diálogo modal de criação de tarefas + diretório de projeto do board editável; rolagem do board com arrastar para mover; toolset de anexos + CLI com fetch de URL protegido contra SSRF
  • Cron: histórico de auditoria de execução durável; correção de condição de corrida na remoção de stale one-shot; TTL de reivindicação de execução derivado de HERMES_CRON_TIMEOUT

Sessões e Exportação de Dados

# Exportar sessões em múltiplos formatos
hermes sessions export --format markdown
hermes sessions export --format html
hermes sessions export --format quarto
hermes sessions export --format prompt-only
hermes sessions export --format hf-trace  # pronto para Hugging Face

# Com redação de secrets
hermes sessions export --redact

# Filtrar por idade, workspace, plataforma
hermes sessions export --older-than 30d --workspace my-project

Seu histórico de conversas agora é um dataset real, não uma caixa preta.

Secrets e Config

  • Interface plugável SecretSource com providers Bitwarden e 1Password
  • Comandos hermes config get / unset para gerenciamento de configuração
  • Avisos de chaves de config raiz desconhecidas + relatório de chaves depreciadas no doctor
  • Uso de modelo auxiliar registrado por tarefa na contabilidade de sessão
  • Tags de uso do Nous Portal com escopo de conversa em chamadas aux/MoA/delegate

Melhorias no MoA

  • reference_max_tokens para limitar a saída do advisor e cortar latência
  • Cadência de fanout por preset — user_turn executa advisors uma vez por turno do usuário
  • Presets obsoletos exibidos sem novas tentativas; salvamento de presets incompletos rejeitado na fronteira da API
  • Aggregator resolve reasoning como um modelo atuante

Segurança e Confiabilidade

Fortalecimento da Superfície de Credenciais

  • Credenciais Vertex isoladas do ambiente de subprocesso e através de escopos de secrets de perfil
  • Seis PRs de fortalecimento P1 resgatados em uma única passada — guards de browser, ancoragem MEDIA, lockdown de .env, transporte ACP de delegate
  • Leituras de arquivos locais de media/vision/image-gen roteadas através de um guard de leitura de credenciais compartilhado
  • Varredura de limite de corpo de webhook em todos os servidores aiohttp
  • Redação de token de bot em erros de transporte do Telegram
  • Prefixos de token Fireworks adicionados ao redactor
  • CI fortalecido contra interpolação de refs não confiáveis

Redação e Padrões Seguros

  • Falsos positivos de lookup de env corrigidos para campos KEY=value e config JSON/YAML
  • Bot tokens removidos de erros de connect/send do Telegram
  • Ambiente de subprocesso computer_use sanitizado em todos os cinco pontos de spawn do driver cua

Confiabilidade do Gateway e Agente

  • tool_call_id deduplicado em todos os sanitizadores pré-API
  • Background review herda reasoning_config do pai para paridade de cache Anthropic
  • Clientes Anthropic request-local para que o watchdog de stale/interrupt nunca corrompa o SQLite
  • 429 do login OAuth corrigido — UA não deve ser claude-code/

Segurança do Dashboard

  • Guard de credenciais de managed-files ampliado além de .env + lacuna de árvore de diretórios fechada
  • TOCTOU de token OAuth fechado com escritas atômicas 0o600
  • Dashboards obsoletos não podem recriar perfis deletados

Revertidos Nesta Janela

  • Firewall de egress de injeção de credenciais iron-proxy — revertido, não será enviado
  • Skill de orquestração dynamic-workflow — chegou a ser incluído, depois revertido
  • Ponto de extensão memory provider-actions — chegou a ser incluído, depois revertido
  • Nota: o plugin de escalação de aprovação pre_tool_call foi revertido no meio da janela, mas reincluído e é enviado neste lançamento

Atualização

hermes update

Para novas instalações:

# macOS / Linux / WSL2
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

# Windows (PowerShell)
iex (irm https://hermes-agent.nousresearch.com/install.ps1)

Changelog completo no GitHub

← Hermes Agent Changelog