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
/modelspara 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
litellmcomprometida 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.lockregenerado 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_utilspara 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.orgestá 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
- Suporte a download de mídia — documentos, áudio e mensagens de vídeo agora podem ser baixados pelo agente
Núcleo do Gateway
- Comando
/verbosepara 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
/stopforça a liberação do bloqueio de sessão — recupere agentes travados sem reiniciar o gatewaySessionStorethread-safe comthreading.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 updateendurecido 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
Navegador e Visão
- Proteção SSRF adicionada a
browser_navigate,vision_toolseweb_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_utilsreduz 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