🤖HermesBlog
Hermes Version History · Parte 138/9/2026

Hermes v2026.5.29 Update: Docker Security, Supervised Gateways & Smarter Interruptions

Hermes v2026.5.29 (2026-05-29) update: Hermes Agent v0.15.1 (2026.5.29) — The P

hermes-version-2026-5-29

Atualização Hermes v2026.5.29: Segurança Docker, Gateways Supervisionados e Interrupções Mais Inteligentes

Olá, fãs do Hermes! A atualização mais recente chegou, e é uma grande novidade para quem roda o Hermes no Docker. Reforçamos a segurança, tornamos seu gateway mais resiliente e adicionamos proteções muito necessárias para bots não supervisionados. Vamos detalhar tudo em linguagem simples.

Duas Maneiras de Usar Docker com o Hermes

Primeiro, uma rápida revisão. Existem duas maneiras de encaixar o Docker no cenário do Hermes:

  1. Rodando o Hermes dentro do Docker – O agente vive em um contêiner, e todos os seus dados (configuração, chaves de API, sessões) são armazenados em uma única pasta na sua máquina host, montada em /opt/data. Este é o foco principal desta atualização.
  2. Docker como backend de terminal – O Hermes roda no seu host, mas executa cada comando dentro de um contêiner sandbox persistente. Esse contêiner sobrevive a chamadas de ferramentas, /new e até mesmo subagentes durante toda a vida do processo Hermes.

Esta atualização foca na primeira opção, e trata-se de tornar essa experiência mais suave e segura.

⚠️ Importante: Evite Consoles VPS Baseados em Navegador

Antes de mergulharmos, um aviso crítico. Se você estiver usando um provedor de VPS como Hetzner Cloud, não use o console baseado em navegador deles para colar comandos de instalação. Esses consoles distorcem caracteres especiais – : pode se tornar ;, @ é embaralhado, e chaves de API coladas podem ser corrompidas silenciosamente. Isso quebrará seus comandos docker run de maneiras confusas.

Sempre conecte via SSH (ssh root@<host>) para entrada de comandos segura para copiar e colar. Se você precisar usar o console do navegador, digite os comandos manualmente e verifique cada :, @, = e / antes de pressionar Enter.

Início Rápido: Assistente de Configuração

Começar ficou mais fácil do que nunca. Crie um diretório de dados e execute o assistente de configuração interativamente:

mkdir -p ~/.hermes
docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent setup

Isso o guia pela configuração da chave de API e grava tudo em ~/.hermes/.env. Você só precisa fazer isso uma vez. Dica de profissional: configure um sistema de chat (Telegram, Discord, etc.) neste ponto para que seu gateway tenha onde conversar.

Executando em Modo Gateway (Agora Supervisionado!)

Depois de configurado, execute o Hermes como um gateway persistente em segundo plano:

docker run -d \
  --name hermes \
  --restart unless-stopped \
  -v ~/.hermes:/opt/data \
  -p 8642:8642 \
  nousresearch/hermes-agent gateway run

Aqui está a grande mudança: seu gateway agora é automaticamente supervisionado pelo s6-overlay. Se o processo do gateway falhar, ele reinicia em segundos – sem necessidade de reiniciar o contêiner. O painel (quando habilitado) recebe o mesmo tratamento.

Você verá uma migalha de pão em docker logs confirmando a atualização. Quer o comportamento antigo onde o contêiner sai quando o gateway sai? Passe --no-supervise ou defina HERMES_GATEWAY_NO_SUPERVISE=1. Isso é útil para testes de fumaça em CI, mas para produção, o padrão supervisionado é estritamente melhor.

Paradas Forçadas do Loop de Ferramentas para Gateways Não Supervisionados

Essa é uma salva-vidas. Por padrão, tool_loop_guardrails.hard_stop_enabled é false. Isso é aceitável para sessões interativas onde um humano pode ver os avisos. Mas para gateways não supervisionados, apenas avisos não impedirão um agente preso em um loop repetitivo de chamadas de ferramentas.

Operadores que desejam comportamento de disjuntor devem habilitar paradas forçadas no config.yaml do seu perfil:

tool_loop_guardrails:
  hard_stop_enabled: true
  hard_stop_after:
    exact_failure: 5
    idempotent_no_progress: 5

Isso significa que após 5 falhas exatas ou 5 loops sem progresso, o agente é forçado a parar. Chega de loops infinitos queimando seus créditos de API.

Executando o Painel (Também Supervisionado!)

O painel web integrado agora roda como um serviço supervisionado junto com o gateway no mesmo contêiner. Basta definir HERMES_DASHBOARD=1:

docker run -d \
  --name hermes \
  --restart unless-stopped \
  -v ~/.hermes:/opt/data \
  -p 8642:8642 \
  -p 9119:9119 \
  -e HERMES_DASHBOARD=1 \
  nousresearch/hermes-agent gateway run

Se o painel falhar, o s6-supervise o reinicia automaticamente após um pequeno backoff. A saída do painel vai para docker logs <container>, então a depuração é direta.

Segurança: Expondo o Servidor de API

O servidor de API é controlado por API_SERVER_ENABLED=true. Se você precisar expô-lo além de 127.0.0.1, também deve definir API_SERVER_HOST=0.0.0.0 e fornecer um API_SERVER_KEY (mínimo de 8 caracteres – gere um com openssl rand -hex 32):

docker run -d \
  --name hermes \
  --restart unless-stopped \
  -v ~/.hermes:/opt/data \
  -p 8642:8642 \
  -e API_SERVER_ENABLED=true \
  -e API_SERVER_HOST=0.0.0.0 \
  -e API_SERVER_KEY="$(openssl rand -hex 32)" \
  -e API_SERVER_CORS_ORIGINS='*' \
  nousresearch/hermes-agent gateway run

Uma palavra de cautela: abrir qualquer porta em uma máquina exposta à internet é um risco de segurança. Não faça isso a menos que você entenda completamente as implicações.

O Que Vem a Seguir?

Esta atualização visa tornar o Hermes mais confiável e seguro em produção. O gateway supervisionado significa menos interrupções, as proteções de parada forçada previnem loops descontrolados, e o endurecimento de segurança mantém suas chaves de API mais seguras. Atualize sua imagem, habilite essas paradas forçadas e aproveite um Hermes mais estável!

📖 Documentação oficial

この記事は Hermes Agent のDocumentação oficialに基づいています:GitHub ›/releases/tag/v2026.5.29