Hermes Agent: referência do profissional (2026)
# v0.14 Foundation adiciona SuperGrok OAuth, hermes proxy, x_search, instalação via PyPI, 22 plataformas de mensagens, /handoff, diagnósticos de escrita LSP, video_generate, computer_use, beta nativo para Windows e instalações lazy mais leves.
Resumo: Hermes Agent é um agente de IA open-source e autoaprimorável da Nous Research. Ele roda como CLI e como um gateway de mensagens multiplataforma, armazena uma identidade durável e memória persistente em disco, agrega skills que melhoram com o uso e funciona com qualquer provedor LLM compatível com OpenAI — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Qwen Cloud, Hugging Face, Google, xAI/SuperGrok ou seu próprio endpoint auto-hospedado.1219 A partir da v0.14.0 (16 de maio de 2026), Hermes adiciona SuperGrok OAuth com contexto de 1M do grok-4.3, um proxy local compatível com OpenAI para provedores OAuth (
hermes proxy),x_searchde primeira classe, suporte a instalação via PyPI, instalação preguiçosa de dependências, 22 plataformas de mensagens com LINE e SimpleX Chat,/handoff, diagnósticos semânticos LSP após escritas,video_generateunificado,computer_usevia cua-driver para provedores que não são Anthropic, beta nativo para Windows e fechamento de 12 P0 / 50 P1.19 A parte mais difícil para a maioria dos novos usuários é a autenticação de provedores: Hermes oferece suporte a cerca de 20 provedores de primeira classe, além de endpoints personalizados, e três caminhos distintos de autenticação (chave API em.env, OAuth viahermes modelou endpoint personalizado emconfig.yaml). O modelo de autenticação é a primeira coisa que você deve aprender — todo o resto depende de qual provedor é resolvido.
Hermes Agent opera como um runtime completo de agente, não como um wrapper de chat. Ele lê seu filesystem, executa comandos em backends com sandbox, faz scraping da web, cria subagents, executa cron jobs agendados, conversa com Telegram/Discord/Slack/WhatsApp/Signal/Email a partir de um único processo de gateway e cria suas próprias skills com base na experiência.1 O CLI é uma UI de terminal construída sobre um loop de conversa em run_agent.py; o gateway é um processo de longa duração que encaminha mensagens de plataformas de mensagens pelo mesmo loop de conversa.3
A diferença entre o uso casual e especialista do Hermes se resume a cinco sistemas. Domine estes pontos e o Hermes vira um multiplicador de força:
- Resolução de provedores: como os fluxos de autenticação mapeiam para chamadas API
- Hierarquia de configuração:
config.yaml+.env+auth.json+SOUL.md+AGENTS.md - Sistema de tools + toolset: o que o agente pode fazer, controlado por plataforma
- Sistema de skills: memória procedural que o agente cria e evolui
- Gateway + cron + profiles: rodar Hermes onde você vive, não só onde você está
Principais conclusões
- A autenticação de provedores tem três caminhos, não um. Chave API em
.env, OAuth viahermes model/hermes authou endpoint personalizado emconfig.yaml. Escolha o caminho que corresponde ao seu provedor, não o que parece mais familiar. - Trocar de provedor é um único comando.
hermes modelguia você interativamente por todos os provedores compatíveis, incluindo logins OAuth, e/model provider:modeltroca no meio da sessão sem perder o histórico.2 - Dois arquivos são a superfície de configuração editável pelo usuário.
~/.hermes/config.yamlguarda configurações e~/.hermes/.envguarda segredos.auth.json,SOUL.md,MEMORY.mdeskills/são gerenciados diretamente pelo Hermes — você pode editarSOUL.mdmanualmente, mas o restante é alterado pelo próprio agente.4 - Hermes é o sucessor do OpenClaw. Se você está migrando,
hermes claw migrateimporta automaticamente mais de 30 categorias de estado.5 - A qualidade do serviço depende do seu modelo auxiliar. Visão, resumo da web, compressão e flush de memória usam um LLM auxiliar separado. Por padrão, ele é Gemini Flash via autodetecção (OpenRouter → Nous → Codex) — se nenhum deles estiver configurado, esses recursos degradam silenciosamente até você apontar os slots auxiliares para seu provedor principal.4
O que muda na v0.14
A v0.14.0 tem menos a ver com um recurso principal e mais com reduzir o atrito de configuração enquanto amplia onde o Hermes pode rodar.19 As principais mudanças operacionais:
- Instalação e inicialização estão mais leves.
pip install hermes-agentfunciona pelo PyPI, adaptadores pesados são instalados de forma preguiçosa no primeiro uso, e o caminho de inicialização adia trabalho suficiente para reduzir a partida a frio em cerca de 19 segundos. - Assinaturas podem virar endpoints API locais.
hermes proxytransforma provedores apoiados por OAuth, como Claude Pro, ChatGPT Pro e SuperGrok, em um endpoint local compatível com OpenAI para ferramentas como Codex, Aider, Cline e Continue. - O alcance do gateway aumenta. LINE e SimpleX Chat elevam a contagem de plataformas para 22, Microsoft Teams está conectado de ponta a ponta, o backfill de histórico do Discord vem ativado por padrão, e prompts
clarifyno Telegram/Discord agora usam botões nativos. - A verificação no momento da escrita melhora. Após edições, Hermes pode mostrar resumos de mutações de arquivos por turno e diagnósticos semânticos de language-server antes do próximo turno, aproximando-o de um trabalho de agente orientado por evidências.
- Ferramentas de desktop e mídia ficam mais amplas.
computer_usefunciona por meio do cua-driver para provedores que não são Anthropic,video_generateé unificado por trás de backends plugáveis, evision_analyzeenvia pixels brutos para modelos que realmente conseguem enxergar.
Cada seção abaixo se baseia na documentação upstream em hermes-agent.nousresearch.com/docs e na árvore de código-fonte em github.com/NousResearch/hermes-agent. Cada afirmação factual tem uma nota de rodapé apontando para a página upstream específica de onde veio.
Escolha seu caminho
| O que você precisa | Vá para |
|---|---|
| Instalar Hermes | Instalação — instalador de uma linha ou etapas manuais |
| Fazer login em um provedor | Autenticação e provedores — a seção que você veio procurar |
| Trocar de modelo no meio da sessão | O comando hermes auth e Endpoints personalizados e auto-hospedados para a sintaxe de /model |
| Rodar um LLM local | Endpoints personalizados e auto-hospedados — Ollama, vLLM, SGLang, llama.cpp, LM Studio |
| Conectar plataformas de mensagens | Gateway de mensagens — Telegram, Discord, Slack, WhatsApp, Signal, Google Chat, LINE, SimpleX Chat (22 no total) |
| Escrever ou instalar uma skill | Sistema de skills — divulgação progressiva + hub de skills |
| Referência detalhada para cada comando CLI | Continue lendo — e acesse diretamente Comandos CLI |
Como Hermes funciona: o modelo mental
Hermes é estruturado em torno de um único loop de conversa que qualquer ponto de entrada pode invocar. Os pontos de entrada são o CLI (cli.py), o messaging gateway (gateway/run.py), o adaptador ACP para integração com editor, o batch runner e um servidor API.3 Todos eles, no fim, chamam AIAgent.run_conversation() em run_agent.py, que:
- Monta o system prompt a partir de
SOUL.md,MEMORY.md,USER.md, skills, arquivos de contexto e orientações de ferramentas viaprompt_builder.py3 - Resolve o provedor em runtime via
runtime_provider.py— esta é a etapa que escolhe sua autenticação, URL base e modo API3 - Chama o provedor usando um dos três modos API:
chat_completions,codex_responsesouanthropic_messages3 - Encaminha qualquer chamada de ferramenta retornada por meio de
model_tools.pye do registro central de ferramentas (tools/registry.py)3 - Continua o loop até o modelo produzir uma resposta final e então persiste a sessão no SQLite com FTS53
Entender esse loop importa porque todo recurso — personalidades, memória, skills, compressão, fallback — se conecta a uma dessas etapas. Quando você está lendo uma chave de configuração e se perguntando o que ela faz, a resposta geralmente é “é um controle na etapa 1, 2, 3 ou 4 do loop acima.”
Núcleo independente de plataforma. Uma classe AIAgent atende ao CLI, gateway, ACP, batch e servidor API. As diferenças de plataforma ficam no ponto de entrada, não no agente em si.3 É por isso que os mesmos comandos slash funcionam no terminal e no Telegram — eles são despachados a partir de um COMMAND_REGISTRY compartilhado em hermes_cli/commands.py.6
A estrutura de diretórios é o sistema. Hermes armazena tudo em ~/.hermes/ (ou $HERMES_HOME para profiles não padrão):4
~/.hermes/
├── config.yaml # Settings (model, terminal, TTS, compression, etc.)
├── .env # API keys and secrets
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
Cada arquivo acima tem uma função específica; nenhum deles se sobrepõe. Se você está procurando “onde Hermes armazena X”, está em um deles.
Instalação
O instalador de uma linha continua sendo o caminho guiado para a maioria dos usuários. Ele cuida de Python, uv, Node.js, ripgrep, ffmpeg, o clone do repositório, o ambiente virtual e o comando global hermes.7 A v0.14.0 também traz um pacote PyPI real, então pip install hermes-agent agora é uma instalação direta viável quando você já controla o ambiente Python.19
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
pip install hermes-agent
hermes
Funciona em Linux, macOS, WSL2 e Android/Termux (o instalador detecta Termux automaticamente e muda para um bundle Android testado).7 A v0.14.0 adiciona suporte nativo ao Windows em beta inicial por meio de um instalador PowerShell, mas WSL2 continua sendo a recomendação mais segura para uso em produção até o caminho do Windows amadurecer.19
Depois que terminar:
source ~/.bashrc # or ~/.zshrc
hermes # Start chatting
O único pré-requisito é git. O instalador provisiona automaticamente Python 3.11 via uv (sem exigir sudo), Node.js v22 (para automação de navegador e a bridge do WhatsApp), ripgrep e ffmpeg.7
Verifique a instalação
hermes version # Check version
hermes doctor # Diagnose config/dependency issues
hermes status # Show current configuration + auth state
hermes dump # Copy-pasteable setup summary for debugging
hermes doctor diz exatamente o que está faltando e como corrigir.7 hermes dump é o comando de diagnóstico para colar em uma issue do GitHub ou thread do Discord ao pedir ajuda — é um resumo em texto simples de toda a sua configuração, com segredos ocultados.8
Instalação manual
Se você precisa de controle total — versão personalizada de Python, extras específicos, integração com Nix/NixOS — o fluxo manual está documentado passo a passo no guia de instalação upstream.7 Principais extras opcionais que você pode combinar com uv pip install -e ".[<extras>]":
| Extra | O que adiciona |
|---|---|
all |
Tudo abaixo |
messaging |
Gateway Telegram e Discord |
cron |
Parsing de expressões cron |
cli |
UI de menu no terminal para o assistente de configuração |
modal |
Backend de execução na cloud Modal |
voice |
Entrada de microfone do CLI + reprodução de áudio |
tts-premium |
Vozes premium ElevenLabs |
honcho |
Memória AI-native (integração com Honcho) |
mcp |
Suporte a Model Context Protocol |
homeassistant |
Integração com Home Assistant |
acp |
Suporte à integração com editor ACP |
slack |
Mensagens no Slack |
pty |
Suporte a terminal PTY (ferramentas CLI interativas) |
dev |
pytest e utilitários de teste |
termux |
Bundle Android testado (inclui cron, cli, pty, mcp, honcho, acp) |
O comando de instalação do Termux é diferente — ele usa pip com um arquivo de constraints, não uv pip:
python -m pip install -e ".[termux]" -c constraints-termux.txt
Isso acontece porque .[all] no Android puxa faster-whisper via o extra voice, que depende de wheels ctranslate2 que não são publicados para Android.7
autenticação e provedores
Hermes oferece suporte a cerca de 19 provedores de primeira classe, além de endpoints customizados, e três caminhos distintos de autenticação. Aqui está toda a superfície de autenticação, organizada por caminho para você encontrar o que corresponde ao que você tem.
os três caminhos de autenticação
Todo provedor no Hermes se encaixa em um destes três padrões de autenticação:
Caminho 1 — chave API no .env. Coloque sua chave em ~/.hermes/.env e Hermes a lê na inicialização. Usado por OpenRouter, AI Gateway, z.ai/GLM, Kimi/Moonshot, MiniMax (e MiniMax China), Alibaba Cloud/DashScope, Kilo Code, OpenCode Zen, OpenCode Go, DeepSeek, Hugging Face, Google/Gemini e a maioria dos provedores de terceiros.2
Caminho 2 — OAuth via hermes model ou hermes auth. Inicia um fluxo de código de dispositivo, abre um navegador, armazena credenciais em ~/.hermes/auth.json (e pode importar credenciais existentes de ferramentas como Claude Code ou Codex CLI). Usado por Nous Portal, OpenAI Codex (conta ChatGPT), GitHub Copilot e Anthropic (Claude Pro/Max).2
Caminho 3 — endpoint customizado em config.yaml. Para qualquer API compatível com OpenAI: Ollama, vLLM, SGLang, llama.cpp, LM Studio, proxy LiteLLM, Together AI, Groq, Azure OpenAI ou seu próprio servidor auto-hospedado. Configurado uma vez via hermes model → Custom endpoint e depois persistido em config.yaml.2
a matriz completa de provedores
Esta é a lista completa de provedores de primeira classe, com o fluxo exato de configuração de cada um.2
| Provedor | Caminho de autenticação | Configuração |
|---|---|---|
| Nous Portal | OAuth | hermes model (login OAuth, baseado em assinatura) |
| OpenAI Codex | OAuth | hermes model (código de dispositivo ChatGPT, usa modelos Codex) |
| GitHub Copilot | OAuth ou token | hermes model (código de dispositivo OAuth), ou COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token |
| GitHub Copilot ACP | Subprocesso local | hermes model (exige CLI copilot no PATH + copilot login) |
| Anthropic | OAuth ou chave API | hermes model (prefere credenciais Claude Code), ou ANTHROPIC_API_KEY, ou setup-token ANTHROPIC_TOKEN |
| OpenRouter | chave API | OPENROUTER_API_KEY em ~/.hermes/.env |
| AI Gateway (Vercel) | chave API | AI_GATEWAY_API_KEY em ~/.hermes/.env (provedor: ai-gateway) |
| z.ai / GLM (ZhipuAI) | chave API | GLM_API_KEY em ~/.hermes/.env (provedor: zai) |
| Kimi / Moonshot | chave API | KIMI_API_KEY em ~/.hermes/.env (provedor: kimi-coding) |
| MiniMax (global) | chave API | MINIMAX_API_KEY em ~/.hermes/.env (provedor: minimax) |
| MiniMax China | chave API | MINIMAX_CN_API_KEY em ~/.hermes/.env (provedor: minimax-cn) |
| Alibaba Cloud (Qwen) | chave API | DASHSCOPE_API_KEY em ~/.hermes/.env (provedor: alibaba, aliases: dashscope, qwen) |
| Kilo Code | chave API | KILOCODE_API_KEY em ~/.hermes/.env (provedor: kilocode) |
| OpenCode Zen | chave API | OPENCODE_ZEN_API_KEY em ~/.hermes/.env (provedor: opencode-zen) |
| OpenCode Go | chave API | OPENCODE_GO_API_KEY em ~/.hermes/.env (provedor: opencode-go) |
| DeepSeek | chave API | DEEPSEEK_API_KEY em ~/.hermes/.env (provedor: deepseek) |
| Hugging Face | chave API | HF_TOKEN em ~/.hermes/.env (provedor: huggingface, alias: hf) |
| Google / Gemini | chave API | GOOGLE_API_KEY ou GEMINI_API_KEY em ~/.hermes/.env (provedor: gemini) |
| xAI (Grok) | Provedor nativo / OAuth SuperGrok | Provedor de primeira classe com acesso direto por API e catálogo de modelos (v0.9.0+). A v0.14.0 adiciona OAuth SuperGrok e eleva grok-4.3 para uma janela de contexto de 1M em contas qualificadas.21619 |
| xAI Custom Voices | chave API | Provedor TTS com clonagem de voz. Novo na v0.13.0; configure em tts: no config.yaml e forneça a chave xAI em .env.18 |
| Xiaomi MiMo | Provedor nativo | Provedor de primeira classe com assistente de configuração e catálogo de modelos. MiMo v2 Pro gratuito no Nous Portal para tarefas auxiliares (v0.9.0+).1615 |
| Google AI Studio | chave API | GOOGLE_API_KEY ou GEMINI_API_KEY em ~/.hermes/.env. Acesso direto ao Gemini com tamanhos de contexto detectados automaticamente via registro models.dev (v0.8.0+).15 |
| Qwen Cloud | OAuth | Provedor OAuth com suporte a solicitação pelo portal (v0.8.0+). O provedor foi renomeado de Alibaba Cloud para Qwen Cloud na v0.14.0; chaves de configuração existentes continuam funcionando.1519 |
| Custom endpoint | config.yaml | hermes model → “Custom endpoint” (salvo em config.yaml) |
Anthropic: três métodos de autenticação
Anthropic recebe sua própria seção porque Hermes oferece suporte a três caminhos distintos para Claude, e escolher o certo faz diferença. Da documentação upstream:2
# Method 1: API key (pay-per-token)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6
# Method 2: OAuth through hermes model (preferred)
# Uses Claude Code's credential store when available
hermes model
# Method 3: Manual setup-token (fallback/legacy)
export ANTHROPIC_TOKEN=***
hermes chat --provider anthropic
# Auto-detect Claude Code credentials
hermes chat --provider anthropic # reads Claude Code files automatically
Quando você escolhe OAuth do Anthropic pelo hermes model, Hermes prefere o armazenamento de credenciais do próprio Claude Code em vez de copiar o token para ~/.hermes/.env. Isso mantém as credenciais Claude renováveis como renováveis.2 Se você já usa Claude Code na mesma máquina, este é o caminho mais limpo.
Para fixar Anthropic permanentemente em config.yaml:
model:
provider: "anthropic"
default: "claude-sonnet-4-6"
--provider claude e --provider claude-code também funcionam como atalhos para --provider anthropic.2
GitHub Copilot: dois modos
Copilot é compatível em dois modos: API direto do Copilot (recomendado) e Copilot ACP (que inicia o CLI local do Copilot como um subprocesso).2
# Direct Copilot API
hermes chat --provider copilot --model gpt-5.4
# Copilot ACP (requires the Copilot CLI in PATH + an existing copilot login)
hermes chat --provider copilot-acp --model copilot-acp
A autenticação é verificada nesta ordem, de acordo com a documentação upstream:2
1. variável de ambiente COPILOT_GITHUB_TOKEN
2. variável de ambiente GH_TOKEN
3. variável de ambiente GITHUB_TOKEN
4. fallback do CLI gh auth token
5. login por código de dispositivo OAuth via hermes model
O tipo de token importa. O API do Copilot não oferece suporte a Personal Access Tokens clássicos (ghp_*). Os tipos aceitos são tokens OAuth (gho_*), PATs refinados (github_pat_* com permissão Copilot Requests) e tokens de GitHub App (ghu_*). Se seu gh auth token retornar um token ghp_*, use hermes model para autenticar via OAuth.2
provedores chineses de AI (suporte de primeira classe)
Hermes tem suporte integrado para z.ai/GLM, Kimi/Moonshot, MiniMax (endpoints globais + China) e Alibaba Cloud com IDs de provedor dedicados.2
# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5 # Requires: GLM_API_KEY
# Kimi / Moonshot AI
hermes chat --provider kimi-coding --model kimi-for-coding # Requires: KIMI_API_KEY
# MiniMax (global)
hermes chat --provider minimax --model MiniMax-M2.7 # Requires: MINIMAX_API_KEY
# MiniMax (China)
hermes chat --provider minimax-cn --model MiniMax-M2.7 # Requires: MINIMAX_CN_API_KEY
# Alibaba Cloud / DashScope (Qwen)
hermes chat --provider alibaba --model qwen3.5-plus # Requires: DASHSCOPE_API_KEY
URLs base podem ser sobrescritas com as variáveis de ambiente GLM_BASE_URL, KIMI_BASE_URL, MINIMAX_BASE_URL, MINIMAX_CN_BASE_URL ou DASHSCOPE_BASE_URL.2
Z.AI detecta o endpoint automaticamente. Ao usar o provedor z.ai/GLM, Hermes testa vários endpoints (global, China, variantes de coding) para encontrar um que aceite sua chave API. O endpoint funcional é armazenado em cache automaticamente — GLM_BASE_URL não é necessário para a maioria dos usuários.2
xAI (Grok) habilita cache de prompt automaticamente. Quando a URL base contém x.ai, Hermes envia o cabeçalho x-grok-conv-id em todas as solicitações para rotear para o mesmo servidor dentro de uma sessão de conversa, reutilizando prompts de sistema e histórico em cache.2 É automático; nenhuma configuração é necessária.
o comando hermes auth
hermes auth é o comando de gerenciamento de credenciais para pools e credenciais OAuth.6
hermes auth # Interactive wizard
hermes auth list # Show all credential pools
hermes auth list openrouter # Show one provider's pool
hermes auth add openrouter --api-key sk-or-v1-xxx
hermes auth add anthropic --type oauth
hermes auth remove openrouter 2 # Remove by index
hermes auth reset openrouter # Clear cooldowns
Pools de credenciais são como você alterna várias chaves API ou tokens OAuth para o mesmo provedor — útil para distribuir limites de taxa entre várias chaves sem alterar código.6 Os comandos legados hermes login / hermes logout foram removidos; use hermes auth em vez disso.6
endpoints customizados e auto-hospedados
Hermes funciona com qualquer endpoint API compatível com OpenAI. Se um servidor implementa /v1/chat/completions, você pode apontar o Hermes para ele.2
Configuração interativa (recomendada):
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
config.yaml manual:
model:
default: your-model-name
provider: custom
base_url: http://localhost:8000/v1
api_key: your-key-or-leave-empty-for-local
As duas abordagens persistem em config.yaml, que é a fonte única de verdade para modelo principal, provedor e URL base.2 As variáveis de ambiente legadas OPENAI_BASE_URL e LLM_MODEL não são mais lidas para configuração do modelo principal — use hermes model ou edite config.yaml diretamente.2 (OPENAI_BASE_URL + OPENAI_API_KEY ainda são respeitadas como fallback para o caminho auxiliar de roteamento provider: "main", então não as exclua sem pensar se você as usa ali.)4
Trocar endpoints customizados no meio da sessão:
/model custom:qwen-2.5 # Custom endpoint with explicit model
/model custom # Auto-detect the model from the endpoint
/model custom:local:qwen-2.5 # Named custom provider "local"
/model custom:work:llama3 # Named custom provider "work"
/model openrouter:claude-sonnet-4 # Back to a cloud provider
/model custom (simples, sem nome de modelo) consulta o API /v1/models do seu endpoint e seleciona automaticamente o modelo se exatamente um estiver carregado — útil para servidores locais rodando um único modelo.2
servidores LLM locais (modelos de configuração)
A documentação upstream tem guias completos de configuração para Ollama, vLLM, SGLang, llama.cpp e LM Studio. Aqui estão os comandos principais que você realmente vai executar. Cada um foi pensado para produzir um endpoint funcional ao qual Hermes possa apontar.2
Ollama — caminho local mais fácil, sem configuração:
ollama pull qwen2.5-coder:32b
OLLAMA_CONTEXT_LENGTH=32768 ollama serve # Raise from 4k default
hermes model # Custom endpoint → http://localhost:11434/v1 → qwen2.5-coder:32b
Pegadinha crítica do Ollama: o Ollama usa por padrão contextos muito baixos (4.096 tokens abaixo de 24GB de VRAM). Você precisa aumentá-lo via OLLAMA_CONTEXT_LENGTH ou um Modelfile — o API compatível com OpenAI não aceita tamanho de contexto do cliente, então Hermes não consegue defini-lo para você.2 Para uso com agentes, defina pelo menos 16k–32k.
vLLM — serving GPU de alta performance:
pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--port 8000 \
--max-model-len 65536 \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes
Chamadas de ferramentas exigem --enable-auto-tool-choice e --tool-call-parser <name>. Parsers compatíveis: hermes (Qwen 2.5, Hermes 2/3), llama3_json, mistral, deepseek_v3, deepseek_v31, xlam, pythonic. Sem essas flags, as chamadas de ferramentas voltarão como texto simples.2
SGLang — serving rápido com RadixAttention para reutilização do cache KV:
pip install "sglang[all]"
python -m sglang.launch_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--port 30000 \
--context-length 65536 \
--tp 2 \
--tool-call-parser qwen
Pegadinha do SGLang: o max_tokens padrão é 128. Defina --default-max-tokens no servidor ou configure model.max_tokens em config.yaml se as respostas forem cortadas.2
llama.cpp / llama-server — CPU e Apple Silicon Metal:
./build/bin/llama-server \
--jinja -fa \
-c 32768 \
-ngl 99 \
-m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
--port 8080 --host 0.0.0.0
--jinja é obrigatório para chamadas de ferramentas. Sem ele, llama-server ignora totalmente o parâmetro tools e o modelo tenta chamar ferramentas escrevendo JSON no texto da resposta — o que Hermes não consegue analisar como chamadas de ferramenta reais.2
LM Studio — app desktop com GUI:
Inicie o servidor pelo app LM Studio (aba Developer → Start Server), ou via CLI: lms server start (inicia na porta 1234) e lms load qwen2.5-coder --context-length 32768.2 Depois aponte hermes model para http://localhost:1234/v1.
Pegadinha crítica do LM Studio: o LM Studio lê o tamanho de contexto dos metadados do modelo, mas muitos modelos GGUF informam padrões de 2048 ou 4096. Sempre defina o tamanho de contexto explicitamente nas configurações do modelo no LM Studio — clique no ícone de engrenagem ao lado do seletor de modelo, defina “Context Length” como pelo menos 16384 (de preferência 32768) e recarregue o modelo.2
provedores customizados nomeados
Se você trabalha com vários endpoints customizados (um servidor local de desenvolvimento e um servidor GPU remoto, por exemplo), defina-os como provedores customizados nomeados em config.yaml:2
custom_providers:
- name: local
base_url: http://localhost:8080/v1
# api_key omitted — Hermes uses "no-key-required" for keyless local servers
- name: work
base_url: https://gpu-server.internal.corp/v1
api_key: corp-api-key
api_mode: chat_completions # optional, auto-detected from URL
- name: anthropic-proxy
base_url: https://proxy.example.com/anthropic
api_key: proxy-key
api_mode: anthropic_messages # for Anthropic-compatible proxies
Depois alterne entre eles no meio da sessão com a sintaxe tripla:
/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4
Você também pode selecionar provedores customizados nomeados pelo menu interativo hermes model.2
arquitetura de provedores plugável (v0.13.0+)
A v0.13.0 traz uma ABC ProviderProfile mais um diretório plugins/model-providers/ para que provedores de inferência de terceiros possam ser adicionados sem modificações no core.18 Se um provedor fala um modo API compatível com OpenAI, Anthropic ou Codex, você pode implementar uma subclasse de ProviderProfile que declara o caminho de autenticação, URL base, catálogo de modelos e cabeçalhos de cache; Hermes a resolve pelo mesmo caminho runtime_provider.py usado pelos provedores integrados. Esta é a mudança arquitetural por trás da expansão de provedores da v0.13.0: em vez de editar o código core para adicionar um provedor, você distribui um plugin.
proxy local compatível com OpenAI (v0.14.0+)
hermes proxy expõe um endpoint local compatível com OpenAI apoiado pelo provedor OAuth no qual Hermes já está conectado — Claude Pro, ChatGPT Pro, SuperGrok ou outro provedor compatível configurado.19 Isso significa que ferramentas que esperam um API no estilo OpenAI, incluindo CLI Codex, Aider, Cline, Continue ou scripts customizados, podem reutilizar sua autenticação Hermes baseada em assinatura sem uma chave API separada. Trate o proxy como infraestrutura local de desenvolvimento: vincule-o intencionalmente, não o exponha amplamente e leve em conta os termos específicos de cada provedor.
detecção de tamanho de contexto
Duas configurações são confundidas o tempo todo, segundo a documentação upstream:2
context_length— a janela total de contexto (orçamento combinado de tokens de entrada + saída, por exemplo, 1.000.000 para Claude Opus 4.7 ou 200.000 para Sonnet 4.6). Hermes usa isso para decidir quando comprimir o histórico.model.max_tokens— o limite de saída (máximo de tokens que o modelo pode gerar em uma única resposta). Não tem relação com o tamanho do histórico.
Defina context_length quando a detecção automática errar o tamanho da janela:
model:
default: "qwen3.5:9b"
base_url: "http://localhost:8080/v1"
context_length: 131072 # tokens
Hermes usa uma cadeia de resolução com várias fontes para detectar janelas de contexto: sobrescrita de configuração → provedor customizado por modelo → cache persistente → endpoint /models → /v1/models do Anthropic → API OpenRouter → Nous Portal → models.dev (registro mantido pela comunidade para mais de 3800 modelos) → padrões de fallback (128K).2 O sistema é ciente do provedor, então o mesmo modelo pode ter limites de contexto diferentes dependendo de quem o serve (por exemplo, claude-opus-4.6 é 1M no Anthropic direto, mas 128K no GitHub Copilot).2
rotação e fallback de provedores
Pools de credenciais. Quando você tem várias chaves API para o mesmo provedor, configure uma estratégia de rotação via hermes auth. É assim que você distribui limites de taxa entre várias chaves.6
Modelo de fallback. Configure um provider:model de backup para o qual Hermes alterna automaticamente quando seu modelo principal falha (limites de taxa, erros do servidor, falhas de autenticação):2
fallback_model:
provider: openrouter # required
model: anthropic/claude-sonnet-4 # required
# base_url: http://localhost:8000/v1 # optional, for custom endpoints
# api_key_env: MY_CUSTOM_KEY # optional, env var name
O fallback troca modelo e provedor no meio da sessão sem perder sua conversa. Ele dispara no máximo uma vez por sessão.2 Provedores compatíveis com fallback: openrouter, nous, openai-codex, copilot, copilot-acp, anthropic, huggingface, zai, kimi-coding, minimax, minimax-cn, deepseek, ai-gateway, opencode-zen, opencode-go, kilocode, alibaba, custom.2
modelos auxiliares
Hermes usa modelos “auxiliares” leves para tarefas paralelas: análise de imagens, resumo de páginas web, análise de screenshots do navegador, classificação de aprovação de comandos perigosos, compressão de contexto, resumo de busca de sessão, correspondência de skill, despacho de ferramenta MCP e flush de memória.4 Por padrão, eles usam Gemini Flash por detecção automática (OpenRouter → Nous → Codex).
Você pode configurar qual modelo e provedor cada tarefa auxiliar usa. Todo slot auxiliar usa os mesmos três controles: provider, model, base_url.4
auxiliary:
vision:
provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
model: "" # e.g. "openai/gpt-4o", "google/gemini-2.5-flash"
base_url: "" # Custom OpenAI-compatible endpoint
api_key: "" # Falls back to OPENAI_API_KEY
timeout: 30
download_timeout: 30
web_extract:
provider: "auto"
model: ""
timeout: 360
approval:
provider: "auto"
model: ""
timeout: 30
compression:
timeout: 120
session_search: { provider: "auto", model: "", timeout: 30 }
skills_hub: { provider: "auto", model: "", timeout: 30 }
mcp: { provider: "auto", model: "", timeout: 30 }
flush_memories:{ provider: "auto", model: "", timeout: 30 }
A opção de provedor "main" significa “use qualquer provedor que meu agente principal usa” — válida apenas dentro das configs auxiliary:, compression: e fallback_model:. Ela não é válida para sua configuração de nível superior model.provider. Se você usa um endpoint customizado compatível com OpenAI como modelo principal, defina provider: custom na seção model:.4
Por que isso importa: se você configurou apenas OAuth do Anthropic (sem chave OpenRouter), visão, resumo web e compressão vão degradar ou falhar porque a cadeia padrão de fallback auxiliar tenta OpenRouter primeiro. Adicione uma OPENROUTER_API_KEY para tarefas auxiliares, ou reconfigure cada slot auxiliar para usar seu provedor principal:
auxiliary:
vision:
provider: "main"
web_extract:
provider: "main"
Esta é a pegadinha mais comum de “meus recursos simplesmente não funcionam” para novos usuários do Hermes.
Sistema de configuração
Hermes tem um sistema de configuração em camadas. Entender a precedência é essencial porque as camadas superiores substituem as inferiores, e uma das camadas é um registro global de providers que você não consegue ver em config.yaml.
Layout dos arquivos de configuração
De acordo com a documentação upstream, estes são os arquivos que compõem uma configuração do Hermes:4
~/.hermes/
├── config.yaml # All settings (model, terminal, TTS, compression, memory, toolsets, ...)
├── .env # Secrets (API keys, bot tokens, passwords)
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
config.yaml vs .env — quando ambos estão definidos, config.yaml tem prioridade para configurações que não são secretas.4 A regra é:
- Secrets (chaves API, tokens de bots, senhas) → .env
- Todo o resto (model, backend do terminal, configurações de compactação, limites de memory, toolsets) → config.yaml
Secrets podem ser referenciados em config.yaml usando interpolação no estilo shell:4
auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
delegation:
api_key: ${DELEGATION_KEY}
Gerenciamento da configuração
hermes config # View current configuration
hermes config show # Same as above
hermes config edit # Open config.yaml in your editor
hermes config set KEY VAL # Set a specific value
hermes config path # Print the config file path
hermes config env-path # Print the .env file path
hermes config check # Check for missing options (after updates)
hermes config migrate # Interactively add missing options
Exemplos:4
hermes config set model anthropic/claude-opus-4
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-... # Saves to .env
hermes config check e hermes config migrate são os comandos para executar depois de cada hermes update — eles identificam novas opções de configuração adicionadas que o seu arquivo ainda não tem.6
Precedência da configuração
Hermes carrega a configuração de várias fontes. Quando várias fontes definem o mesmo valor, a fonte com maior prioridade vence:4
- Argumentos CLI —
hermes chat --model anthropic/claude-sonnet-4(substituição por invocação) - Variáveis de ambiente — aplicadas na inicialização do processo
config.yaml— o arquivo principal de configurações.env— somente secrets- Padrões integrados — aplicados quando nada mais define um valor
Flags CLI sempre vencem para aquela única invocação. config.yaml é a fonte da verdade de longo prazo.
Localização (v0.13.0+)
v0.13.0 adicionou 7 locales para mensagens de CLI e gateway: chinês (simplificado), japonês, alemão, espanhol, francês, ucraniano e turco.18 v0.14.0 localiza todos os comandos de gateway e o dashboard web, adiciona mais 8 locales e eleva o total para 16.19 No momento, a documentação está localizada apenas em zh-Hans. O locale é resolvido pelas variáveis de ambiente LC_ALL / LANG ou por uma chave locale: explícita em config.yaml. O inglês continua sendo o padrão e a fonte da verdade para qualquer string que uma tradução ainda não cobre.
Profiles — várias instâncias isoladas do Hermes
Profiles permitem que você tenha várias instâncias isoladas do Hermes, cada uma com sua própria configuração, sessions, skills, memory e PID de gateway. É assim que você executa “Hermes de trabalho” e “Hermes pessoal” lado a lado sem que uma instância veja o estado da outra.6
hermes profile list
hermes profile create work --clone # Clone from current profile
hermes profile use work # Set sticky default
hermes profile alias work --name h-work # Create wrapper script
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes -p work chat -q "Hello from work profile" # One-off without switching
Cada profile recebe seu próprio HERMES_HOME (~/.hermes-<name>/ por padrão), então vários profiles podem executar o gateway ao mesmo tempo sem interferir uns nos outros.63
Comandos CLI
Esta seção é a referência do praticante para os comandos de nível superior do CLI. Para a referência autoritativa derivada do código, consulte a documentação upstream CLI Commands Reference.6
Opções globais
hermes [global-options] <command> [subcommand/options]
| Opção | Descrição |
|---|---|
--version, -V |
Exibe a versão e encerra |
--profile <name>, -p <name> |
Seleciona qual profile do Hermes usar |
--resume <session>, -r <session> |
Retoma uma sessão por ID ou título |
--continue [name], -c [name] |
Retoma a sessão mais recente (ou busca por título) |
--worktree, -w |
Inicia em um git worktree isolado |
--yolo |
Ignora prompts de aprovação para comandos perigosos |
--pass-session-id |
Inclui o ID da sessão no system prompt do agente |
Comandos de nível superior
| Comando | Finalidade |
|---|---|
hermes chat |
Chat interativo ou de execução única |
hermes model |
Escolhe interativamente o provedor e modelo padrão |
hermes gateway |
Executa ou gerencia o messaging gateway |
hermes setup |
Assistente de configuração interativo |
hermes auth |
Gerencia credenciais — adicionar, listar, remover, redefinir, definir estratégia |
hermes status |
Exibe status do agente, autenticação e plataformas |
hermes cron |
Inspeciona e aciona o agendador cron |
hermes webhook |
Gerencia assinaturas dinâmicas de webhook |
hermes doctor |
Diagnostica problemas de configuração e dependências |
hermes dump |
Resumo de configuração pronto para copiar e colar em suporte/debugging |
hermes logs |
Visualiza, acompanha e filtra logs do agente/gateway/erros |
hermes config |
Exibe, edita, migra e consulta a configuração |
hermes pairing |
Aprova ou revoga códigos de pareamento de mensagens |
hermes skills |
Navega, instala, publica e audita skills |
hermes honcho |
Gerencia a memória cross-session do Honcho |
hermes memory |
Configura provedor de memória externo |
hermes acp |
Executa o Hermes como servidor ACP (integração com editor) |
hermes mcp |
Gerencia configuração de servidor MCP; executa o Hermes como servidor MCP |
hermes plugins |
Gerencia plugins |
hermes tools |
Configura ferramentas habilitadas por plataforma |
hermes sessions |
Navega, exporta, limpa e exclui sessões |
hermes insights |
Exibe analytics de tokens/custos/atividade |
hermes claw |
Auxiliares de migração do OpenClaw |
hermes profile |
Gerencia profiles (múltiplas instâncias isoladas) |
hermes completion |
Imprime scripts de autocompletar do shell (bash/zsh) |
hermes whatsapp |
Configura e pareia a bridge do WhatsApp |
hermes version |
Imprime informações de versão |
hermes update |
Puxa o código mais recente e reinstala dependências |
hermes uninstall |
Remove o Hermes do sistema (--full também exclui configuração/dados) |
hermes backup |
Backup completo de configuração, sessões, skills e memória (v0.9.0+)16 |
hermes import |
Restaura a partir de um arquivo de backup — migra entre máquinas ou reverte (v0.9.0+)16 |
hermes dashboard |
Inicia o dashboard web local para gerenciamento do agente pelo navegador (v0.9.0+)16 |
hermes debug share |
Envia um relatório completo de debug para um pastebin para compartilhamento durante troubleshooting (v0.9.0+)16 |
hermes chat — O ponto de entrada principal
hermes sem argumentos abre o chat interativo. hermes chat é a forma explícita com opções:6
hermes chat -q "Summarize the latest PRs" # One-shot, non-interactive
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills # Enable specific toolsets
hermes chat --quiet -q "Return only JSON" # Programmatic mode
hermes chat --worktree -q "Review repo and open a PR"
Opções principais:
| Opção | Descrição |
|---|---|
-q, --query "..." |
Prompt de execução única, não interativo |
-m, --model <model> |
Sobrescreve o modelo para esta execução |
-t, --toolsets <csv> |
Habilita um conjunto de toolsets separados por vírgula |
--provider <provider> |
Força um provedor (veja a lista completa) |
-s, --skills <name> |
Pré-carrega uma ou mais skills para esta sessão |
-v, --verbose |
Saída detalhada |
-Q, --quiet |
Modo programático (sem banner, spinner ou previews) |
--resume <session> |
Retoma uma sessão diretamente pelo chat |
--worktree |
Cria um git worktree isolado |
--checkpoints |
Habilita checkpoints do sistema de arquivos antes de alterações destrutivas |
--yolo |
Ignora prompts de aprovação |
--source <tag> |
Tag de origem da sessão (padrão: cli; use tool para integrações) |
--max-turns <N> |
Máximo de iterações de chamada de ferramentas por turno (padrão: 90) |
hermes setup — Assistente completo
Executa o assistente de configuração completo ou vai direto para uma seção específica:6
hermes setup # Full wizard
hermes setup model # Provider and model only
hermes setup terminal # Terminal backend only
hermes setup gateway # Messaging platforms only
hermes setup tools # Tool enable/disable per platform
hermes setup agent # Agent behavior only
hermes setup --non-interactive
hermes setup --reset # Reset config to defaults before setup
hermes logs — Consulta estruturada de logs
hermes logs é mais poderoso do que tail -f nos arquivos de log porque suporta filtragem por nível, ID de sessão e intervalo de tempo simultaneamente.6
hermes logs # Last 50 lines of agent.log
hermes logs -f # Follow in real time
hermes logs gateway -n 100 # Last 100 lines of gateway.log
hermes logs --level WARNING --since 1h # Warnings from the last hour
hermes logs --session abc123 # Filter by session ID substring
hermes logs errors --since 30m -f # Follow errors.log from 30m ago
hermes logs list # List all log files with sizes
Os arquivos de log ficam em ~/.hermes/logs/:6
- agent.log — toda a atividade do agente (chamadas API, despacho de ferramentas, ciclo de vida de sessões, INFO+)
- errors.log — apenas avisos e erros (um subconjunto filtrado do agent.log)
- gateway.log — atividade do messaging gateway (conexões de plataforma, despacho, webhooks)
A rotação é automática via RotatingFileHandler do Python — procure por agent.log.1, agent.log.2, etc.6
hermes doctor — Diagnósticos
hermes doctor [--fix] é o primeiro comando a executar quando algo está errado. Ele verifica validade da configuração, presença de dependências, disponibilidade de chaves API, status dos serviços, e pode tentar reparos automáticos com --fix.6
Para compartilhar diagnósticos com outra pessoa, use hermes dump — ele produz um resumo compacto em texto puro com chaves API ocultadas, pronto para colar em uma issue do GitHub ou em um thread no Discord.6
Comandos Slash
Comandos slash são executados dentro de uma sessão de chat ativa (CLI ou plataforma de mensagens). Eles são despachados de um COMMAND_REGISTRY compartilhado em hermes_cli/commands.py, por isso a maioria dos comandos funciona de forma idêntica em todas as superfícies.9
Controle de sessão
| Comando | Descrição |
|---|---|
/new (alias /reset) |
Iniciar uma nova sessão |
/clear |
Limpar a tela + iniciar uma nova sessão |
/history |
Mostrar o histórico da conversa |
/save |
Salvar a conversa atual |
/retry |
Tentar novamente a última mensagem |
/undo |
Remover a última troca entre usuário/assistente |
/title <name> |
Definir um título para a sessão atual |
/compress |
Comprimir manualmente o contexto da conversa |
/rollback [number] |
Listar ou restaurar checkpoints do sistema de arquivos |
/stop |
Encerrar todos os processos em segundo plano em execução |
/queue <prompt> |
Enfileirar um prompt para o próximo turno. Pegadinha: /q é reivindicado tanto por /queue quanto por /quit; o último registro vence e, na prática, /q resolve para /quit — sempre digite /queue explicitamente.9 |
/resume [name] |
Retomar uma sessão nomeada anteriormente |
/statusbar (alias /sb) |
Alternar a barra de status de contexto/modelo |
/background <prompt> (alias /bg) |
Executar um prompt em uma sessão separada em segundo plano |
/btw <question> |
Pergunta lateral efêmera (sem tools, não persistida) |
/plan [request] |
Carregar o skill plan incluído para escrever um plano em vez de executar |
/branch [name] (alias /fork) |
Criar uma ramificação da sessão atual |
/goal <target> |
Fixar o agente em um alvo para que ele continue focado na tarefa entre turnos. Padrão Ralph-loop como primitivo de primeira classe. Orçamento de turnos configurável. Novo na v0.13.0.18 |
/subgoal <criterion> |
Adicionar critérios de sucesso a um /goal ativo sem reiniciar o loop. Novo na v0.14.0.19 |
/handoff <target> |
Transferir a sessão ativa — mensagens, chamadas de tool e contexto — para outro modelo, persona ou profile. Novo na v0.14.0.19 |
Configuração e modelo
| Comando | Descrição |
|---|---|
/config |
Mostrar a configuração atual |
/model [model-name] |
Mostrar ou alterar o modelo atual |
/provider |
Mostrar os providers disponíveis e o provider atual |
/personality [name] |
Definir uma camada de personalidade |
/verbose |
Alternar o modo de exibição do progresso das tools |
/reasoning |
Gerenciar o esforço de reasoning e a exibição |
/skin |
Mostrar ou alterar a skin/tema de exibição |
/voice [on\|off\|tts\|status] |
Alternar o modo de voz do CLI |
/yolo |
Alternar o modo YOLO (pular prompts de aprovação) |
/fast |
Alternar o Fast Mode — processamento prioritário para modelos OpenAI e Anthropic (v0.9.0+)16 |
/debug |
Diagnósticos rápidos em todas as plataformas (v0.9.0+)16 |
O comando /model é o principal recurso para trocar de provider no meio da sessão:9
/model # Show current model and options
/model claude-sonnet-4 # Switch model (auto-detect provider)
/model zai:glm-5 # Switch provider:model
/model custom:qwen-2.5 # Use model on custom endpoint
/model custom # Auto-detect model from custom endpoint
/model custom:local:qwen-2.5 # Named custom provider
/model openrouter:anthropic/claude-sonnet-4 # Back to cloud
Tools, skills e informações
| Comando | Descrição |
|---|---|
/tools [list\|disable\|enable] [name...] |
Gerenciar tools da sessão atual |
/toolsets |
Listar toolsets disponíveis |
/browser [connect\|disconnect\|status] |
Gerenciar a conexão local do Chrome CDP |
/skills |
Buscar, instalar, inspecionar ou gerenciar skills |
/cron |
Gerenciar tarefas agendadas |
/reload-mcp |
Recarregar servidores MCP a partir de config.yaml |
/plugins |
Listar plugins instalados |
/help |
Mostrar todos os comandos |
/usage |
Mostrar uso de tokens, custo e duração |
/insights |
Mostrar analytics de uso (últimos 30 dias) |
/platforms |
Mostrar o status das plataformas de mensagens |
/profile |
Mostrar o nome do profile ativo e a home |
Comandos slash dinâmicos de skill
Todo skill instalado é exposto automaticamente como um comando slash:9
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/excalidraw # Just the skill name loads it and lets the agent ask what you need
Você também pode definir comandos rápidos em config.yaml, criando um alias de nome curto para um prompt mais longo:9
quick_commands:
review: "Review my latest git diff and suggest improvements"
deploy: "Run the deployment script at scripts/deploy.sh and verify the output"
morning: "Check my calendar, unread emails, and summarize today's priorities"
Depois, digite /review, /deploy ou /morning no CLI.
Correspondência por prefixo
Os comandos aceitam correspondência por prefixo: digitar /h resolve para /help, /mod resolve para /model. Quando um prefixo é ambíguo, o primeiro registro na ordem do registry vence. Nomes completos de comando e aliases registrados sempre têm prioridade sobre correspondências por prefixo.9
Comandos específicos de mensagens
Alguns comandos só funcionam em plataformas de mensagens (Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant):9
/status— mostrar informações da sessão/sethome(alias/set-home) — marcar o chat atual como home da plataforma/approve [session|always]— aprovar um comando perigoso pendente/deny— rejeitar um comando perigoso pendente/update— atualizar o Hermes Agent para a versão mais recente/commands [page]— navegar por todos os comandos e skills (paginado)
E alguns são exclusivos do CLI: /skin, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /statusbar, /plugins.9
Tools e toolsets
Hermes vem com um amplo registro de tools integrado que cobre web search, automação de navegador, execução no terminal, edição de arquivos, memória, delegação, treinamento RL, entrega de mensagens, integração com Home Assistant e muito mais.10 As tools são organizadas em toolsets lógicos que podem ser ativados ou desativados por plataforma.
Categorias de alto nível
| Categoria | Exemplos | Descrição |
|---|---|---|
| Web | web_search, web_extract |
Pesquise na web e extraia conteúdo de páginas |
| Terminal e arquivos | terminal, process, read_file, patch |
Execute comandos e manipule arquivos |
| Navegador | browser_navigate, browser_snapshot, browser_vision |
Automação interativa de navegador com texto e visão |
| Mídia | vision_analyze, video_analyze, video_generate, image_generate, text_to_speech |
Análise e geração multimodal. video_analyze prioriza Gemini, com suporte extensível para provedores multimodais compatíveis (v0.13.0+). A v0.14.0 adiciona video_generate unificado com backends de provedor plugáveis e envia pixels brutos por vision_analyze quando o modelo ativo tem suporte a visão.1819 |
| Orquestração de agentes | todo, clarify, execute_code, delegate_task |
Planejamento, esclarecimento, execução de código, delegação para subagente |
| Uso do computador | computer_use |
Controle de desktop via backend cua-driver; a v0.14.0 faz isso funcionar com provedores compatíveis com visão que não sejam Anthropic.19 |
| Memória e recuperação | memory, session_search |
Memória persistente + busca de sessão |
| Automação e entrega | cronjob, send_message |
Tarefas agendadas, envio de mensagens |
| Integrações | ha_*, tools MCP, rl_* |
Home Assistant, MCP, treinamento RL |
Nomes comuns de toolsets incluem web, terminal, file, browser, vision, image_gen, moa, skills, tts, todo, memory, session_search, cronjob, code_execution, delegation, clarify, homeassistant e rl.10
Gerenciando tools
hermes chat --toolsets "web,terminal" # Use specific toolsets
hermes tools # Interactive per-platform tool config
hermes tools --summary # Print enabled-tools summary
As tools também podem ser alternadas no meio da sessão via /tools disable <name> e /tools enable <name>, o que reinicia a sessão para que o novo conjunto de tools entre em vigor.9
Backends de terminal
A tool de terminal pode executar comandos em 6 ambientes diferentes:10
| Backend | Caso de uso |
|---|---|
local |
Executar na sua máquina (padrão) — desenvolvimento, tarefas confiáveis |
docker |
Contêineres isolados — segurança, reprodutibilidade |
ssh |
Servidor remoto — sandbox, manter o agente longe do próprio código |
singularity |
Contêineres HPC — computação em cluster, sem root |
modal |
Execução serverless na nuvem |
daytona |
Workspace de sandbox na nuvem — ambiente de desenvolvimento remoto persistente |
Alterne backends com hermes config set terminal.backend <name> ou em config.yaml:
terminal:
backend: docker # or: local, ssh, singularity, modal, daytona
cwd: "." # Working directory
timeout: 180 # Command timeout in seconds
Backend SSH (recomendado para segurança — o agente não consegue modificar o próprio código):10
terminal:
backend: ssh
# In ~/.hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa
Backend Docker:
terminal:
backend: docker
docker_image: python:3.11-slim
Recursos de contêiner (aplica-se a docker, singularity, modal, daytona):10
terminal:
container_cpu: 1
container_memory: 5120 # MB (default 5GB)
container_disk: 51200 # MB (default 50GB)
container_persistent: true # Persist filesystem across sessions
Com container_persistent: true, pacotes instalados, arquivos e configurações sobrevivem entre sessões.10
Todos os backends de contêiner rodam com reforço de segurança: sistema de arquivos raiz somente leitura (Docker), todas as capacidades Linux removidas exceto DAC_OVERRIDE, CHOWN e FOWNER, sem escalonamento de privilégios, limites de PID (256 processos), isolamento completo de namespace, workspace persistente via volumes.10
Processos em segundo plano
A tool de terminal oferece suporte à execução em segundo plano com gerenciamento explícito de processos:10
terminal(command="pytest -v tests/", background=true)
# Returns: {"session_id": "proc_abc123", "pid": 12345}
process(action="list") # Show all running processes
process(action="poll", session_id="proc_abc123") # Check status
process(action="wait", session_id="proc_abc123") # Block until done
process(action="log", session_id="proc_abc123") # Full output
process(action="kill", session_id="proc_abc123") # Terminate
process(action="write", session_id="proc_abc123", data="y") # Send input
O modo PTY (pty=true) habilita tools interativas CLI como Codex e Claude Code.10
Sudo
Se um comando precisar de sudo, Hermes solicita sua senha (armazenada em cache durante a sessão). Ou defina SUDO_PASSWORD em ~/.hermes/.env.10
Kanban multiagente (v0.13.0+)
A v0.13.0 transforma a colaboração multiagente em uma primitiva de primeira classe: um quadro Kanban durável que acompanha tarefas, status e identidade dos workers entre agentes e reinicializações.18 O quadro é o que faz um swarm de workers Hermes realmente concluir o trabalho, em vez de travar em handoffs mortos.
| Mecanismo | O que faz |
|---|---|
| Heartbeats | Cada worker pulsa enquanto possui uma tarefa. Um heartbeat perdido marca o worker como suspeito e libera a tarefa para recuperação. |
| Reclaim | Um worker diferente pode assumir uma tarefa abandonada, com o estado completo da tarefa e a saída parcial anterior. |
| Detecção de zombies | Workers que saem sem marcar uma tarefa como concluída são automaticamente bloqueados de reivindicar novo trabalho, impedindo que o swarm acumule identidades mortas. |
| Gate de alucinação | Uma saída que falha no gate envia a tarefa de volta ao quadro com o motivo anotado, em vez de marcá-la como concluída. |
max_retries por tarefa |
Substitua o orçamento padrão de novas tentativas em uma tarefa que você sabe que é frágil. |
| Quadros multiprojeto | Uma única home do Hermes pode hospedar vários quadros independentes. |
O quadro Kanban combina naturalmente com /goal (loop Ralph de alvo travado) para o lado do alvo e com a tool delegate_task existente para a semântica de spawn. O resultado é um padrão de swarm em que todos os agentes compartilham uma única fonte de verdade sobre o que fazer em seguida, quem está fazendo e o que está travado.
Sistema de skills
Skills são documentos de conhecimento sob demanda que o agente pode carregar quando necessário. Eles seguem um padrão de divulgação progressiva para minimizar o uso de tokens e são compatíveis com o padrão aberto agentskills.io.11
Todos os skills ficam em ~/.hermes/skills/ — o diretório principal e a fonte da verdade. Em uma instalação nova, os skills incluídos são copiados do repositório. Skills instalados pelo hub e criados pelo agente também vão para cá.11
Divulgação progressiva
Level 0: skills_list() → [{name, description, category}, ...] (~3k tokens)
Level 1: skill_view(name) → Full content + metadata (varies)
Level 2: skill_view(name, path) → Specific reference file (varies)
O agente só carrega o conteúdo completo do skill quando realmente precisa dele.11
Formato do SKILL.md
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # Optional — restrict to OS platforms
metadata:
hermes:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web] # Conditional activation
requires_toolsets: [terminal] # Conditional activation
config: # Config.yaml settings
- key: my.setting
description: "What this controls"
default: "value"
prompt: "Prompt for setup"
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.
Ativação condicional
Skills podem se mostrar ou se ocultar com base nas ferramentas disponíveis. Isso é mais útil para skills de fallback — alternativas gratuitas ou locais que só devem aparecer quando uma ferramenta premium não está disponível:11
| Campo | Comportamento |
|---|---|
fallback_for_toolsets |
Skill oculto quando os toolsets listados estão disponíveis |
fallback_for_tools |
Igual, mas verifica ferramentas individuais |
requires_toolsets |
Skill oculto quando os toolsets listados não estão disponíveis |
requires_tools |
Igual, mas verifica ferramentas individuais |
Exemplo: o skill integrado duckduckgo-search usa fallback_for_toolsets: [web]. Quando você tem FIRECRAWL_API_KEY configurado, o toolset web fica disponível e o agente usa web_search — o skill DuckDuckGo permanece oculto. Sem a chave API, o skill DuckDuckGo aparece automaticamente como fallback.11
Skills gerenciados pelo agente
O agente pode criar, atualizar e excluir seus próprios skills por meio da ferramenta skill_manage. Esta é a memória procedural do agente — quando ele descobre um workflow não trivial, salva a abordagem como um skill para reutilização futura.11
Quando o agente cria skills:11 - Depois de concluir uma tarefa complexa (5+ chamadas de ferramentas) com sucesso - Quando encontrou erros ou becos sem saída e descobriu o caminho que funciona - Quando o usuário corrigiu sua abordagem - Quando descobriu um workflow não trivial
Ações:11
| Ação | Use para |
|---|---|
create |
Novo skill do zero |
patch |
Correções direcionadas (preferível — mais eficiente em tokens) |
edit |
Grandes reescritas estruturais |
delete |
Remover um skill por completo |
write_file |
Adicionar/atualizar arquivos de apoio |
remove_file |
Remover um arquivo de apoio |
Hub de skills
Navegue, pesquise, instale e gerencie skills de registros online:611
hermes skills browse # Browse all hub skills
hermes skills browse --source official # Browse official optional skills
hermes skills search kubernetes # Search all sources
hermes skills search react --source skills-sh # Search skills.sh directory
hermes skills inspect openai/skills/k8s # Preview before installing
hermes skills install openai/skills/k8s # Install with security scan
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills check # Check for upstream updates
hermes skills update # Reinstall changed hub skills
hermes skills audit # Re-scan installed hub skills
hermes skills uninstall k8s
hermes skills publish skills/my-skill --to github --repo owner/repo
hermes skills tap add myorg/skills-repo # Add custom GitHub source
Fontes de hub integradas:11
| Fonte | Exemplo | Observações |
|---|---|---|
official |
official/security/1password |
Skills opcionais enviados com Hermes (confiança builtin) |
skills-sh |
skills-sh/vercel-labs/agent-skills/vercel-react-best-practices |
Diretório público de skills da Vercel |
well-known |
well-known:https://mintlify.com/docs/.well-known/skills/mintlify |
Descoberta baseada em URL a partir de sites que publicam /.well-known/skills/index.json |
github |
openai/skills/k8s |
Instalações diretas de repositório/caminho GitHub |
clawhub |
— | Marketplace de skills de terceiros |
claude-marketplace |
— | Manifests de plugin/marketplace compatíveis com Claude |
lobehub |
— | Conversão do catálogo de agentes LobeHub |
Taps GitHub padrão (navegáveis sem configuração): openai/skills, anthropics/skills, VoltAgent/awesome-agent-skills, garrytan/gstack.11
Verificação de segurança
Todos os skills instalados pelo hub passam por um scanner de segurança que verifica exfiltração de dados, prompt injection, comandos destrutivos, sinais de cadeia de suprimentos e outras ameaças.11
Níveis de confiança:11
| Nível | Fonte | Política |
|---|---|---|
builtin |
Enviado com Hermes | Sempre confiável |
official |
optional-skills/ no repositório |
Confiança builtin, sem aviso de terceiros |
trusted |
Registros confiáveis (openai/skills, anthropics/skills) |
Política mais permissiva |
community |
Todo o restante | Achados não perigosos podem ser substituídos com --force; vereditos dangerous continuam bloqueados |
--force pode substituir bloqueios de política não perigosos para skills da comunidade. Ele não substitui um veredito de varredura dangerous.11
Diretórios externos de skills
Você pode apontar o Hermes para diretórios adicionais de skills, verificados junto com o diretório local:11
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
Os caminhos aceitam expansão de ~ e substituição de variáveis de ambiente ${VAR}. Diretórios externos são somente leitura — quando o agente cria ou edita um skill, ele sempre grava em ~/.hermes/skills/. A precedência local vence se um nome de skill existir nos dois lugares.11
Memória persistente
Hermes tem uma memória limitada e curada que persiste entre sessões. Dois arquivos compõem a memória do agente, ambos armazenados em ~/.hermes/memories/:12
| Arquivo | Finalidade | Limite de caracteres |
|---|---|---|
MEMORY.md |
Notas pessoais do agente — fatos do ambiente, convenções, coisas aprendidas | 2.200 caracteres (~800 tokens) |
USER.md |
Perfil do usuário — preferências, estilo de comunicação, expectativas | 1.375 caracteres (~500 tokens) |
Ambos são injetados no prompt do sistema como um snapshot congelado no início da sessão. O agente gerencia a própria memória pela ferramenta memory — add, replace ou remove.12
Padrão de snapshot congelado: a injeção no prompt do sistema é capturada uma vez no início da sessão e nunca muda no meio dela. Isso é intencional — preserva o cache de prefixo do LLM para desempenho. Alterações feitas durante uma sessão são persistidas em disco imediatamente, mas só aparecem no prompt do sistema na próxima sessão.12
O que salvar
Salve isto (o agente faz isso proativamente):12
- Preferências do usuário: “Prefiro TypeScript em vez de JavaScript” → user
- Fatos do ambiente: “Este servidor roda Debian 12 com PostgreSQL 16” → memory
- Correções: “Não use sudo para comandos Docker; o usuário está no grupo docker” → memory
- Convenções: “O projeto usa tabs, largura de linha de 120 caracteres, docstrings no estilo Google” → memory
- Trabalho concluído: “Migrou o banco de dados de MySQL para PostgreSQL em 2026-01-15” → memory
Ignore isto:12 - Informações triviais/óbvias - Fatos fáceis de redescobrir - Dumps de dados brutos (grandes demais para a memória) - Efêmeros específicos da sessão - Informações que já estão em arquivos de contexto
Busca de sessões
Além de MEMORY.md e USER.md, o agente pode buscar conversas passadas usando a ferramenta session_search. Todas as sessões de CLI e mensagens são armazenadas em SQLite (~/.hermes/state.db) com busca de texto completo FTS5. As consultas retornam conversas passadas relevantes com sumarização do Gemini Flash.12
| Recurso | Memória persistente | Busca de sessões |
|---|---|---|
| Capacidade | ~1.300 tokens no total | Ilimitada (todas as sessões) |
| Velocidade | Instantânea (no prompt do sistema) | Exige busca + sumarização do LLM |
| Caso de uso | Fatos-chave sempre disponíveis | Encontrar conversas passadas específicas |
| Gerenciamento | Curada manualmente pelo agente | Automático — todas as sessões armazenadas |
| Custo em tokens | Fixo por sessão (~1.300 tokens) | Sob demanda |
Provedores externos de memória
Para memória persistente mais profunda além de MEMORY.md e USER.md, Hermes vem com oito plugins de provedores externos de memória: Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover e Supermemory.12
Provedores externos rodam junto com a memória integrada (nunca a substituem) e adicionam recursos como grafos de conhecimento, busca semântica, extração automática de fatos e modelagem de usuários entre sessões:612
hermes memory setup # Pick a provider and configure it
hermes memory status # Check what's active
hermes memory off # Disable external provider (built-in only)
Apenas um provedor externo pode estar ativo por vez. A memória integrada está sempre ativa.6
Retomada automática de sessão (v0.13.0+)
A v0.13.0 torna interrupções no meio do agente recuperáveis. O gateway retoma automaticamente sessões interrompidas após uma reinicialização; reinicializações por /update preservam o estado da sessão durante a atualização; recarregamentos de arquivos-fonte durante o desenvolvimento mantêm a sessão ativa viva em vez de forçar uma nova.18 Efeito prático: trabalhos longos de gateway e jobs acionados por cron não reiniciam mais a janela de contexto quando o processo reinicia.
Checkpoints v2 (v0.13.0+)
A persistência de estado foi reescrita na v0.13.0 como um design de armazenamento único com pruning real, proteções de disco e nenhum repo sombra órfão.18 O sistema anterior de checkpoint acumulava estado em disco ao longo de profiles de longa duração; o armazenamento v2 impõe um teto rígido ao armazenamento local de checkpoints e remove a escrituração duplicada que causava esse crescimento. Nenhuma alteração de configuração voltada ao usuário é necessária; a próxima gravação de checkpoint usa o caminho v2.
Personality e SOUL.md
SOUL.md é a identidade primária de uma instância do Hermes. Ele ocupa o slot #1 no prompt do sistema, substituindo a identidade padrão hardcoded.13
Hermes cria automaticamente um SOUL.md padrão em ~/.hermes/SOUL.md (ou $HERMES_HOME/SOUL.md para profiles personalizados). Arquivos existentes do usuário nunca são sobrescritos. Hermes só carrega SOUL.md de HERMES_HOME — ele não procura no diretório de trabalho atual. Isso torna a personality previsível entre projetos.13
O que pertence ao SOUL.md
Use para orientações duráveis de voz e personality:13 - tom - estilo de comunicação - nível de franqueza - estilo padrão de interação - o que evitar estilisticamente - como Hermes deve lidar com incerteza, discordância, ambiguidade
Use menos para:13 - instruções pontuais de projeto - caminhos de arquivos - convenções do repo - detalhes temporários de workflow
Isso pertence ao AGENTS.md, não ao SOUL.md.
SOUL.md vs AGENTS.md
Esta é a distinção mais importante no gerenciamento de identidade do Hermes:13
SOUL.md — identidade, tom, estilo, padrões de comunicação, comportamento em nível de personality.
AGENTS.md — arquitetura do projeto, convenções de código, preferências de ferramentas, workflows específicos do repo, comandos, portas, caminhos, notas de deploy.
Uma regra útil: se deve acompanhar você em todos os lugares, pertence ao SOUL.md. Se pertence a um projeto, pertence ao AGENTS.md.13
Personalities integradas
Hermes vem com personalities integradas para as quais você pode alternar com /personality:13
| Nome | Descrição |
|---|---|
helpful |
Assistente amigável e de uso geral |
concise |
Respostas breves e diretas |
technical |
Especialista técnico detalhado e preciso |
creative |
Pensamento inovador e fora da caixa |
teacher |
Educador paciente com exemplos claros |
kawaii |
Expressões fofas, brilhos, entusiasmo |
catgirl |
Neko-chan com expressões felinas |
pirate |
Capitão Hermes, bucaneiro entendido de tecnologia |
shakespeare |
Prosa bárdica com tom dramático |
surfer |
Vibe relaxada de bro |
noir |
Narração de detetive hard-boiled |
uwu |
Máxima fofura com uwu-speak |
philosopher |
Contemplação profunda a cada consulta |
hype |
ENERGIA MÁXIMA |
Personalities personalizadas em config.yaml:13
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
Depois alterne com /personality codereviewer.
SOUL.md vs /personality
SOUL.md é a voz de base. /personality é uma camada por sessão.13 Mantenha um SOUL.md padrão pragmático e use /personality teacher para uma conversa de tutoria ou /personality creative para brainstorming.
Nous Tool Gateway (v0.10.0+)
A partir do Hermes Agent v0.10.0 (2026-04-16), assinantes pagos do Nous Portal ganham acesso gerenciado a um conjunto curado de ferramentas por meio das credenciais existentes do Portal — sem chaves API extras para gerenciar.21 O CLI do Hermes em si continua licenciado sob MIT e totalmente open source. O que mudou é que sua autenticação no Portal agora desbloqueia mais do que inferência de modelos.
O que há no gateway
| Ferramenta | Provedor | Caso de uso |
|---|---|---|
| Web search | Firecrawl | Recuperação para agentes que precisam de informações recentes |
| Image generation | FAL / FLUX 2 Pro | Gerar imagens inline sem configurar uma chave FAL |
| Text-to-speech | OpenAI TTS | Saída falada em gateways de mensagens |
| Browser automation | Browser Use | Navegação headless e scraping |
Como funciona
O gateway é opt-in por ferramenta por meio do novo campo de configuração use_gateway. Se você tiver credenciais do Portal em hermes auth e habilitar o gateway para uma ferramenta, as chamadas dessa ferramenta passam pelo Portal. Caso contrário, sua chave API direta (se houver) é usada.
# config.yaml — per-tool gateway opt-in
tools:
web_search:
provider: firecrawl
use_gateway: true # route via Nous Portal subscription
image_generation:
provider: fal
use_gateway: true
Precedência em runtime: quando o gateway está disponível e uma ferramenta tem use_gateway: true, Hermes prefere o gateway mesmo que você também tenha uma chave API direta configurada. Isso importa para cobrança — chamadas do gateway consomem sua assinatura do Portal, não o saldo da sua chave API direta.
Habilitar o gateway
hermes model # select Nous Portal (OAuth flow)
hermes tools # per-platform tool picker integrates gateway tools
hermes status # confirms gateway/subscription detection
Não existe um comando separado hermes subscribe ou hermes login --portal. A assinatura é detectada automaticamente a partir das credenciais OAuth do Portal que você já tem em hermes auth.
Preços e acesso
Preços e nomes de planos são publicados na página de preços do Nous Portal (https://portal.nousresearch.com/pricing). Este guia não enumera os planos porque eles são responsabilidade do produto Portal, não do CLI do Hermes, e mudam independentemente das releases do Hermes. Cadastre-se em https://portal.nousresearch.com/ e consulte a página de preços para ver os planos atuais.
Aviso de depreciação
- A variável de ambiente
HERMES_ENABLE_NOUS_MANAGED_TOOLSfoi removida na v0.10.0. Ferramentas gerenciadas agora são habilitadas pelo campo de configuraçãouse_gatewaypor ferramenta e ficam condicionadas ao estado da sua assinatura do Portal.21
Enquadramento: o que esta release não é
O CLI do Hermes Agent não fica bloqueado atrás de uma assinatura. O projeto ainda é licenciado sob MIT, todos os recursos principais (CLI, skills, memória, gateway de mensagens, cron, MCP, dashboard local, BYOK para todos os provedores) funcionam de ponta a ponta sem pagar ninguém. A v0.10.0 adiciona um caminho conveniente para usuários que já pagam pelo Nous Portal — ela não remove nada do caminho gratuito.
Gateway de mensagens
Hermes pode rodar como um processo de gateway de longa duração que se conecta a 22 plataformas de mensagens a partir de um único processo de gateway: Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, Weixin (WeChat), BlueBubbles (iMessage), QQBot, Microsoft Teams, Tencent Yuanbao, Google Chat, LINE, SimpleX Chat e um adaptador Webhook genérico.320171819 A v0.9.0 adicionou iMessage via BlueBubbles (registro automático de webhook, assistente de configuração, resiliência a falhas) e suporte nativo ao WeChat via iLink Bot API, com modo de callback WeCom para apps empresariais.16 A v0.11.0 adicionou QQBot.20 A v0.12.0 adicionou Microsoft Teams e Tencent Yuanbao.17 A v0.13.0 adicionou Google Chat como a 20ª plataforma, usando a mesma arquitetura de adaptadores plugáveis; IRC e Microsoft Teams também foram migrados para o novo padrão de adaptador com hooks de plugin genéricos env_enablement_fn / cron_deliver_env_var.18 A v0.14.0 adiciona LINE e SimpleX Chat e completa a stack do Microsoft Teams de ponta a ponta com autenticação Graph, listener de webhook, runtime de pipeline e entrega outbound.19
Configuração
hermes gateway setup # Interactive platform configuration
hermes gateway install # Install as user service (systemd/launchd)
hermes gateway start # Start the installed service
hermes gateway stop
hermes gateway restart
hermes gateway status
hermes gateway run # Run in foreground (debugging)
A configuração interativa guia você pela conexão de cada plataforma: tokens API, IDs de bot, mapeamentos de canal, allowlists.6
Como as mensagens fluem
Da documentação de arquitetura upstream:3
Platform event → Adapter.on_message() → MessageEvent
→ GatewayRunner._handle_message()
→ authorize user
→ resolve session key
→ create AIAgent with session history
→ AIAgent.run_conversation()
→ deliver response back through adapter
Toda plataforma de mensagens passa pelo mesmo loop de conversa AIAgent que o CLI. É por isso que os slash commands funcionam do mesmo jeito nos dois lugares e por isso um cron job agendado no Telegram pode entregar a saída no Discord — a diferença entre plataformas fica só na borda.3
Autorização e pareamento de usuários
hermes pairing list # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending
Códigos de pareamento impedem que desconhecidos aleatórios conversem com o seu gateway. Um usuário envia um código de pareamento pela plataforma de mensagens; você aprova com hermes pairing approve; a partir daí, ele fica autorizado.6
Tarefas agendadas (cron)
Hermes tem um sistema de cron de primeira classe em que os jobs são tarefas de agente, não comandos shell. Cada job agendado roda por meio de um AIAgent novo com o prompt configurado, skills opcionais anexadas, e entrega os resultados para qualquer plataforma:36
hermes cron list
hermes cron create --prompt "Check HN for AI news and summarize" --schedule "0 9 * * *" --deliver telegram
hermes cron edit <id>
hermes cron pause <id>
hermes cron resume <id>
hermes cron run <id> # Trigger now on the next tick
hermes cron remove <id>
hermes cron status # Check if scheduler is running
hermes cron tick # Run due jobs once and exit
Ou crie um de forma conversacional dentro de um chat de mensagens:
Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.
O agente configurará o cron job por meio de suas tools. Os jobs persistem em JSON e sobrevivem a reinicializações.3
Integração com MCP
Hermes oferece suporte ao Model Context Protocol tanto como cliente quanto como servidor:6
Como cliente — conecte Hermes a servidores MCP externos para ampliar sua superfície de tools:
hermes mcp add <name> --url https://example.com/mcp
hermes mcp add <name> --command npx --args "-y,@modelcontextprotocol/server-github"
hermes mcp list
hermes mcp test <name>
hermes mcp remove <name>
hermes mcp configure <name> # Toggle individual tool selection
Ou manualmente em config.yaml:14
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
Como servidor — exponha conversas do Hermes para outros agentes:
hermes mcp serve
hermes mcp serve -v # Verbose
Compressão de contexto
Hermes comprime automaticamente conversas longas para permanecer dentro da janela de contexto do seu modelo. O sumarizador de compressão é uma chamada LLM separada — você pode apontá-lo para qualquer provider ou endpoint.4
compression:
enabled: true
threshold: 0.50 # Compress at this % of context limit
target_ratio: 0.20 # Fraction to preserve as recent tail
protect_last_n: 20 # Min recent messages to keep uncompressed
summary_model: "google/gemini-3-flash-preview"
summary_provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
summary_base_url: null # Custom OpenAI-compatible endpoint
Opções de provider:4
summary_provider |
summary_base_url |
Resultado |
|---|---|---|
auto (padrão) |
não definido | Detecta automaticamente o melhor provider disponível |
nous / openrouter / etc. |
não definido | Força esse provider, usando sua autenticação |
| qualquer | definido | Usa o endpoint customizado diretamente (provider ignorado) |
summary_model precisa oferecer suporte a um tamanho de contexto pelo menos tão grande quanto o do seu modelo principal, já que ele recebe toda a seção intermediária da conversa para compressão.4
Alertas de pressão de orçamento
Quando o agente trabalha em uma tarefa complexa com muitas chamadas de tools, ele pode consumir seu orçamento de iterações (padrão: 90 turnos) sem perceber. A pressão de orçamento avisa automaticamente o modelo:4
| Limite | Nível | O que o modelo vê |
|---|---|---|
| 70% | Cuidado | [BUDGET: 63/90. 27 iterations left. Start consolidating.] |
| 90% | Aviso | [BUDGET WARNING: 81/90. Only 9 left. Respond NOW.] |
Timeouts de stream
A conexão de streaming LLM tem duas camadas de timeout que se ajustam automaticamente para providers locais (localhost, IPs de LAN):4
| Timeout | Padrão | Providers locais | Env var |
|---|---|---|---|
| Timeout de leitura do socket | 120s | Aumentado automaticamente para 1800s | HERMES_STREAM_READ_TIMEOUT |
| Detecção de stream inativo | 180s | Desativada automaticamente | HERMES_STREAM_STALE_TIMEOUT |
| Chamada API (sem streaming) | 1800s | Sem alteração | HERMES_API_TIMEOUT |
O timeout de leitura do socket é aumentado para 30 minutos em endpoints locais porque LLMs locais podem levar minutos para fazer prefill em contextos grandes antes de produzir o primeiro token.4
Dashboard web local (v0.9.0+)
Um dashboard baseado em navegador para gerenciar seu Hermes Agent localmente. Configure ajustes, monitore sessões, navegue por skills e gerencie seu gateway sem mexer em arquivos de configuração nem no terminal.16 Inicie com hermes dashboard. Este é o caminho de onboarding mais fácil para novos usuários que preferem uma GUI.
Monitoramento de processos em background (v0.9.0+)
watch_patterns permite definir padrões para monitorar a saída de processos em background e receber notificações em tempo real quando eles correspondem.16 Monitore erros, aguarde eventos específicos (“listening on port”) ou acompanhe logs de build — tudo sem polling. Combinado com notify_on_complete da v0.8.0 (que notifica ao concluir tarefas em background), Hermes agora tem uma camada completa de observabilidade para processos em background.15
Context engine plugável (v0.9.0+)
O gerenciamento de contexto agora é um slot plugável via hermes plugins. Troque por context engines customizados que controlam o que o agente vê a cada turno — filtragem, sumarização ou injeção de contexto específica de domínio.16 Isso desacopla a estratégia de contexto do loop central do agente, permitindo customização de contexto por projeto ou por domínio.
Backup e restore (v0.9.0+)
hermes backup cria um arquivo completo da sua configuração, sessões, skills e memória. hermes import restaura a partir de um arquivo de backup.16 Use isso para migrar entre máquinas, criar snapshots antes de mudanças grandes ou compartilhar uma configuração testada e confiável com colegas de equipe.
Suporte a Termux / Android (v0.9.0+)
Hermes roda nativamente no Android via Termux. Caminhos de instalação adaptados, otimizações da TUI para telas móveis, suporte a backend de voz e comando /image funcionam no próprio dispositivo.16
Reforço de segurança (v0.13.0+)
A v0.13.0 corrigiu 8 problemas de segurança P0 e mudou um padrão a favor do usuário.18 A v0.14.0 vem em seguida com mais 12 correções P0 e 50 P1, incluindo reforço contra força bruta em sudo / sudo-stdin, correções de bypass de comandos perigosos, sanitização de erros de ferramentas antes da reinjeção no modelo, autenticação de API do plugin do dashboard, cobertura de SSRF no skills-hub e varredura de avisos de supply chain durante a instalação.19
| Correção | O que mudou |
|---|---|
| Redação de segredos ativada por padrão | Antes era opt-in. Logs e uploads de hermes debug share redigem segredos, a menos que isso seja desativado explicitamente. A v0.12.0 tinha desativado a redação por padrão após relatos de corrupção de payload; a v0.13.0 a reativa como base mais segura. |
| Bypass de DM entre guilds no Discord (CVSS 8.1) | As allowlists de funções do Discord agora têm escopo por guild, fechando um caminho em que a função de um usuário em uma guild autorizava DMs em todas elas. |
| Restrições padrão do WhatsApp | O adaptador do WhatsApp rejeita desconhecidos por padrão e nunca responde em self-chat. |
| Janela TOCTOU de MCP OAuth | Corrigida uma condição de corrida durante o salvamento de credenciais em fluxos de MCP OAuth. |
TOCTOU em auth.json de CLI |
Corrigida uma janela TOCTOU análoga no gravador de credenciais do armazenamento de autenticação de CLI. |
| Piso de SSRF no navegador | O roteamento híbrido aplica um piso de SSRF contra metadados de cloud para solicitações que tentam acessar 169.254.169.254 e equivalentes. |
| Varredura de prompt injection no cron | Prompts montados (incluindo conteúdo de skills carregadas) são verificados contra prompt injection antes de o cron job rodar. |
Redação em hermes debug share |
Uploads de debug share redigem o conteúdo dos logs no momento do upload, não apenas no momento da gravação. |
Se você mantém uma implantação do Hermes, trate as versões v0.13.0 e v0.14.0 como upgrades relevantes para segurança, não apenas como lançamentos de recursos. A v0.13.0 corrige o bypass entre guilds no Discord e duas janelas TOCTOU; a v0.14.0 adiciona outra rodada de reforço em tratamento de sudo, reinjeção de erros de ferramentas, APIs de plugins, SSRF no skills-hub e avisos de dependências.
Arquitetura para profissionais
Esta seção é para quem quer entender o que acontece por baixo dos panos para conseguir depurar, estender ou raciocinar sobre desempenho. É uma síntese da documentação de arquitetura upstream.3
Pontos de entrada → AIAgent
Todo ponto de entrada no Hermes acaba chamando AIAgent.run_conversation():
┌──────────────────────────────────────────────────────────────────┐
│ Entry Points │
│ │
│ CLI (cli.py) Gateway (gateway/run.py) ACP (acp_adapter/) │
│ Batch Runner API Server Python Library │
└──────────┬──────────────┬───────────────────────┬────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ AIAgent (run_agent.py) │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Prompt │ │ Provider │ │ Tool │ │
│ │ Builder │ │ Resolution │ │ Dispatch │ │
│ └──────┬──────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐ │
│ │ Compression │ │ 3 API Modes │ │ Tool Registry│ │
│ │ & Caching │ │ chat_compl │ │ 47 tools │ │
│ │ │ │ codex_resp │ │ 20 toolsets │ │
│ │ │ │ anthropic │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────┘
Diagrama adaptado da documentação de arquitetura upstream.3
“47 ferramentas / 20 toolsets” vs. “28 ferramentas” no seu banner. A contagem de “47 ferramentas” é o total do registro de ferramentas do repositório upstream — todas as ferramentas que o Hermes inclui no código-fonte, em todos os toolsets. Seu CLI em execução vai mostrar um número menor no banner de inicialização (a instalação que verifiquei para este guia informa 28 tools / 89 skills). Isso não é um bug. Muitos toolsets são opt-in e precisam ser ativados explicitamente em config.yaml em toolsets: — adaptadores de plataformas de mensagens, automação de navegador, ferramentas mais pesadas de scraping etc. O total do registro é “o que está disponível”; o número no banner é “o que está ativado no seu profile atual.” Veja quais toolsets estão ativos com hermes tools --list e ative ou desative toolsets individuais com o bloco toolsets: em ~/.hermes/config.yaml (ou /tools list / /tools enable <name> / /tools disable <name> dentro de uma sessão em execução — remover uma ferramenta aciona uma redefinição da sessão para que o agente reconstrua seu manifesto de ferramentas).
Os três modos de API
O Hermes abstrai diferenças entre providers em três modos de API, selecionados automaticamente em runtime:3
| Modo de API | Usado por |
|---|---|
chat_completions |
OpenRouter, z.ai, Kimi, MiniMax, DeepSeek, Alibaba, a maioria dos endpoints personalizados, qualquer servidor compatível com OpenAI |
codex_responses |
OpenAI Codex (via ChatGPT OAuth) |
anthropic_messages |
Anthropic API (nativo), Anthropic OAuth, proxies compatíveis com Anthropic |
O resolvedor runtime_provider.py mapeia tuplas (provider, model) para (api_mode, api_key, base_url) para mais de 18 providers, lidando com fluxos de OAuth, pools de credenciais e resolução de aliases.3
Fluxo de dados em uma sessão de CLI
User input → HermesCLI.process_input()
→ AIAgent.run_conversation()
→ prompt_builder.build_system_prompt()
→ runtime_provider.resolve_runtime_provider()
→ API call (chat_completions / codex_responses / anthropic_messages)
→ tool_calls? → model_tools.handle_function_call() → loop
→ final response → display → save to SessionDB
Da página de arquitetura upstream.3
Ordem de montagem do prompt
A pilha de prompts inclui:13
SOUL.md(identidade do agente — ou fallback integrado se indisponível)- Orientação de comportamento ciente de ferramentas
- Memória/contexto do usuário (
MEMORY.md,USER.md) - Orientação de skills
- Arquivos de contexto (
AGENTS.md,.cursorrules) - Timestamp
- Dicas de formatação específicas da plataforma
- Sobreposições opcionais de system prompt, como
/personality
SOUL.md é a base — todo o restante é construído sobre ele.13
Armazenamento de sessões
Armazenamento de sessões baseado em SQLite com busca de texto completo FTS5. As sessões têm rastreamento de linhagem (pai/filho entre compressões), isolamento por plataforma e gravações atômicas com tratamento de contenção.3
Sistema de plugins
Três fontes de descoberta: ~/.hermes/plugins/ (usuário), .hermes/plugins/ (projeto) e entry points do pip. Plugins registram ferramentas, hooks e comandos de CLI por meio de um contexto de API. Provedores de memória são um tipo especializado de plugin em plugins/memory/.3
hermes plugins # Interactive enable/disable UI
hermes plugins install <repo> # Install from Git URL or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list
Princípios de design
Da página de arquitetura upstream:3
| Princípio | O que significa na prática |
|---|---|
| Estabilidade do prompt | O system prompt não muda no meio da conversa. Sem mutações que quebrem cache, exceto ações explícitas do usuário (/model) |
| Execução observável | Toda chamada de ferramenta fica visível para o usuário via callbacks. Atualizações de progresso em CLI (spinner) e gateway (mensagens de chat) |
| Interrompível | Chamadas de API e execução de ferramentas podem ser canceladas em andamento por entrada do usuário ou sinais |
| Núcleo agnóstico à plataforma | Uma classe AIAgent atende CLI, gateway, ACP, batch e servidor de API. Diferenças de plataforma ficam no ponto de entrada |
| Baixo acoplamento | Subsistemas opcionais (MCP, plugins, provedores de memória, ambientes RL) usam padrões de registro e gating por check_fn, não dependências rígidas |
| Isolamento de profile | Cada profile recebe seu próprio HERMES_HOME, config, memória, sessões e PID do gateway. Vários profiles rodam simultaneamente |
Migração do OpenClaw
Hermes Agent é o sucessor do OpenClaw. Se você está migrando de uma instalação existente do OpenClaw:65
hermes claw migrate --dry-run # Preview what would be migrated
hermes claw migrate --preset full # Full migration including API keys
hermes claw migrate --preset user-data --overwrite # User data only, no secrets
hermes claw migrate --source /custom/path # Non-default OpenClaw location
hermes claw migrate lê de ~/.openclaw por padrão (também detecta automaticamente diretórios legados ~/.clawdbot e ~/.moldbot) e grava em ~/.hermes.6
Importados diretamente (mais de 30 categorias): SOUL.md, MEMORY.md, USER.md, AGENTS.md, skills de 4 diretórios de origem, modelo padrão, providers personalizados, servidores MCP, tokens e allowlists de plataformas de mensagens (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), padrões do agente (reasoning effort, compressão, atraso humano, fuso horário, sandbox), políticas de redefinição de sessão, regras de aprovação, config de TTS, configurações de navegador, configurações de ferramentas, timeout de exec, allowlist de comandos, config de gateway e chaves de API de 3 fontes.6
Arquivados para revisão manual: cron jobs, plugins, hooks/webhooks, backend de memória (QMD), config do registro de skills, UI/identidade, logging, configuração multiagente, vinculações de canais, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md.6
A resolução de chaves de API verifica três fontes em ordem de prioridade: valores de config → ~/.openclaw/.env → auth-profiles.json.6
Solução de problemas
“API key not set”
Execute hermes model para configurar seu provedor de forma interativa, ou hermes config set OPENROUTER_API_KEY your_key. O comando hermes doctor informará exatamente quais chaves estão faltando.7
“Context limit: 2048 tokens” na inicialização (modelos locais)
O Hermes detecta automaticamente o tamanho do contexto a partir do endpoint /v1/models do seu servidor, mas muitos servidores locais reportam padrões baixos. Defina explicitamente no config.yaml:2
model:
default: your-model
provider: custom
base_url: http://localhost:11434/v1
context_length: 32768
Chamadas de ferramentas aparecem como texto em vez de serem executadas
Seu servidor não tem o tool calling habilitado, ou o modelo não oferece suporte a isso por meio da implementação do servidor.2
| Servidor | Correção |
|---|---|
| llama.cpp | Adicione --jinja ao comando de inicialização |
| vLLM | Adicione --enable-auto-tool-choice --tool-call-parser hermes |
| SGLang | Adicione --tool-call-parser qwen (ou o parser apropriado) |
| Ollama | O tool calling é habilitado por padrão — verifique se o seu modelo oferece suporte com ollama show <model> |
| LM Studio | Atualize para 0.3.6+ e use um modelo com suporte nativo a ferramentas |
As respostas são cortadas no meio da frase
Duas causas possíveis:2
- Limite baixo de saída (
max_tokens) no servidor — o SGLang usa o padrão de 128 tokens por resposta. Defina--default-max-tokensno servidor ou configuremodel.max_tokensnoconfig.yaml. - Esgotamento de contexto — o modelo encheu sua janela de contexto. Aumente
model.context_lengthou habilite a compressão de contexto no Hermes.
“Connection refused” do WSL2 para um servidor de modelo hospedado no Windows
O WSL2 usa um adaptador de rede virtual com sua própria sub-rede — localhost dentro do WSL2 se refere à VM Linux, não ao host Windows. Duas opções:2
Rede espelhada (Windows 11 22H2+): edite %USERPROFILE%\.wslconfig:
[wsl2]
networkingMode=mirrored
Em seguida, execute wsl --shutdown e reinicie. localhost agora funciona bidirecionalmente.
Fallback de IP do host (Windows mais antigo): obtenha o IP do host Windows de dentro do WSL2 e use-o em vez de localhost:
ip route show | grep -i default | awk '{ print $3 }'
# Use that IP as the base_url host
Você também precisa que o servidor de modelo faça bind em 0.0.0.0, não em 127.0.0.1 — defina OLLAMA_HOST=0.0.0.0 para o Ollama, adicione --host 0.0.0.0 para llama-server/SGLang ou habilite “Serve on Network” no LM Studio.2
Onde está tudo?
hermes status e hermes dump são seus aliados aqui. hermes logs list mostra todos os arquivos de log com seus tamanhos. hermes config path imprime a localização do arquivo de configuração. hermes config env-path imprime a localização do .env.6
FAQ
Qual é a diferença entre Hermes Agent e Claude Code?
Claude Code é o CLI oficial da Anthropic, fixado nos modelos da Anthropic. Hermes Agent é um framework de agente open-source da Nous Research que funciona com qualquer provedor compatível com OpenAI — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Hugging Face, Google ou seu próprio endpoint auto-hospedado.12 O Hermes também traz um messaging gateway para Telegram/Discord/Slack/WhatsApp/Signal que o Claude Code não tem.
Posso usar o Hermes com uma API key da Anthropic?
Sim. Três formas:2
- Defina
ANTHROPIC_API_KEYem~/.hermes/.enve executehermes chat --provider anthropic --model claude-sonnet-4-6 - Execute
hermes modele selecione Anthropic — o Hermes usará o credential store do Claude Code quando disponível - Defina um
ANTHROPIC_TOKENmanual (setup-token ou token OAuth) como fallback
A opção 2 é preferível se você já usa o Claude Code na mesma máquina — ela mantém as credenciais Claude refresháveis renováveis.
Como troco de provedor sem perder minha conversa?
Use /model provider:model dentro de uma sessão. O histórico da conversa, a memória e as skills são todos preservados:9
/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5
Configurei o Anthropic, mas vision/web/compressão não funcionam
Você está caindo no fallback do modelo auxiliar. Vision, sumarização web, compressão e outras tarefas auxiliares usam um LLM auxiliar separado — por padrão Gemini Flash via detecção automática (OpenRouter → Nous → Codex). Se nenhum desses estiver configurado e você só tiver Anthropic configurado, esses recursos degradam silenciosamente.4
Correção: ou adicione uma OPENROUTER_API_KEY para tarefas auxiliares, ou reconfigure os slots auxiliares para usarem seu provedor principal. Observe que a compressão de contexto fica em seu próprio bloco compression: de nível superior e aceita summary_provider, não auxiliary.compression.provider — o slot auxiliary.compression só expõe um timeout. Correção completa:
auxiliary:
vision: { provider: "main" }
web_extract: { provider: "main" }
compression:
summary_provider: "main"
Qual é a diferença entre SOUL.md e AGENTS.md?
SOUL.md é a identidade do seu agente — tom, estilo, padrões de comunicação. Ele fica em ~/.hermes/SOUL.md e te acompanha em todo lugar. AGENTS.md é específico do projeto — arquitetura, convenções, comandos, paths — e fica no diretório do seu projeto.13 Se deve acompanhar você em todo lugar, SOUL.md. Se pertence a um projeto, AGENTS.md.
Como executo várias instâncias do Hermes lado a lado?
Profiles. Cada profile recebe seu próprio HERMES_HOME, config, memória, sessões e PID do gateway:6
hermes profile create work --clone
hermes profile use work # Sticky default
hermes -p work chat -q "..." # One-off without switching
hermes profile alias work --name h-work # Wrapper script
O Hermes oferece suporte a LLMs locais?
Sim, por meio do caminho de endpoint custom. O Hermes funciona com qualquer servidor compatível com OpenAI: Ollama, vLLM, SGLang, llama.cpp/llama-server, LM Studio, LocalAI, Jan ou o seu próprio.2 Veja Custom & Self-Hosted Endpoints para a configuração de cada servidor.
Por que meu banner de inicialização mostra menos ferramentas do que o guia diz que o Hermes tem?
O guia cita 47 ferramentas / 20 toolsets a partir do registry de arquitetura upstream — esse é o total de ferramentas para as quais o Hermes envia código-fonte em todos os toolsets. Sua instalação em execução mostra um número menor no banner (a instalação de referência usada para este guia reporta 28 ferramentas) porque o Hermes só habilita o conjunto padrão de toolsets na inicialização. Muitos toolsets são opt-in: adaptadores do messaging gateway, automação de browser, stacks mais pesadas de scraping e várias integrações especializadas precisam ser listadas explicitamente em toolsets: em ~/.hermes/config.yaml antes de carregarem. Total do registry = “o que está disponível se você habilitar.” Total do banner = “o que seu profile atual realmente carregou.” Use hermes tools --list para ver quais toolsets estão ativos e quais estão disponíveis, mas desabilitados. Alterne toolsets individuais em runtime com /tools enable <name> e /tools disable <name> (desabilitar dispara um reset de sessão para que o agente reconstrua seu manifesto de ferramentas com o novo formato).
Como o Hermes lida com o fallback de modelo quando meu provedor primário falha?
Configure um bloco fallback_model no config.yaml:2
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
Quando o primário falha (rate limit, erro de servidor, falha de autenticação), o Hermes troca para o fallback no meio da sessão sem perder o histórico da conversa. Dispara no máximo uma vez por sessão.
O agente pode melhorar suas próprias skills ao longo do tempo?
Sim — essa é a parte “self-improving” do Hermes Agent. O agente pode criar, atualizar e excluir skills via a ferramenta skill_manage. Quando descobre um workflow não trivial, ele salva a abordagem como uma skill para reutilização futura.11 O agente cria skills depois de tarefas complexas (5+ chamadas de ferramentas), quando encontra erros e descobre o caminho que funciona, quando você corrige sua abordagem ou quando descobre um workflow não trivial.
Existe uma integração com IDE?
Sim — o Hermes pode rodar como um servidor ACP (Agent Client Protocol) para VS Code, Zed e JetBrains:6
pip install -e '.[acp]'
hermes acp
Changelog
| Data | Alteração | Fonte |
|---|---|---|
| 2026-05-21 | Guia v1.6: adicionada a versão v0.14.0 (16 de maio de 2026) — The Foundation release. Destaque: base de instalação/runtime mais leve, além de superfícies mais amplas para provedores, gateway, mídia e verificação. Adicionado SuperGrok OAuth com contexto de 1M no grok-4.3, hermes proxy compatível com OpenAI para provedores OAuth, x_search de primeira classe, pip install hermes-agent, instalações lazy de dependências, inicialização ~19s mais rápida, chamadas CDP de navegador 180x mais rápidas, LINE + SimpleX Chat para 22 plataformas de mensagens, Microsoft Teams ponta a ponta, /handoff, /subgoal, botões nativos de clarificação no Telegram/Discord, backfill de histórico do Discord, vision_analyze com pixels brutos, rodapé verificador de mutação de arquivos por turno, diagnósticos semânticos LSP em cada escrita, video_generate unificado, computer_use via cua-driver para provedores que não são Anthropic, URLs clicáveis OSC8, suporte ao Zed ACP Registry, roteador OpenRouter Pareto Code, NovitaAI, runtime app-server do Codex, trusted tap huggingface/skills, 9 skills opcionais, plugin ctx.llm / tool_override, busca web Brave/DDGS, renomeação do Qwen Cloud, beta nativo para Windows e fechamento de 12 P0 / 50 P1. |
19 |
| 2026-05-07 | Guia v1.5: adicionada a versão v0.13.0 (7 de maio de 2026) — The Tenacity release. Destaque: um quadro Kanban multi-agent durável (heartbeat, reclaim, detecção de zombie, hallucination gate, max_retries por tarefa, quadros multi-projeto) que transforma enxames em uma primitiva de primeira classe, em vez de um padrão de delegação. O comando /goal fixa o agente em um alvo ao longo dos turnos (padrão Ralph-loop como slash command). Novo tool video_analyze, Gemini-first com suporte extensível a modelos compatíveis. Provedor xAI Custom Voices TTS com clonagem de voz. i18n em 7 idiomas (zh-Hans, ja, de, es, fr, uk, tr) para mensagens do CLI e do gateway; docs somente em zh-Hans. Google Chat como 20ª plataforma de mensagens via padrão de adaptador plugável; IRC + Microsoft Teams migrados para o mesmo padrão. ProviderProfile ABC + plugins/model-providers/ para provedores de terceiros plugáveis sem alterações no core. Auto-resume de sessão após reinício do gateway, /update e recarregamento de arquivo-fonte. Reescrita dos Checkpoints v2 com design de armazenamento único, pruning real e proteções de disco. Oito fechamentos de segurança P0: redação de segredos ativada por padrão, bypass de DM entre guilds no Discord (CVSS 8.1), rejeição de desconhecidos no WhatsApp + silenciamento de autochat, TOCTOU de MCP OAuth, TOCTOU de auth.json do CLI, piso de SSRF no navegador, varredura de prompt injection em cron, redação em hermes debug share. Linting pós-escrita para Python/JSON/YAML/TOML, modo cron no_agent somente com script, allowlists de plataforma em Slack/Telegram/Mattermost/Matrix/DingTalk, melhorias em MCP (transporte SSE, encaminhamento de OAuth, tags MEDIA de imagem). Estatísticas desde a v0.12.0: 864 commits, 588 PRs mesclados, 829 arquivos alterados, 295 contribuidores da comunidade, 282 issues fechadas (13 P0, 36 P1). |
18 |
| 2026-05-06 | Guia v1.4: adicionada a versão v0.12.0 (30 de abril de 2026) — The Curator release. Destaque: um Curator autônomo em segundo plano rodando no cron ticker do gateway (ciclo padrão de 7 dias) que avalia a biblioteca de skills com uma rubrica, remove skills inativas, consolida skills relacionadas e grava relatórios por execução — o Hermes se mantém sozinho entre sessões ativas. Loop de autoaperfeiçoamento atualizado com avaliação baseada em rubrica, viés de atualização ativa, herança correta de runtime e toolsets com escopo limitado a memória e skills. Quatro novos provedores de inferência: GMI Cloud, Azure AI Foundry, MiniMax OAuth e Tencent Tokenhub. LM Studio promovido a primeira classe. Manifests remotos de catálogo de modelos agora atualizam automaticamente sem releases. Duas novas plataformas de mensagens: Microsoft Teams (19ª, via arquitetura plugável de gateway) e Tencent Yuanbao (18ª, texto + mídia nativos). Spotify nativo via PKCE OAuth com skill incluída; plugin Google Meet para chamadas e transcrição; provedor Piper local TTS. ComfyUI v5 + TouchDesigner-MCP passaram de opcionais para incluídos por padrão. Novas skills: Humanizer, claude-design, design-md, airtable. Adições ao CLI: modo one-shot hermes -z, preflight hermes update --check, slash command /reload-skills, estilos plugáveis de indicador de ocupado. Cold start visível do TUI reduzido em ~57% via inicialização lazy de agentes e imports lazy. Segurança: redação de segredos desativada por padrão para evitar corrupção de payload; blocklist rígida para comandos irrecuperáveis. Estatísticas: 1.096 commits, 550 PRs mesclados, 213 contribuidores da comunidade. |
17 |
| 2026-04-25 | Guia v1.3: adicionada a versão v0.11.0 (23 de abril de 2026) — The Interface release. Reescrita completa do TUI interativo em React/Ink com backend JSON-RPC em Python (tui_gateway); composer fixo, streaming ao vivo com suporte a clipboard OSC-52, chaves estáveis no picker, barra de status com cronômetro por turno e branch git, confirmação de /clear, preset de tema claro, overlay de observabilidade para spawn de subagent. Arquitetura de transporte plugável — conversão de formato e transporte HTTP extraídos para agent/transports/ para uma integração mais limpa com provedores. AWS Bedrock nativo via Converse API. Cinco novos caminhos de inferência: NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth e Vercel ai-gateway. GPT-5.5 via Codex OAuth — o novo flagship da OpenAI agora pode ser acessado pelo ChatGPT Codex OAuth sem uma chave API separada. QQBot (17ª plataforma de mensagens) com configuração por QR scan e streaming. Expansão da superfície de plugins: slash commands, dispatch de tools, bloqueio de execução, transformação de resultados. /steer <prompt> — nudges no agente durante a execução que injetam uma nota vista pelo agente em execução após sua próxima chamada de tool, sem interromper o turno nem quebrar o cache de prompt. Shell hooks conectam scripts como lifecycle hooks sem plugins Python. Modo de entrega direta por webhook encaminha payloads diretamente para um chat da plataforma, contornando o agente para fan-out. Delegação mais inteligente com funções de orquestrador, profundidade de spawn configurável e coordenação de arquivos. O dashboard ganha sistema de plugins, troca de tema ao vivo, i18n e responsividade mobile. Estatísticas desde a v0.9.0: 1.556 commits, 761 PRs mesclados, 1.314 arquivos alterados, 224.174 inserções, 29 contribuidores da comunidade. |
20 |
| 2026-04-16 | Guia v1.2: adicionada a v0.10.0 — Nous Tool Gateway. Assinantes pagos do Nous Portal agora acessam tools gerenciadas (busca web Firecrawl, geração de imagens FAL / FLUX 2 Pro, OpenAI TTS, automação de navegador Browser Use) sem chaves API extras. Opt-in por tool via novo campo de configuração use_gateway. O runtime prefere gateway em vez de chaves API diretas quando ambos estão configurados. Variável de ambiente HERMES_ENABLE_NOUS_MANAGED_TOOLS removida. Hermes Agent CLI continua licenciado sob MIT e totalmente gratuito. |
21 |
| 2026-04-13 | Guia v1.1: adicionados recursos das versões v0.8.0 e v0.9.0. Dashboard web local, modo /fast, plataformas iMessage + WeChat (16 no total), monitoramento de processos em segundo plano (watch_patterns), context engine plugável, hermes backup/hermes import, Termux/Android, provedores xAI + MiMo + Google AI Studio + Qwen, comando /debug, hardening de segurança abrangente. |
15 16 |
| 2026-04-10 | Guia v1.0: release inicial cobrindo Hermes Agent v0.7.0. Autenticação de provedores, configuração, CLI, slash commands, tools, skills, memória, gateway, cron, MCP, compressão, arquitetura, migração do OpenClaw, troubleshooting, FAQ. |
Referências
-
Nous Research, README do projeto “Hermes Agent” no GitHub. Fonte primária para a descrição do produto (agente autoaperfeiçoável, multiprovedor, messaging gateway, backends de terminal, evolução de skills, agendador cron, delegação) e o comando de uma linha “Quick Install”. ↩↩↩
-
Nous Research, “AI Providers” na documentação do Hermes Agent. Fonte primária para a lista completa de provedores, métodos de autenticação por provedor (OAuth do Nous Portal, código de dispositivo do Codex, tipos de token do GitHub Copilot, autenticação de três métodos do Anthropic, provedores chineses de IA, roteamento do Hugging Face, endpoints personalizados), os três caminhos de autenticação (chave API em
.env, OAuth viahermes model, endpoint personalizado emconfig.yaml), a sintaxe do comando slash/model(incluindocustom:name:model), templates de configuração do Ollama/vLLM/SGLang/llama.cpp/LM Studio, instruções de rede do WSL2, cadeia de detecção de tamanho de contexto, configuração de modelo de fallback, roteamento inteligente de modelos e provedores personalizados nomeados. Todos os nomes de variáveis de ambiente específicos de provedores, tipos de token, substituições de URL base e identificadores de modelo neste post vêm desta página. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Architecture” no guia de desenvolvedor do Hermes Agent. Fonte primária para o diagrama de visão geral do sistema, estrutura de diretórios, fluxo de dados pelos caminhos de sessão CLI e mensagens do gateway, os três modos API (
chat_completions,codex_responses,anthropic_messages), resolução de provedor viaruntime_provider.py, persistência de sessão via SQLite + FTS5, lista de plataformas do messaging gateway, fontes de descoberta do sistema de plugins, isolamento de profiles e os seis princípios de design. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Configuration” no guia do usuário do Hermes Agent. Fonte primária para a estrutura de diretórios de configuração, a regra
config.yamlvs.env(“config.yamlvence para configurações não secretas”), a cadeia de precedência de configuração (argumentos CLI → env → config.yaml → .env → padrões), configurações de compressão de contexto (blococompression.*comthreshold,target_ratio,protect_last_n,summary_model,summary_provider,summary_base_url), limites de pressão de orçamento (70% cautela, 90% aviso), timeouts de streaming com ajuste automático para provedor local e o bloco completo de configuração de modelo auxiliar (auxiliary:com slotsvision,web_extract,approval,compression,session_search,skills_hub,mcp,flush_memories). A restrição do provedor"main"aos slots auxiliar/compressão/fallback também vem desta página. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Migrate from OpenClaw” nos guias do Hermes Agent. Fonte para o fluxo de migração OpenClaw → Hermes. ↩↩
-
Nous Research, “CLI Commands Reference” na documentação de referência do Hermes Agent. Fonte primária para cada comando CLI de nível superior documentado neste post, incluindo
hermes chat,hermes model,hermes gateway,hermes setup,hermes auth,hermes status,hermes cron,hermes webhook,hermes doctor,hermes dump,hermes logs,hermes config,hermes pairing,hermes skills,hermes honcho,hermes memory,hermes acp,hermes mcp,hermes plugins,hermes tools,hermes sessions,hermes insights,hermes claw,hermes profile,hermes completion,hermes updateehermes uninstall. Todas as flags de subcomandos, descrições de opções, comportamento do pool de credenciais, sintaxe de filtragem de logs, flags de migração do OpenClaw, comandos de gerenciamento de profile e comandos de instalação de serviço neste post vêm desta página. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Installation” no guia de introdução do Hermes Agent. Fonte primária para o comando de instalação de uma linha, o comportamento do instalador (pré-requisitos, suporte a plataformas, autodetecção do Termux, requisitos de Windows/WSL2), a tabela de extras opcionais, as etapas de instalação manual e os comandos de verificação. ↩↩↩↩↩↩↩
-
Nous Research, “CLI Commands Reference” — veja especificamente a seção
hermes dump, que descreve o formato de saída do comando (cabeçalho, ambiente, identidade, modelo, terminal, chaves API, recursos, serviços, carga de trabalho, substituições de configuração) e o uso previsto para compartilhar diagnósticos. ↩ -
Nous Research, “Slash Commands Reference” na documentação de referência do Hermes Agent. Fonte primária para cada comando slash listado neste post, a arquitetura
COMMAND_REGISTRY, a divisão entre CLI e messaging, comandos slash dinâmicos de skills, comandos rápidos emconfig.yaml, comportamento de correspondência por prefixo e os comandos exclusivos de messaging (/status,/sethome,/approve,/deny,/update,/commands). ↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Tools & Toolsets” no guia do usuário do Hermes Agent. Fonte primária para a visão geral das categorias de ferramentas, comandos de uso de toolset, os seis backends de terminal (local, docker, ssh, singularity, modal, daytona), configuração de container (cpu, memória, disco, persistente), reforço de segurança para containers, gerenciamento de processos em background API e suporte a sudo. ↩↩↩↩↩↩↩↩↩↩
-
Nous Research, “Skills System” no guia do usuário do Hermes Agent. Fonte primária para progressive disclosure, formato
SKILL.md, skills específicas de plataforma, ativação condicional (fallback_for_toolsets,requires_toolsets,fallback_for_tools,requires_tools), skills gerenciadas por agente viaskill_manage, os comandos do skill hub e a lista de fontes (official,skills-sh,well-known,github,clawhub,claude-marketplace,lobehub), varredura de segurança, níveis de confiança e diretórios externos de skills. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Persistent Memory” no guia do usuário do Hermes Agent. Fonte primária para os limites de caracteres de
MEMORY.md/USER.md, o padrão de snapshot congelado, ações da ferramenta de memória (add,replace,remove), o que salvar vs ignorar, a comparação entre memória e busca de sessões e a lista de oito provedores externos de memória (Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory). ↩↩↩↩↩↩↩↩ -
Nous Research, “Personality & SOUL.md” no guia do usuário do Hermes Agent. Fonte primária para o comportamento do
SOUL.md(fica emHERMES_HOME, nunca é sobrescrito, slot nº 1 no prompt de sistema, passa por varredura de segurança antes da inclusão), distinção entre SOUL.md e AGENTS.md, a lista de personalidades integradas (14 personalidades dehelpfulahype), personalidades personalizadas emconfig.yaml, o padrão de sobreposição/personalitye a ordem completa de montagem da pilha de prompts. ↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Use MCP with Hermes” e MCP Config Reference nos guias e na referência do Hermes Agent. Fonte para o formato de configuração
mcp_servers:emconfig.yamlcom os camposcommand,args,env. ↩ -
Hermes Agent v0.8.0 Release Notes. 8 de abril de 2026. Notificações automáticas de processos em background, MiMo v2 Pro gratuito no Nous Portal, troca ao vivo via
/modelentre plataformas, provedor nativo Google AI Studio, OAuth do Qwen, timeouts baseados em inatividade, botões de aprovação no Slack/Telegram, OAuth 2.1 PKCE do MCP, logging centralizado, expansão do sistema de plugins. ↩↩↩↩↩ -
Hermes Agent v0.9.0 Release Notes. 13 de abril de 2026. Dashboard web local, Fast Mode (
/fast), iMessage via BlueBubbles, WeChat + WeCom, Termux/Android, monitoramento de processos em background (watch_patterns), provedores nativos xAI + Xiaomi MiMo, context engine plugável, suporte unificado a proxy, reforço de segurança (correções de path traversal, shell injection, SSRF, RCE),hermes backup/hermes import,/debug+hermes debug share, 16 plataformas compatíveis. 487 commits, 269 PRs mesclados, 24 contribuidores. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.12.0 Release Notes. 30 de abril de 2026. “The Curator release.” Curator autônomo em background que avalia, poda e consolida a biblioteca de skills em um ciclo padrão de 7 dias executado no cron ticker do gateway. Loop de autoaperfeiçoamento atualizado: avaliação baseada em rubrica, viés para atualizações ativas, herança correta de runtime, toolsets com escopo restrito a memória e skills. Quatro novos provedores de inferência: GMI Cloud, Azure AI Foundry, OAuth do MiniMax, Tencent Tokenhub. LM Studio promovido a primeira classe. Manifestos remotos de catálogo de modelos são atualizados automaticamente sem releases. Duas novas plataformas de messaging: Microsoft Teams (19ª, via arquitetura de gateway plugável) e Tencent Yuanbao (18ª, texto + mídia nativos). Spotify nativo via OAuth PKCE com skill incluída; plugin do Google Meet para chamadas e transcrição; provedor local de TTS Piper. ComfyUI v5 + TouchDesigner-MCP incluídos por padrão. Novas skills: Humanizer, claude-design, design-md, airtable. CLI: modo one-shot
hermes -z, preflighthermes update --check, comando slash/reload-skills, estilos plugáveis de indicador de ocupado. Inicialização fria da TUI reduzida em ~57% via lazy initialization. Segurança: redação de segredos desativada por padrão; blocklist rígida para comandos irrecuperáveis. Estatísticas desde v0.11.0: 1.096 commits, 550 PRs mesclados, 213 contribuidores da comunidade. Veja também: tag de release v2026.4.30. ↩↩↩ -
Hermes Agent v0.13.0 Release Notes. 7 de maio de 2026. “The Tenacity release.” Quadro Kanban multiagente com heartbeat, reclaim, detecção de zumbis, gate de alucinação,
max_retriespor tarefa, quadros multiprojeto. Comando slash/goalpara travamento de alvo entre turnos (primitiva do loop Ralph) com orçamento de turnos configurável. Ferramentavideo_analyze, Gemini-first com extensibilidade multimodal compatível. Provedor TTS xAI Custom Voices com clonagem de voz. i18n em 7 idiomas: zh-Hans, ja, de, es, fr, uk, tr (CLI + mensagens do gateway; docs apenas zh-Hans). Google Chat como 20ª plataforma de messaging via padrão de adaptador plugável com hooks genéricos de pluginenv_enablement_fn/cron_deliver_env_var; IRC e Microsoft Teams migrados para o mesmo padrão. ABCProviderProfile+plugins/model-providers/para provedores plugáveis de terceiros. Retomada automática de sessão após reinício do gateway,/updatee recarregamento de arquivos-fonte. Reescrita do Checkpoints v2 em store único com pruning real, proteções de disco, sem shadow repos órfãos. Oito fechamentos P0 de segurança: redação de segredos ativada por padrão, bypass de DM cross-guild no Discord (CVSS 8.1, allowlists de funções com escopo por guild), WhatsApp rejeita estranhos por padrão + nunca responde em self-chat, TOCTOU ao salvar credenciais de OAuth do MCP, TOCTOU emauth.jsondo CLI em gravadores de credenciais, piso contra SSRF de metadados de cloud no navegador em roteamento híbrido, varredura de prompts montados pelo cron (incluindo conteúdo de skills) contra prompt injection, redação de conteúdo de logs no upload dohermes debug share. Outros itens notáveis: linting pós-escrita para Python/JSON/YAML/TOML, modo watchdogno_agentsomente script no cron, allowlists de plataforma em Slack/Telegram/Mattermost/Matrix/DingTalk, melhorias do MCP (transporte SSE, encaminhamento de OAuth, resultados de imagem como tags MEDIA). Estatísticas desde v0.12.0: 864 commits, 588 PRs mesclados, 829 arquivos alterados, 295 contribuidores da comunidade, 282 issues fechadas (13 P0, 36 P1). ↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.14.0 Release Notes. 16 de maio de 2026. “The Foundation release.” Desde v0.13.0: 808 commits, 633 PRs mesclados, 1.393 arquivos alterados, 165.061 inserções, 545 issues fechadas (12 P0, 50 P1) e 215 contribuidores da comunidade. Adiciona OAuth do SuperGrok com grok-4.3 e contexto de 1M,
hermes proxy,x_search, empacotamento PyPI, dependências lazy, cache de prompt Claude de 1h entre sessões, lançamento ~19s mais rápido, chamadas CDP de navegador 180x mais rápidas, LINE e SimpleX Chat para 22 plataformas de messaging,/handoff, botões nativos de esclarecimento, preenchimento retroativo de histórico do Discord,vision_analyzecom pixels brutos, rodapé verificador de mutação de arquivos por turno, diagnósticos semânticos LSP,video_generateunificado,computer_usecom cua-driver, links OSC8, suporte ao Zed ACP Registry, roteador OpenRouter Pareto Code, NovitaAI, runtime app-server do Codex,huggingface/skills, pluginctx.llm,tool_override, busca Brave/DDGS, reforço contra comandos perigosos,/subgoal, renomeação para Qwen Cloud, beta nativo para Windows, 16 locales no total e amplas atualizações de documentação/testes. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.11.0 Release Notes. 23 de abril de 2026. “The Interface release” — reescrita completa em React/Ink do CLI interativo com backend Python JSON-RPC (
tui_gateway); arquitetura de transporte plugável (agent/transports/); AWS Bedrock nativo via Converse API; cinco novos caminhos de inferência (NVIDIA NIM, Arcee AI, Step Plan, OAuth do Google Gemini CLI, Vercel ai-gateway); GPT-5.5 via OAuth do Codex; QQBot como 17ª plataforma de messaging com configuração por QR-scan; superfície de plugins expandida (comandos slash, despacho de ferramentas, bloqueio de execução, transformação de resultados);/steer <prompt>para ajustes de agente no meio da execução que injetam contexto após a próxima chamada de ferramenta sem quebrar o cache de prompt; shell hooks para eventos de ciclo de vida sem plugins Python; modo de entrega direta por webhook que encaminha payloads diretamente para um chat de plataforma; delegação mais inteligente com funções de orquestrador + profundidade de spawn configurável + coordenação de arquivos; sistema de plugins do dashboard, troca de tema ao vivo, i18n, responsividade mobile. Estatísticas desde v0.9.0: 1.556 commits · 761 PRs mesclados · 1.314 arquivos alterados · 224.174 inserções · 29 contribuidores da comunidade. Veja também: tag de release GitHub do Hermes Agent v0.11.0. ↩↩↩ -
Hermes Agent v0.10.0 Release Notes. 16 de abril de 2026. “The Tool Gateway Release.” Integração do Nous Tool Gateway para assinantes pagos do Nous Portal — acesso gerenciado à busca web Firecrawl, geração de imagens FAL / FLUX 2 Pro, OpenAI TTS e automação de navegador Browser Use sem chaves API extras. Opt-in por ferramenta via novo campo de configuração
use_gateway. O runtime prefere o gateway em vez de chaves API diretas quando ambos estão configurados. Integração completa comhermes toolsehermes status. Substitui a env var obsoletaHERMES_ENABLE_NOUS_MANAGED_TOOLS. Implementação por @jquesnelle (emozilla). O CLI do Hermes Agent continua licenciado sob MIT e totalmente open source; o gateway é uma integração com o produto de assinatura existente do Portal, não um paywall no CLI. Veja também: Nous Portal para preços de assinatura e cadastro. ↩↩↩