hermes@agent:~/.hermes$ cat hermes.md

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.

words: 14516 read_time: 55m updated: 2026-05-22 04:52
$ less hermes.md

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_search de 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_generate unificado, computer_use via 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 via hermes model ou endpoint personalizado em config.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:

  1. Resolução de provedores: como os fluxos de autenticação mapeiam para chamadas API
  2. Hierarquia de configuração: config.yaml + .env + auth.json + SOUL.md + AGENTS.md
  3. Sistema de tools + toolset: o que o agente pode fazer, controlado por plataforma
  4. Sistema de skills: memória procedural que o agente cria e evolui
  5. 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 via hermes model/hermes auth ou endpoint personalizado em config.yaml. Escolha o caminho que corresponde ao seu provedor, não o que parece mais familiar.
  • Trocar de provedor é um único comando. hermes model guia você interativamente por todos os provedores compatíveis, incluindo logins OAuth, e /model provider:model troca 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.yaml guarda configurações e ~/.hermes/.env guarda segredos. auth.json, SOUL.md, MEMORY.md e skills/ são gerenciados diretamente pelo Hermes — você pode editar SOUL.md manualmente, mas o restante é alterado pelo próprio agente.4
  • Hermes é o sucessor do OpenClaw. Se você está migrando, hermes claw migrate importa 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-agent funciona 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 proxy transforma 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 clarify no 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_use funciona por meio do cua-driver para provedores que não são Anthropic, video_generate é unificado por trás de backends plugáveis, e vision_analyze envia 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:

  1. Monta o system prompt a partir de SOUL.md, MEMORY.md, USER.md, skills, arquivos de contexto e orientações de ferramentas via prompt_builder.py3
  2. Resolve o provedor em runtime via runtime_provider.py — esta é a etapa que escolhe sua autenticação, URL base e modo API3
  3. Chama o provedor usando um dos três modos API: chat_completions, codex_responses ou anthropic_messages3
  4. Encaminha qualquer chamada de ferramenta retornada por meio de model_tools.py e do registro central de ferramentas (tools/registry.py)3
  5. 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

  1. Argumentos CLIhermes chat --model anthropic/claude-sonnet-4 (substituição por invocação)
  2. Variáveis de ambiente — aplicadas na inicialização do processo
  3. config.yaml — o arquivo principal de configurações
  4. .env — somente secrets
  5. 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 memoryadd, 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_TOOLS foi removida na v0.10.0. Ferramentas gerenciadas agora são habilitadas pelo campo de configuração use_gateway por 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

  1. SOUL.md (identidade do agente — ou fallback integrado se indisponível)
  2. Orientação de comportamento ciente de ferramentas
  3. Memória/contexto do usuário (MEMORY.md, USER.md)
  4. Orientação de skills
  5. Arquivos de contexto (AGENTS.md, .cursorrules)
  6. Timestamp
  7. Dicas de formatação específicas da plataforma
  8. 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/.envauth-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

  1. Limite baixo de saída (max_tokens) no servidor — o SGLang usa o padrão de 128 tokens por resposta. Defina --default-max-tokens no servidor ou configure model.max_tokens no config.yaml.
  2. Esgotamento de contexto — o modelo encheu sua janela de contexto. Aumente model.context_length ou 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

  1. Defina ANTHROPIC_API_KEY em ~/.hermes/.env e execute hermes chat --provider anthropic --model claude-sonnet-4-6
  2. Execute hermes model e selecione Anthropic — o Hermes usará o credential store do Claude Code quando disponível
  3. Defina um ANTHROPIC_TOKEN manual (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


  1. 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”

  2. 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 via hermes model, endpoint personalizado em config.yaml), a sintaxe do comando slash /model (incluindo custom: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. 

  3. 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 via runtime_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. 

  4. 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.yaml vs .env (“config.yaml vence 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 (bloco compression.* com threshold, 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 slots vision, 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. 

  5. Nous Research, “Migrate from OpenClaw” nos guias do Hermes Agent. Fonte para o fluxo de migração OpenClaw → Hermes. 

  6. 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 update e hermes 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. 

  7. 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. 

  8. 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. 

  9. 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 em config.yaml, comportamento de correspondência por prefixo e os comandos exclusivos de messaging (/status, /sethome, /approve, /deny, /update, /commands). 

  10. 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. 

  11. 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 via skill_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. 

  12. 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). 

  13. Nous Research, “Personality & SOUL.md” no guia do usuário do Hermes Agent. Fonte primária para o comportamento do SOUL.md (fica em HERMES_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 de helpful a hype), personalidades personalizadas em config.yaml, o padrão de sobreposição /personality e a ordem completa de montagem da pilha de prompts. 

  14. 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: em config.yaml com os campos command, args, env

  15. 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 /model entre 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. 

  16. 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. 

  17. 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, preflight hermes 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

  18. 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_retries por tarefa, quadros multiprojeto. Comando slash /goal para travamento de alvo entre turnos (primitiva do loop Ralph) com orçamento de turnos configurável. Ferramenta video_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 plugin env_enablement_fn / cron_deliver_env_var; IRC e Microsoft Teams migrados para o mesmo padrão. ABC ProviderProfile + plugins/model-providers/ para provedores plugáveis de terceiros. Retomada automática de sessão após reinício do gateway, /update e 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 em auth.json do 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 do hermes debug share. Outros itens notáveis: linting pós-escrita para Python/JSON/YAML/TOML, modo watchdog no_agent somente 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). 

  19. 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_analyze com pixels brutos, rodapé verificador de mutação de arquivos por turno, diagnósticos semânticos LSP, video_generate unificado, computer_use com cua-driver, links OSC8, suporte ao Zed ACP Registry, roteador OpenRouter Pareto Code, NovitaAI, runtime app-server do Codex, huggingface/skills, plugin ctx.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. 

  20. 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

  21. 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 com hermes tools e hermes status. Substitui a env var obsoleta HERMES_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. 

NORMAL hermes.md EOF