v0.5.0

Hermes Agent v0.5.0 — A Versão de Endurecimento


Visão Geral

v0.5.0 — A Versão de Endurecimento. Publicada em 28 de março de 2026. Esta versão tem como objetivo tornar o Hermes Agent pronto para produção: mais de 50 correções de segurança e confiabilidade, uma auditoria completa da cadeia de fornecimento e grandes expansões de plataforma que posicionam o Hermes como um concorrente sério no espaço de agentes autônomos.

Neste ponto, o projeto já havia ultrapassado 15.700 estrelas no GitHub desde seu lançamento público inicial em fevereiro de 2026, com mais de 242 colaboradores. A Nous Research descreveu esta versão como aquela que “endurece” cada camada da stack — desde o travamento de versões de dependências e correção de CVEs, até proteções SSRF e prevenção de injeção de shell.


Funcionalidades Principais

1. Hugging Face como Fornecedor de Inferência de Primeira Classe

O Hermes Agent agora se integra nativamente com a API de Inferência do Hugging Face, completo com autenticação, assistente de configuração e um seletor inteligente de modelos que mapeia os padrões agentivos do OpenRouter para seus equivalentes no HF.

# Durante a configuração, o Hugging Face aparece como opção de fornecedor
hermes setup
# Selecione "Hugging Face" → insira seu token da API HF → escolha entre os modelos agentivos selecionados

# Mudar para um modelo do Hugging Face em tempo de execução
hermes model --provider huggingface

Como funciona internamente:

  • Lista de modelos selecionados que mapeia os padrões do OpenRouter para equivalentes HF, para que você escolha o modelo certo sem adivinhação
  • Fornecedores com mais de 8 modelos selecionados ignoram a consulta ao vivo do endpoint /models para inicialização instantânea
  • Fluxo completo de autenticação com seu token da API HF, armazenado com segurança no repositório de credenciais do Hermes

2. Telegram Private Chat Topics

Conversas baseadas em projetos com vinculação de habilidades funcionais por tópico — agora você pode executar fluxos de trabalho isolados dentro de um único chat do Telegram. Cada tópico tem seu próprio conjunto de habilidades, seu próprio contexto e sua própria personalidade de agente.

# hermes.config.yaml
telegram:
  private_chat_topics: true
  topic_skills:
    - topic: "ml-experiments"
      skills: [python-ml, data-analysis, notebook]
    - topic: "devops"
      skills: [docker, terraform, kubernetes]

Isso significa que um chat do Telegram pode hospedar seu fluxo de trabalho de ML, seu gerenciamento de infraestrutura e sua revisão de código — tudo isolado, tudo persistente, tudo em um só lugar.

3. Backend Nativo Modal SDK

A dependência swe-rex foi substituída pelo SDK Modal nativo (Sandbox.create.aio + exec.aio), eliminando túneis SSH e simplificando drasticamente o backend de terminal Modal.

# Antes: swe-rex criava túneis SSH para cada operação no sandbox
# Depois: chamadas diretas ao SDK — mais rápido, mais simples, sem gerenciamento de túneis

# O agente agora usa as primitivas assíncronas nativas do Modal:
# Sandbox.create.aio()  — criar sandboxes sem sobrecarga de túneis
# exec.aio()            — executar comandos diretamente via SDK

Esta mudança remove uma dependência arquitetural significativa e torna a execução em sandbox mais confiável e fácil de depurar.

4. Hooks de Ciclo de Vida de Plugins Ativados

O sistema de hooks de plugins agora está totalmente operacional. Quatro hooks de ciclo de vida são disparados em pontos-chave do loop do agente:

Hook Ponto de Disparo Caso de Uso
pre_llm_call Antes de cada chamada à API do LLM Modificar prompts, injetar contexto, registrar requisições
post_llm_call Após cada chamada à API do LLM Pós-processar respostas, extrair dados estruturados
on_session_start Quando uma sessão começa Inicializar recursos, configurar espaço de trabalho
on_session_end Quando uma sessão termina Limpar, persistir estado, enviar notificações
# Exemplo de plugin usando hooks de ciclo de vida
# my_plugin.py
def pre_llm_call(context, messages):
    # Adicionar contexto de sistema personalizado antes que o LLM veja o prompt
    messages.insert(0, {"role": "system", "content": "Data de hoje: 2026-03-28"})
    return messages

def post_llm_call(context, response):
    # Registrar uso de tokens na sua plataforma de análise
    log_usage(response.usage)
    return response

Estes hooks são disparados no CLI, gateway e todas as plataformas de mensagens — completando um recurso de extensibilidade muito solicitado.

5. Enforcement de Uso de Ferramentas GPT

Os modelos GPT tinham uma peculiaridade persistente: eles descreviam o que pretendiam fazer em vez de realmente chamar as ferramentas. A v0.5.0 adiciona GPT_TOOL_USE_GUIDANCE — uma injeção especializada no prompt do sistema que força os modelos GPT a usar ferramentas em vez de narrar ações.

# Interno: antes de cada chamada à API GPT, o agente injeta orientação:
GPT_TOOL_USE_GUIDANCE = """
Quando você precisar realizar uma ação, você DEVE usar a ferramenta apropriada.
NÃO descreva o que você faria — realmente chame a ferramenta.
"""

Além disso, avisos de orçamento obsoletos que se acumulavam no histórico de conversa (e faziam os modelos evitarem ferramentas em turnos consecutivos) agora são automaticamente removidos da transcrição.

6. Correção dos Limites de Saída do Anthropic

O limite rígido de 16K max_tokens foi substituído por limites de saída nativos por modelo:

Modelo Limite Antigo Novo Limite
Claude Opus 4.6 16K 128K
Claude Sonnet 4.6 16K 64K
Outros modelos Claude 16K Específico do modelo

Isso corrige dois problemas de longa data:

  • Erros de “Response truncated” quando o agente precisava de mais de 16K tokens de saída
  • Esgotamento do orçamento de raciocínio — o agente agora detecta quando um modelo usa todos os tokens de saída em raciocínio e pula inteligentemente as tentativas inúteis de continuação

7. Suporte Nix Flake

Por @alt-glitch — build uv2nix completo, módulo NixOS com modo contêiner persistente, chaves de configuração autogeradas a partir do código-fonte Python, e PATHs com sufixo para facilidade de uso do agente.

# flake.nix
{
  inputs.hermes-agent.url = "github:NousResearch/hermes-agent";
  # ...
  hermes-agent.nixosModules.default
  # Fornece: serviço hermes-agent com modo contêiner persistente
}

8. Endurecimento da Cadeia de Fornecimento

Esta versão implementou uma defesa abrangente da cadeia de fornecimento:

  • Dependência litellm comprometida removida — um incidente de cadeia de fornecimento amplamente divulgado
  • Todos os intervalos de versão de dependências travados — sem mais desvio de versões flutuantes
  • uv.lock regenerado com hashes criptográficos — cada dependência é verificada no momento da instalação
  • Workflow de CI adicionado que escaneia cada PR em busca de padrões de ataque à cadeia de fornecimento
  • Dependências atualizadas para corrigir CVEs conhecidos em toda a árvore de dependências

Novas Habilidades

Habilidade Descrição
G0DM0D3 Habilidade de jailbreak Godmode para engenharia avançada de prompts e exploração de capacidades
Gerenciamento Docker Gerenciamento do ciclo de vida de contêineres, construção de imagens e orquestração com compose
Migração OpenClaw v2 17 novos módulos para migrar do OpenClaw para o Hermes Agent, incluindo resumo de terminal

Melhorias no Sistema de Habilidades

  • Passagem de variáveis de ambiente — habilidades podem declarar quais variáveis de ambiente precisam, e o Hermes as transmite com segurança
  • Prompts de habilidades em cache com módulo compartilhado skill_utils para um tempo até o primeiro token (TTFT) significativamente mais rápido
  • API Git Trees usada para instalação de habilidades para evitar perda silenciosa de subdiretórios
  • Habilidades criadas pelo agente agora são tratadas corretamente como confiáveis (não como conteúdo comunitário não confiável)

Plataformas de Mensagens

Telegram

  • Private Chat Topics com vinculação de habilidades por tópico (veja Funcionalidades Principais acima)
  • Descoberta automática de IPs alternativos via DNS-over-HTTPS quando api.telegram.org está inacessível — o agente encontra rotas alternativas
  • Modo de threading de resposta configurável — controle como o agente organiza suas respostas em threads
  • Reconexão auto-agendada quando o polling falha após erros 502

Discord

  • Corrigido o indicador fantasma de “digitando” que persistia após o término do turno do agente

Slack

  • Mensagens de progresso de chamadas de ferramentas agora são roteadas corretamente para a thread certa do Slack

WhatsApp

  • Suporte a download de mídia — documentos, áudio e mensagens de vídeo agora podem ser baixados pelo agente

Núcleo do Gateway

  • Comando /verbose para plataformas de mensagens — alternar a verbosidade da saída de ferramentas de qualquer chat
  • Notificações de revisão em segundo plano entregues diretamente no chat do usuário
  • Tentar novamente falhas de envio transitórias e notificar o usuário quando as tentativas se esgotarem
  • /stop força a liberação do bloqueio de sessão — recupere agentes travados sem reiniciar o gateway
  • SessionStore thread-safe com threading.Lock
  • O gateway não desperdiça mais cerca de 10K tokens carregando o AGENTS.md do repositório Hermes em cada sessão
  • Timeouts de requisição adicionados aos adaptadores HA, Email, Mattermost e SMS

CLI e Experiência do Usuário

Melhorias no CLI Interativo

  • Modo de entrada ocupada configurável — controle o que acontece quando você digita durante o processamento do agente
  • Colagem multilinha preservada — sem entrada distorcida ao colar comandos de várias linhas
  • Callback de geração de ferramentas — atualizações em streaming de “preparing terminal…” enquanto o agente gera argumentos de ferramentas
  • Correções na barra de status: tokens com zeros à direita agora são exibidos corretamente (260K em vez de 26K), duplicatas e degradação corrigidas durante sessões longas
  • A caixa de raciocínio não é mais renderizada 3 vezes durante loops de chamadas de ferramentas
  • “Event loop is closed” / “Press ENTER to continue” durante sessões ociosas — corrigido com uma solução de três camadas
  • O TUI é atualizado antes da saída de tarefas em segundo plano para evitar sobreposição visual

Configuração e Ajustes

  • Reformulação do comando /model — pipeline compartilhado extraído para CLI e gateway, suporte a endpoint personalizado
  • O menu de configuração para usuários recorrentes agora usa mapeamento explícito de teclas em vez de índice posicional frágil
  • hermes update endurecido contra histórico divergente, branches não principais e casos extremos do gateway
  • A migração do OpenClaw não sobrescreve mais os padrões; o assistente de configuração pula seções já importadas
  • O carregamento do AGENTS.md agora para no nível superior — sem mais travessia recursiva de diretórios
  • Caminhos do Homebrew do macOS adicionados à resolução de PATH do navegador e terminal
  • SOUL.md padrão redefinido para o texto de identidade base

Sistema de Ferramentas

Servidor API

  • Suporte a Idempotency-Key — semântica de repetição segura para chamadas de API
  • Limites de tamanho de corpo e envelope de erro compatível com OpenAI
  • Cancela agentes órfãos na desconexão SSE com interrupção real
  • O streaming não quebra mais quando o agente faz chamadas de ferramentas

Terminal e Operações de Arquivo

  • O analisador de patch V4A agora lida corretamente com blocos de apenas adição
  • Backoff exponencial para polling persistente de shell — reduz o uso de CPU
  • Timeout adicionado às chamadas de subprocesso em context_references
  • Proteção SSRF adicionada a browser_navigate, vision_tools e web_tools
  • Erro 402 de créditos insuficientes tratado elegantemente na ferramenta de visão
  • O timeout de comando do navegador agora é configurável via config.yaml

MCP

  • Resolução unificada de conjuntos de ferramentas MCP baseada em tempo de execução e configuração
  • Proteção contra colisão de nomes de ferramentas MCP — impede a sobrescrita silenciosa de ferramentas

Segurança e Confiabilidade

Endurecimento de Segurança (mais de 50 correções)

Categoria Correção
Proteção SSRF browser_navigate, vision_tools e web_tools agora bloqueiam Server-Side Request Forgery
Restrição de Subagentes Conjuntos de ferramentas de subagentes restritos ao conjunto habilitado do pai — sem escalação de privilégios
Prevenção Zip-Slip Auto-atualização endurecida contra ataques de path traversal
Injeção de Shell A expansão de caminho ~user não permite mais injeção de comandos
Detecção de Comandos Entrada normalizada antes da detecção de comandos perigosos
Tirith Veredictos de bloqueio agora são aprovavéis em vez de bloqueio rígido (humano no loop)
Dependências litellm/typer/platformdirs comprometidos removidos, todos os intervalos travados, lockfile com hashes

Confiabilidade

  • Contenção de bloqueio de escrita WAL do SQLite causando congelamentos de TUI de 15-20s — corrigido
  • Concorrência do SQLite endurecida com garantias de integridade de transcrição de sessão
  • Prevenção de re-disparo de jobs cron em loops de crash/reinício do gateway
  • Sessões cron corretamente marcadas como encerradas após a conclusão do job

Performance

  • Otimizações de inicialização TTFT — melhorias rápidas para inicializações a frio mais velozes
  • Cache de prompts de habilidades com módulo compartilhado skill_utils reduz computação repetida
  • Leituras redundantes de arquivos eliminadas para condições de habilidades no construtor de prompts
  • Timeout padrão da API aumentado de 900s para 1800s para modelos de raciocínio lento

Atualização

hermes update

Para novas instalações, visite o guia de instalação.


Registro de alterações completo no GitHub

← Hermes Agent Changelog