
Tutorial completo do Hermes Agent da Nous Research — arquitetura, instalação, configuração, skills auto-geradas, memória persistente, gateway multi-canal e migração a partir do OpenClaw.
Se você já leu nosso post sobre OpenClaw, sabe que plataformas modernas de agentes se organizam em torno de um runtime central, memória substituível, extensões e canais de mensagem. O Hermes Agent — framework open source da Nous Research, licença MIT — segue uma tese diferente, mas complementar: o agente deve melhorar com o tempo, não apenas executar workflows estáticos.
Hermes não é um chatbot genérico de atendimento ao cliente, nem um copilot preso à IDE. É um agente autônomo que roda no seu servidor (VPS de US$ 5, cluster GPU ou infraestrutura serverless), mantém memória persistente entre sessões, cria skills em Markdown quando resolve problemas complexos, e pode ser acionado por CLI, Telegram, Discord, Slack, WhatsApp, Signal e dezenas de outros canais via um único processo gateway.
O post anterior deste blog sobre “Agentes Hermes” estava incorreto: descrevia um produto genérico de automação industrial e atendimento ao cliente que não existe. O Hermes Agent real é um framework de agente autônomo mantido pela Nous Research, com repositório em github.com/NousResearch/hermes-agent e documentação em hermes-agent.nousresearch.com/docs.
Três ideias definem o produto:
| Conceito | O que significa na prática |
|---|---|
| Agente de longa duração | Roda 24/7 em servidor; você conversa do celular enquanto ele trabalha na VM |
| Loop de aprendizado fechado | Após resolver tarefas difíceis, grava skills reutilizáveis e enriquece memória |
| Model-agnostic | Troca de modelo com hermes model — OpenRouter, Anthropic, OpenAI, Ollama, Nous Portal |
Hermes compartilha DNA com OpenClaw (gateway multi-canal, memória em Markdown, skills), mas adiciona TUI completa, 70+ ferramentas, 6 backends de terminal (local, Docker, SSH, Modal, Daytona, Singularity), cron nativo e migração oficial a partir do OpenClaw.

Antes de instalar, vale ter um mapa mental. Hermes separa entry points (como você fala com o agente) de um núcleo compartilhado (AIAgent em run_agent.py).

| Entry point | Comando / caminho | Uso típico |
|---|---|---|
| CLI | hermes | Sessão interativa no terminal, TUI com histórico e slash commands |
| Gateway | hermes gateway start | Bot Telegram/Discord/Slack conectado ao mesmo agente |
| ACP | acp_adapter/ | Integração com VS Code, Zed, JetBrains |
| Batch | batch_runner.py | Geração de trajectories para treinamento |
| API Server | gateway/platforms/api_server | HTTP API para integrações customizadas |
Todos convergem para o mesmo AIAgent.run_conversation().
Prompt Builder → monta system prompt (SOUL.md, memória, skills, AGENTS.md)
Provider Resolution → resolve (provider, model) → api_mode + credenciais
Tool Dispatch → registry com 70+ tools em ~28 toolsets
Compression → resume contexto quando ultrapassa limites
Session Storage → SQLite + FTS5 para busca em conversas passadas

Platform event → Adapter.on_message() → GatewayRunner._handle_message()
→ autoriza usuário (allowlist / DM pairing)
→ resolve session key
→ AIAgent com histórico da sessão
→ resposta entregue pelo adapter de origem
Por padrão, tudo vive em ~/.hermes/ (ou %LOCALAPPDATA%\hermes no Windows nativo):
~/.hermes/
├── config.yaml # configuração principal
├── SOUL.md # personalidade do agente
├── MEMORY.md # fatos duráveis
├── USER.md # perfil do usuário (modelagem dialectic)
├── skills/ # skills criadas pelo agente e importadas
├── sessions/ # banco SQLite de sessões
└── gateway/ # estado do gateway, tokens, PIDs
Perfis isolados (hermes -p nome) recebem um HERMES_HOME separado — útil para agente pessoal vs. agente de trabalho.
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
O instalador provisiona automaticamente:
uv (gerenciador Python)Após instalar, recarregue o shell:
source ~/.bashrc # ou: source ~/.zshrc
hermes doctor # diagnóstico — deve passar sem erros críticos
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)
Nota: Windows nativo está em beta early. Para setup mais estável, use WSL2 com o instalador Linux.
hermes setup
O wizard interativo configura:
~/.openclaw para migraçãoAtalho com Nous Portal (uma assinatura cobre modelos + Tool Gateway):
hermes setup --portal
hermes portal status
hermes doctor
hermes model list
hermes tools list
Saída esperada de hermes doctor: Python OK, dependências OK, config legível, sem paths quebrados.
hermes
No prompt interativo:
> Olá! Liste as ferramentas que você tem disponíveis nesta sessão.
Comandos úteis dentro da CLI:
| Comando | Ação |
|---|---|
/new ou /reset | Nova conversa |
/model provider:model | Trocar modelo |
/personality nome | Aplicar personalidade |
/skills | Listar skills disponíveis |
/compress | Comprimir contexto manualmente |
/usage | Ver uso de tokens |
Ctrl+C | Interromper execução atual |
A configuração central fica em ~/.hermes/config.yaml. Você também pode alterar valores via CLI:
hermes config set providers.default anthropic
hermes config set models.default claude-sonnet-4-20250514
hermes config get
# ~/.hermes/config.yaml — exemplo educacional
providers:
default: openrouter
models:
default: anthropic/claude-sonnet-4
tools:
enabled_toolsets:
- file
- terminal
- web
- browser
terminal:
backend: local # local | docker | ssh | modal | daytona | singularity
memory:
enabled: true
gateway:
enabled: false
export OPENROUTER_API_KEY="sk-or-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
# Opcional: perfil isolado
export HERMES_PROFILE="trabalho"
Consulte a referência completa de env vars.
hermes model
# ou diretamente:
hermes model set openrouter:anthropic/claude-sonnet-4
Modelos locais via Ollama:
hermes model set ollama:llama3.1:8b
A troca é sem alteração de código — o resolver de runtime mapeia (provider, model) para o modo de API correto (chat_completions, codex_responses, anthropic_messages).
hermes tools
hermes tools enable browser
hermes tools disable code_execution
Cada toolset agrupa ferramentas relacionadas. Em produção, aplique princípio do menor privilégio: comece com file + web, adicione terminal e browser quando confiar no allowlist.
Hermes monta o system prompt a partir de arquivos Markdown — padrão familiar para quem vem do OpenClaw.
# SOUL.md
Você é o agente pessoal da KaiporaLabs. Responda em português brasileiro.
Seja direto, técnico e honesto sobre limitações.
Prioridades:
1. Segurança — nunca execute comandos destrutivos sem confirmação
2. Precisão — cite arquivos e comandos reais
3. Aprendizado — salve skills quando resolver problemas novos
Edite com:
${EDITOR:-nano} ~/.hermes/SOUL.md
No diretório de trabalho do agente, crie AGENTS.md:
# AGENTS.md — projeto blog-hugo-heroku
Stack: Hugo Extended, tema hugo-up-business, deploy Dokku.
Comandos úteis:
- npm run dev — servidor local
- npm run build — build de produção
- git push dokku main — deploy
Nunca commitar secrets. Base URL produção: https://blog.kaiporalabs.ai
Hermes injeta esse contexto em toda conversa iniciada naquele workspace.
hermes personality list
/personality engineer
Personalities são presets de tom e comportamento, úteis para alternar entre “modo código” e “modo pesquisa”.
Amnesia entre sessões é o problema número um de agentes descartáveis. Hermes trata memória como camada de primeira classe.
| Arquivo | Conteúdo |
|---|---|
MEMORY.md | Fatos duráveis: preferências, decisões, aprendizados |
USER.md | Modelo do usuário (Honcho dialectic user modeling) |
| Sessões SQLite | Histórico completo com FTS5 para busca |
O agente só lembra o que foi escrito — Markdown em disco é fonte da verdade, similar ao OpenClaw.
# MEMORY.md
## Infraestrutura
- Blog KaiporaLabs roda Hugo + Dokku em 167.71.93.233
- Deploy: git push dokku main
- Tema: hugo-up-business, idioma pt-br
## Preferências do usuário
- Respostas em português
- Tutoriais com intro, desenvolvimento, conclusão
- Incluir exemplos de código quando técnico
Hermes indexa conversas com FTS5 (full-text search). O agente pode recuperar trechos de sessões passadas via ferramentas internas, sem você repetir contexto.
Boas práticas:
MEMORY.md semanalmente — memória errada persiste/compress quando contexto ficar longo, não /new impulsivoDiferencial do Hermes: nudges periódicos lembram o agente de persistir conhecimento útil. Isso faz parte do loop de aprendizado — o agente não depende só de você pedir para salvar.
Skills são documentos Markdown que descrevem como fazer algo — compatíveis com o padrão agentskills.io.
Quando Hermes resolve um problema complexo (ex.: configurar webhook Telegram + systemd), ele pode gerar uma skill em ~/.hermes/skills/:
~/.hermes/skills/
├── deploy-dokku-blog/
│ └── SKILL.md
├── openclaw-imports/
│ └── ...
└── telegram-gateway-setup/
└── SKILL.md
---
name: deploy-dokku-blog
description: Deploy do blog Hugo KaiporaLabs via Dokku
---
# Deploy Dokku — blog KaiporaLabs
## Pré-condições
- Remote dokku configurado
- Hugo build passa localmente
## Passos
1. npm run build
2. git push dokku main
3. Verificar https://blog.kaiporalabs.ai/posts/
## Troubleshooting
- Posts mostrando home: conferir serve public sem flag -s
- Imagens SVG: preferir PNG para capas
/skills
/deploy-dokku-blog
Ou peça em linguagem natural: “Use a skill de deploy Dokku para publicar as mudanças.”
Skills auto-melhoram durante uso — o Hermes refina instruções quando encontra edge cases.
O gateway é o equivalente ao Gateway do OpenClaw: um processo long-lived que conecta canais externos ao AIAgent.
hermes gateway setup
# Siga o wizard: selecione Telegram, informe bot token do @BotFather
hermes gateway start
Envie mensagem ao bot. Fluxo:
hermes gateway status
hermes gateway stop
hermes gateway logs
Slash commands funcionam nas plataformas de mensagem:
| Comando | Ação |
|---|---|
/new | Nova sessão |
/model provider:model | Trocar modelo |
/stop | Interromper execução |
/status | Status do gateway |
/compress | Comprimir contexto |
Inicie conversa no Telegram, continue na CLI com a mesma sessão (quando configurado). Hermes espelha contexto entre plataformas — útil para “disparar tarefa no celular, revisar no desktop”.
hermes gateway pairing listHermes registra 70+ ferramentas em ~28 toolsets. Destaques:
| Toolset | Capacidades |
|---|---|
file | read, write, patch, search_files |
terminal | shell com approval para comandos perigosos |
web | web_search, web_extract |
browser | automação completa (10 tools) |
code_execution | sandbox Python |
delegate | subagentes isolados |
mcp | servidores MCP dinâmicos |
vision | análise de imagem |
cron | agendamento |
hermes config set terminal.backend docker
| Backend | Quando usar |
|---|---|
local | Dev machine, confiança alta |
docker | Isolamento por container |
ssh | Agente remoto em outra VM |
modal | Serverless, hiberna quando idle |
daytona | Dev environments na nuvem |
singularity | HPC / clusters acadêmicos |
Mesma lógica de agente, ambiente de execução desacoplado — troque backend sem reescrever skills.
# Hermes detecta rm -rf, curl | bash, etc.
# Pede confirmação via callback CLI ou mensagem gateway
Configure patterns em config — Hermes importa allowlist do OpenClaw na migração.
hermes mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/dir
hermes mcp list
Qualquer servidor MCP compatível expande o agente sem fork do core.
Para tarefas paralelas, use delegate tool:
> Analise o repositório em paralelo: (1) segurança do Dockerfile (2) performance do build Hugo (3) qualidade dos posts markdown
Hermes spawna subagentes com:
Pipeline multi-step pode colapsar em script Python que chama tools via RPC — uma “tool call” do ponto de vista do modelo, várias ações internas.
hermes cron add "Todo dia às 8h, envie resumo dos logs do gateway no Telegram"
hermes cron list
hermes cron remove <job-id>
Jobs ficam em jobs.json. Cada execução:
Casos de uso:
~/.hermesSe você já usa OpenClaw, Hermes oferece migração oficial:
hermes claw migrate --dry-run # preview
hermes claw migrate # interativo, preset full
hermes claw migrate --preset user-data # sem secrets
hermes claw migrate --overwrite # sobrescreve conflitos
O que migra:
| Origem OpenClaw | Destino Hermes |
|---|---|
| SOUL.md | ~/.hermes/SOUL.md |
| MEMORY.md, USER.md | memória equivalente |
| Skills do usuário | ~/.hermes/skills/openclaw-imports/ |
| Allowlist de comandos | approval patterns |
| Config de messaging | gateway platforms |
| API keys allowlisted | credenciais Hermes |
Durante hermes setup, a detecção de ~/.openclaw é automática.
| Critério | OpenClaw | Hermes Agent |
|---|---|---|
| Foco | Gateway + plugins + slots | Loop de aprendizado + TUI + skills |
| Memória | MEMORY.md + plugins (memory-core, LanceDB) | MEMORY.md + FTS5 + Honcho |
| Canais | Plugins de canal | 20 adapters nativos no gateway |
| Cron | Via plugins/hooks | First-class hermes cron |
| Coding agent | Delegável a Claude Code | Terminal + browser + delegate |
| Migração | — | hermes claw migrate |
Na KaiporaLabs, usamos OpenClaw quando precisamos de plugins customizados e slots explícitos. Hermes brilha quando queremos agente pessoal 24/7 que aprende skills e roda em VPS barata.
Ambos coexistem — não são excludentes.
ssh root@SEU_IP
apt update && apt upgrade -y
adduser hermes
usermod -aG sudo hermes
su - hermes
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc
hermes setup --portal # ou configure API keys manualmente
hermes gateway setup
# Token do @BotFather
hermes gateway start
# /etc/systemd/system/hermes-gateway.service
[Unit]
Description=Hermes Agent Gateway
After=network.target
[Service]
Type=simple
User=hermes
Environment=HOME=/home/hermes
ExecStart=/home/hermes/.local/bin/hermes gateway start --foreground
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl enable hermes-gateway
sudo systemctl start hermes-gateway
sudo systemctl status hermes-gateway
Envie ao bot:
/status
/new
Monitore o disco desta VPS e me avise se passar de 85%
Hermes deve criar skill ou cron conforme configuração.
hermes doctor reporta erro de Python# Reinstalar ambiente
curl -LsSf https://astral.sh/uv/install.sh | sh
hermes update
hermes doctor
hermes config get providers
echo $OPENROUTER_API_KEY # deve estar definida
hermes model set openrouter:anthropic/claude-sonnet-4
hermes gateway logs
# Verificar token, webhook vs polling, firewall
hermes gateway pairing list
/compress
/usage
Ou troque para modelo com janela maior temporariamente.
Revise approval config. Para dev local:
hermes config set approval.auto_approve_safe true
Nunca em produção sem allowlist restrita.
Hermes é gratuito?
Sim, open source MIT. Você paga infra (VPS) e APIs de modelo.
Preciso de GPU?
Não, se usar APIs cloud. GPU só para modelos locais (Ollama).
Funciona offline?
Parcialmente — com Ollama local. Gateway e web search precisam de rede.
Hermes envia telemetria?
Não, segundo a documentação. Dados ficam em ~/.hermes.
Quantos agentes simultâneos?
Use profiles (hermes -p nome) — cada um com HERMES_HOME isolado.
Posso contribuir?
Sim. Clone, ./setup-hermes.sh, scripts/run_tests.sh. Veja Contributing guide.
O Hermes Agent é a aposta da Nous Research por agentes stateful, self-improving e self-hosted. Diferente do conteúdo genérico que circulava sobre “Agentes Hermes”, o produto real é um framework técnico com CLI madura, gateway multi-canal, memória em Markdown, skills compatíveis com agentskills.io e migração oficial do OpenClaw.
hermes # Iniciar CLI interativa
hermes setup # Wizard de configuração
hermes model # Selecionar modelo
hermes tools # Configurar ferramentas
hermes config set KEY VAL # Alterar config
hermes gateway start # Iniciar gateway
hermes gateway setup # Configurar plataformas
hermes cron list # Listar jobs agendados
hermes claw migrate # Migrar do OpenClaw
hermes update # Atualizar Hermes
hermes doctor # Diagnóstico
hermes -p PROFILE # Usar perfil isolado
| Termo | Definição |
|---|---|
| AIAgent | Classe central em run_agent.py; orquestra conversa |
| Skill | Documento Markdown com procedimento reutilizável |
| Gateway | Processo que conecta Telegram, Discord, etc. |
| Toolset | Grupo de ferramentas relacionadas |
| FTS5 | Full-text search SQLite para sessões |
| ACP | Agent Client Protocol — integração IDE |
| Profile | Instância isolada com HERMES_HOME próprio |
| Nudge | Lembrete interno para persistir conhecimento |
hermes doctor limpo~/.hermes/ agendado# ~/.hermes/config.yaml — exemplo produção KaiporaLabs
providers:
default: openrouter
models:
default: anthropic/claude-sonnet-4
tools:
enabled_toolsets:
- file
- terminal
- web
- delegate
disabled_tools: []
terminal:
backend: docker
docker:
image: python:3.11-slim
mount_workspace: true
memory:
enabled: true
auto_nudge: true
approval:
enabled: true
auto_approve_safe: false
patterns_file: ~/.hermes/approval-patterns.yaml
gateway:
enabled: true
platforms:
telegram:
enabled: true
allowed_users:
- 123456789
discord:
enabled: false
cron:
enabled: true
default_delivery: telegram
logging:
level: info
file: ~/.hermes/logs/hermes.log
Passo 1: Crie bot no Telegram via @BotFather:
/newbot
KaiporaLabs Agent
kaiporalabs_agent_bot
Passo 2: Guarde o token e configure:
hermes gateway setup
# Selecione Telegram
# Cole o token
# Configure allowed_users ou habilite DM pairing
Passo 3: Inicie e valide:
hermes gateway start
hermes gateway status
Passo 4: Primeira mensagem — pairing:
/start
Se DM pairing estiver ativo, aprove:
hermes gateway pairing approve telegram <user_id>
Passo 5: Teste comandos:
/status
/model openrouter:anthropic/claude-sonnet-4
/new
Qual é o uptime desta máquina?
# 1. Crie app em https://discord.com/developers/applications
# 2. Bot → Reset Token → copie
# 3. OAuth2 → URL Generator → bot scope → Administrator (ou permissões mínimas)
# 4. Convide bot ao servidor
hermes gateway setup
# Selecione Discord
# Informe token e guild ID
hermes gateway start
Mensagem de teste no canal autorizado:
@KaiporaLabs Agent /status
Quando terminal.backend: docker, cada comando shell roda em container isolado:
hermes config set terminal.backend docker
hermes config set terminal.docker.image python:3.11-slim
hermes
> Execute uname -a e confirme que está em container
Vantagens:
Desvantagens:
terminal:
backend: ssh
ssh:
host: 10.0.0.5
user: deploy
key_file: ~/.ssh/id_ed25519
workspace: /home/deploy/projects
Use quando o agente roda em VPS leve mas execução pesada fica em outra máquina.
# Instalar Ollama
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.1:8b
# Configurar Hermes
hermes model set ollama:llama3.1:8b
hermes tools disable browser # reduzir carga
hermes
> Resuma o README deste diretório
Ideal para experimentação offline. Qualidade inferior a Sonnet/Opus, mas custo zero de API.
Cenário: você tem OpenClaw em ~/.openclaw com memória e skills.
# 1. Preview
hermes claw migrate --dry-run
# Saída esperada:
# - SOUL.md → ~/.hermes/SOUL.md
# - MEMORY.md entries
# - skills → ~/.hermes/skills/openclaw-imports/
# - telegram config
# - API keys (allowlisted)
# 2. Migrar sem sobrescrever conflitos
hermes claw migrate --preset user-data
# 3. Revisar manualmente
diff ~/.openclaw/SOUL.md ~/.hermes/SOUL.md
ls ~/.hermes/skills/openclaw-imports/
# 4. Testar memória
hermes
> O que você sabe sobre mim e meus projetos?
# 5. Se OK, migrar secrets
hermes claw migrate --overwrite
# Relatório diário 8h
hermes cron add "Diariamente às 08:00 BRT, verifique disco, memória e processos do gateway. Envie resumo no Telegram."
# Backup semanal
hermes cron add "Domingo 03:00, compacte ~/.hermes em /backups/hermes-$(date +%Y%m%d).tar.gz e reporte tamanho."
# Listar
hermes cron list
# Remover
hermes cron remove <id>
Salve em ~/.hermes/skills/kaipora-blog-deploy/SKILL.md:
---
name: kaipora-blog-deploy
description: Deploy do blog Hugo KaiporaLabs para Dokku
version: 1.0.0
tags: [hugo, dokku, kaiporalabs]
---
# Deploy Blog KaiporaLabs
## Quando usar
Quando o usuário pedir para publicar, deployar ou atualizar blog.kaiporalabs.ai
## Pré-condições
- Repositório blog-hugo-heroku clonado
- Remote dokku configurado: git remote -v | grep dokku
- npm run build passa localmente
## Procedimento
### 1. Validar build local
```bash
cd /path/to/blog-hugo-heroku
npm run build
git status
git diff --stat
git push dokku main
curl -sI https://blog.kaiporalabs.ai/posts/ | head -1
curl -s https://blog.kaiporalabs.ai/posts/ | grep -c "text-primary"
| Sintoma | Causa | Fix |
|---|---|---|
| Posts mostram home | serve -s (SPA mode) | serve public sem -s |
| Capas invisíveis | SVG encoding | PNG + resvg |
| Build Hugo fail | Node/Hugo version | scripts/install-hugo.sh |
git revert HEAD
git push dokku main
Invoque com `/kaipora-blog-deploy` ou peça em linguagem natural.
### Apêndice M — MCP servers recomendados
```bash
# Filesystem (acesso controlado a diretório)
hermes mcp add fs-work -- npx -y @modelcontextprotocol/server-filesystem ~/projects
# Git
hermes mcp add git -- uvx mcp-server-git --repository ~/projects/blog-hugo-heroku
# Fetch web
hermes mcp add fetch -- uvx mcp-server-fetch
hermes mcp list
| Comando | CLI | Telegram/Discord | Descrição |
|---|---|---|---|
/new | ✓ | ✓ | Nova sessão |
/reset | ✓ | ✓ | Alias de /new |
/model [p:m] | ✓ | ✓ | Trocar modelo |
/personality [n] | ✓ | ✓ | Personalidade |
/retry | ✓ | ✓ | Repetir último turno |
/undo | ✓ | ✓ | Desfazer |
/compress | ✓ | ✓ | Comprimir contexto |
/usage | ✓ | ✓ | Tokens usados |
/insights [days] | ✓ | ✓ | Análise de sessões |
/skills | ✓ | ✓ | Listar skills |
/stop | — | ✓ | Interromper (gateway) |
/status | — | ✓ | Status gateway |
/platforms | ✓ | — | Plataformas CLI |
journalctl -u hermes-gateway -n 100 --no-pager
hermes gateway logs
hermes doctor
# Verificar token expirado, porta em uso, permissões ~/.hermes
# Parar gateway e CLI concorrentes
hermes gateway stop
fuser ~/.hermes/sessions/*.db 2>/dev/null
# Reiniciar
hermes gateway start
mv ~/.hermes/skills/nome-problema ~/.hermes/skills/nome-problema.bak
hermes
> Recrie a skill X com base no que aprendeu hoje
nano ~/.hermes/MEMORY.md
# Remova entradas erradas manualmente
hermes
> Releia MEMORY.md e confirme o que sabe sobre meus projetos
hermes config set models.default openrouter:anthropic/claude-haiku-4
# Use modelo grande só para tarefas complexas
/compress
/usage
Workflow KaiporaLabs recomendado:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Hermes Agent │────▶│ Claude Code │────▶│ git push │
│ (VPS 24/7) │ │ (refactor local)│ │ dokku │
│ Telegram ops │ │ terminal │ │ produção │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │
└──────── Harness Cursor ┘
(orquestração IDE)
Execute cada cenário após setup. Marque ✓ quando passar.
[ ] 1. hermes doctor sem erros
[ ] 2. hermes → pergunta simples respondida
[ ] 3. /model → troca de modelo funciona
[ ] 4. read_file em AGENTS.md
[ ] 5. web_search retorna resultados
[ ] 6. terminal uname -a (com approval)
[ ] 7. /compress reduz contexto
[ ] 8. MEMORY.md atualizado após pedido
[ ] 9. Skill criada automaticamente
[ ] 10. /skills lista skills
[ ] 11. gateway start sem crash
[ ] 12. Telegram /status responde
[ ] 13. Telegram /new limpa sessão
[ ] 14. DM pairing funciona
[ ] 15. cron add + list
[ ] 16. hermes update não quebra config
[ ] 17. hermes -p test isolado de default
[ ] 18. delegate subagent retorna resumo
[ ] 19. mcp list mostra servers
[ ] 20. claw migrate --dry-run (se OpenClaw)
1. Liste tools habilitadas e explique risco de cada uma.
2. Leia AGENTS.md e resuma o projeto atual.
3. Crie SOUL.md inicial se não existir — tom técnico, PT-BR.
4. Qual modelo está ativo? Qual custo estimado por 1000 tokens?
5. Como você persiste memória? Mostre caminho dos arquivos.
6. Se eu mandar mensagem no Telegram, qual session key usa?
7. Proponha 3 cron jobs úteis para este servidor.
8. O que acontece se contexto estourar mid-task?
9. Como migrar skill para outro perfil hermes -p?
10. Quais comandos precisam approval? Como auditar?
| Caminho | Responsabilidade |
|---|---|
run_agent.py | AIAgent — loop principal |
cli.py | HermesCLI — TUI |
model_tools.py | Dispatch de tools |
hermes_state.py | SQLite + FTS5 |
gateway/run.py | GatewayRunner |
gateway/platforms/telegram/ | Adapter Telegram |
tools/registry.py | Registry central |
tools/environments/ | Backends terminal |
agent/prompt_builder.py | System prompt |
agent/memory_manager.py | Orquestração memória |
cron/jobs.py | Definição de jobs |
hermes_cli/setup.py | Wizard setup |
| Termo | Definição detalhada |
|---|---|
| Loop agentic | Ciclo plan → act → observe → repeat até objetivo |
| Tool call | Invocação de ferramenta pelo modelo |
| Session key | Identificador único de conversa por plataforma/usuário |
| Compression | Sumarização lossy de turnos intermediários |
| Pairing | Autorização de DMs no gateway |
| Trajectory | Export ShareGPT para fine-tuning |
| Tool Gateway | Nous Portal routing de web/image/TTS/browser |
| Honcho | User modeling dialectic em USER.md |
| agentskills.io | Padrão aberto de skills Markdown |