📋 Pré-requisitos
Antes de instalar o Hermes, confirme três coisas: sistema operacional compatível, Node.js 20+ e uma conta Anthropic com API key ativa. Pular essa verificação é a causa #1 de instalações quebradas.
O que é
O Hermes Agent é um runtime CLI que orquestra agentes do Triad localmente. Roda em Linux, macOS e Windows (via WSL2), exige Node.js 20.x ou superior e uma ANTHROPIC_API_KEY válida para se conectar aos modelos Claude.
🔍 Verifique o que você já tem
# Versão do Node — precisa ser >= 20.x
node --version
# v20.11.1
# Versão do npm — precisa ser >= 10.x
npm --version
# 10.2.4
# Sistema operacional
uname -a
✓ Ambiente válido
- ✓Node.js 20.x ou superior (LTS recomendado)
- ✓npm 10.x via gerenciador oficial
- ✓API key Anthropic (formato sk-ant-...)
- ✓Permissão de escrita em
~/
✗ Configurações que quebram
- ✗Node.js 18.x ou inferior (faltam APIs)
- ✗npm instalado via sudo (permissões erradas)
- ✗Windows nativo sem WSL2
- ✗API key expirada ou sem créditos
💡 Dica primária
Use nvm para gerenciar versões do Node — assim você troca entre projetos sem conflito. Evite sudo npm install a qualquer custo: ele cria arquivos com owner errado em ~/.npm e quebra futuras instalações globais.
🔑 Conceitos-chave
Versão mínima — APIs de fetch nativo e streams modernos são exigidas
Nunca commite no Git — sempre via variável de ambiente
Hermes assume um shell POSIX — Windows nativo não é suportado
~/O Hermes cria ~/.hermes/ — exige escrita no home do usuário
📦 Instalação do Hermes Agent
A instalação acontece em duas etapas: um comando global do npm e um setup wizard interativo que prepara o ambiente local. O wizard valida tudo antes de finalizar.
O que é
O hermes-agent é o pacote npm que instala o binário hermes no PATH. Após a instalação, hermes init é o wizard que cria a estrutura ~/.hermes/, valida a API key, registra o usuário e baixa as skills padrão.
🚀 Instalação global
# Instala o binário global
npm install -g hermes-agent
# Confirma a instalação
hermes --version
# hermes-agent 1.4.2
# Inicia o setup wizard
hermes init
🧙 O que o setup wizard faz
~/.hermes/ com subdiretórios memory/, skills/, jobs/ e logs/.
🔑 Conceitos-chave
Hermes é um CLI — global (-g) é o caminho correto, nunca dentro de projetos
Pode rodar hermes init múltiplas vezes — só corrige o que estiver faltando
O wizard só prossegue se a chave responder com 200 na rota /v1/models
research, code e review já vêm prontas — você pode adicionar customizadas depois
⚙️ Configuração inicial
Depois do hermes init, três configurações precisam estar corretas para o agente funcionar de verdade: a API key persistente no shell, a estrutura de diretórios e as permissões de arquivo.
O que é
A configuração inicial define onde o Hermes guarda dados (~/.hermes/), como acessa a Anthropic (ANTHROPIC_API_KEY via env) e quais permissões os arquivos têm (600 para o config, 700 para o diretório). É o tripé que mantém o sistema seguro e funcional.
🔐 Configurando a API key no shell
# Adicione ao final do ~/.zshrc (ou ~/.bashrc)
export ANTHROPIC_API_KEY=sk-ant-api03-...
# Recarregue o shell
source ~/.zshrc
# Confirme que está no ambiente
echo $ANTHROPIC_API_KEY | head -c 20
# sk-ant-api03-XXXXXX
📁 Estrutura de diretórios
mkdir -p ~/.hermes/{memory,skills,jobs,logs}
~/.hermes/
├── config.json # configuração principal (chmod 600)
├── memory/ # estado persistente entre runs
├── skills/ # pacotes de skills instaladas
├── jobs/ # histórico de tarefas executadas
└── logs/ # logs estruturados em JSONL
# Permissões seguras
chmod 700 ~/.hermes
chmod 600 ~/.hermes/config.json
🧩 Três camadas de configuração
~/.hermes/config.json — preferências do usuário (modelo padrão, timeouts, telemetria)..hermes.json no projeto — overrides por projeto, commitáveis no Git sem expor segredos.💡 Dica primária
Se você usa 1Password CLI ou direnv, integre a API key dali em vez de hardcodar no ~/.zshrc. Assim a chave nunca toca o disco em texto plano e rotação fica trivial.
🔑 Conceitos-chave
API key em variável de ambiente, nunca em config.json commitável
Diretório ~/.hermes só para o user; config.json só leitura/escrita do owner
Env → user config → project config — o último sobrescreve
memory/, skills/, jobs/, logs/ — Hermes assume essa hierarquia
✅ Primeiro teste
Antes de pedir ao Hermes qualquer tarefa real, rode o smoke test pós-instalação: dois comandos curtos confirmam que o binário está no PATH, a API key funciona e o pipeline de jobs está vivo.
O que é
O smoke test é a sequência mínima de comandos que prova que a instalação funciona ponta a ponta: hermes ping testa conectividade com a Anthropic, hermes status mostra o estado do daemon, das skills carregadas e do último job executado.
🏓 Comando 1: hermes ping
hermes ping
✓ Binário detectado: /usr/local/bin/hermes
✓ Config carregada: ~/.hermes/config.json
✓ API key válida (sk-ant-***...***ZP4Q)
✓ Latência Anthropic: 187ms
✓ Modelo padrão: claude-sonnet-4-5
📊 Comando 2: hermes status
hermes status
Daemon ......... running (pid 38291)
Skills ......... 3 loaded (research, code, review)
Memory ......... 0 entries
Jobs ........... 0 active, 0 historic
Last error ..... none
Uptime ......... 00:00:14
🧪 Job de teste real
Para confirmar o pipeline completo, envie um job trivial:
hermes run "diga apenas: ambiente operacional"
# job_id: hms_01HXY...
# status: completed (1.2s)
ambiente operacional
🔑 Conceitos-chave
Ping + status + um job trivial — três comandos cobrem o pipeline
Latência acima de 1s no ping indica rede ou rate limit
status mostra quantas skills o daemon registrou — 0 indica problema
Todo hermes run emite um ID — usado para auditar e re-executar
🖥️ O dashboard do Hermes
O Hermes expõe um dashboard local chamado Pantheon — uma interface web em http://localhost:7777 que mostra histórico de jobs, status das skills, custo acumulado e logs ao vivo. É o painel de controle para inspeção.
O que é
Pantheon é a UI web embutida no Hermes que serve em localhost:7777 e oferece quatro painéis: Jobs (histórico e status), Skills (instaladas e versão), Memory (estado persistente) e Logs (stream estruturado). É read-only por design — comandos de mutação continuam pelo CLI.
🚪 Subindo o dashboard
hermes dashboard
✓ Pantheon UI: http://localhost:7777
✓ WebSocket logs: ws://localhost:7778
# Abra no navegador — Ctrl+C aqui encerra.
🏛️ Os quatro painéis do Pantheon
🔎 Inspecionando um job pelo CLI
hermes job show hms_01HXY...
id ............ hms_01HXY...
prompt ........ "diga apenas: ambiente operacional"
status ........ completed
model ......... claude-sonnet-4-5
tokens ........ 14 in / 4 out
cost .......... $0.00012
duration ...... 1.184s
🔑 Conceitos-chave
Dashboard inspeciona; mutações continuam pelo CLI para evitar drift
Cada execução mostra tokens e USD — base para auditoria de gasto
Cada linha é JSON parseável — facilita grep, jq e ingestão em observability
Bind apenas em 127.0.0.1 — para expor, configure proxy reverso explícito
🔗 Conectando Claude Code ao Hermes
O Claude Code pode delegar tarefas pesadas ao Hermes via uma ponte chamada hermes-bridge. O CC continua sendo seu pair-programmer no terminal — o Hermes executa em background trabalhos de longa duração, paralelos ou que exigem skills específicas.
O que é
O hermes-bridge é uma flag do Claude Code que registra o daemon Hermes como provedor de jobs assíncronos. Com a ponte ativa, o CC ganha um novo tool delegate_to_hermes(task, skill) — útil para refactors longos, varreduras de codebase ou análises que ultrapassam o context window de uma sessão.
🌉 Ativando a ponte
# Sessão CC com ponte ativa
claude code --hermes-bridge
✓ Hermes daemon detectado (pid 38291)
✓ Bridge ativa em ws://localhost:7778
✓ Tool registrado: delegate_to_hermes
# Persistir como padrão
echo 'alias cc="claude code --hermes-bridge"' >> ~/.zshrc
🎯 Quando delegar ao Hermes
✓ Bom uso da ponte
- ✓"Hermes, audita os 200 arquivos de
src/api/" - ✓"Hermes, roda 4 estratégias de migração em paralelo"
- ✓"Hermes, mapeia dependências entre módulos"
✗ Delegar errado
- ✗"Hermes, renomeia esta variável" (CC resolve em 2s)
- ✗Delegar com input ambíguo — gera job inútil
- ✗Delegar sem critério de sucesso (vira loop infinito)
🔑 Conceitos-chave
CC e Hermes conversam por ws://localhost:7778 — sem polling
Aparece no toolbelt do CC — só dispara quando o modelo decide delegar
A sessão CC não trava esperando — recebe o job_id e segue conversando
Job sem critério vira loop — sempre passe condições testáveis
🩺 Verificação de saúde
Antes de avançar para o próximo módulo, rode hermes doctor — o diagnóstico oficial que audita 12 checks de instalação, configuração e conectividade e devolve um relatório com correções automáticas quando possível.
O que é
O hermes doctor é a ferramenta de auto-diagnóstico do Hermes. Executa 12 verificações categorizadas em quatro grupos (Sistema, Config, Rede, Skills) e emite um relatório com status PASS, WARN ou FAIL para cada item — com sugestão de correção quando aplicável.
🩺 Saída de hermes doctor
hermes doctor
━━━ Sistema ━━━
PASS Node.js >= 20.x (v20.11.1)
PASS Shell POSIX detectado (zsh)
PASS Permissões em ~/.hermes (700)
━━━ Config ━━━
PASS config.json válido (chmod 600)
PASS ANTHROPIC_API_KEY no env
WARN Telemetria opt-in não definida
━━━ Rede ━━━
PASS api.anthropic.com alcançável
PASS Latência mediana: 187ms
━━━ Skills ━━━
PASS research v1.2.0
PASS code v1.4.1
PASS review v0.9.3
11/12 PASS · 1 WARN · 0 FAIL
🔁 Fluxo de troubleshooting
hermes doctor — sempre primeiro. Identifica 90% dos problemas comuns.hermes doctor --fix — auto-corrige permissões erradas, diretórios faltantes e configs corrompidas.~/.hermes/logs/ — logs estruturados das últimas 100 execuções.hermes init --reset — recria a estrutura preservando memory/.📋 Checklist pós-instalação
- ☐
node --versionretorna v20.x ou superior - ☐
hermes --versionimprime versão sem erro - ☐
~/.hermes/existe com permissão 700 - ☐
$ANTHROPIC_API_KEYestá exportada e válida - ☐
hermes pingconecta em menos de 1s - ☐
hermes run "ping"retorna sem erro - ☐
hermes doctormostra 0 FAIL
🔑 Conceitos-chave
Sistema, Config, Rede e Skills — cada um com PASS/WARN/FAIL
--fix idempotenteAuto-corrige permissões e diretórios sem destruir dados existentes
Toda dúvida começa rodando hermes doctor — economiza horas
--reset recria estrutura mas preserva memory/ e jobs/
✅ Resumo do Módulo
npm install -g hermes-agent seguido de hermes init idempotente~/.hermes/config.json para usuário, .hermes.json por projetohermes ping + hermes status + um job trivial cobrem o pipelinelocalhost:7777 para auditar jobs, skills, memory e logshermes doctor antes de avançar — 0 FAIL nos 12 checks é o portão de qualidade pré-trabalho realPróximo Módulo:
2.2 — Configurando OpenRouter como fallback de modelo