Hermes Agent do básico ao avançado
Um mapa operacional para entender o Hermes como chat, sistema de automação, agente com memória e plataforma extensível.
O Hermes Agent parece, à primeira vista, “mais um assistente de terminal”. Só que essa leitura é pequena demais. O Hermes é melhor entendido como uma camada de orquestração: um agente que conversa, usa ferramentas, preserva contexto entre sessões, publica em canais externos, agenda trabalho futuro e aprende procedimentos reutilizáveis.
O que é o Hermes Agent
O Hermes Agent é um agente de IA orientado a ferramentas. Em vez de responder só “de cabeça”, ele pode agir: rodar comandos, ler arquivos, editar conteúdo, abrir navegador, pesquisar sessões passadas, guardar fatos duráveis e disparar tarefas agendadas.
Isso muda o papel do modelo. Em muitos sistemas, o LLM é o produto inteiro. No Hermes, o LLM é o motor cognitivo dentro de um sistema maior. O resultado final nasce da combinação entre:
- modelo: quem raciocina e escreve;
- ferramentas: quem executa ações;
- memória: quem guarda fatos duráveis;
- skills: quem guarda procedimentos;
- gateway: quem conecta o agente a Telegram, Discord e outros canais;
- scheduler: quem executa tarefas futuras.
A instalação real usada neste estudo
Este texto não foi escrito só a partir de documentação. A própria instância em uso foi inspecionada. Isso importa porque o Hermes é um sistema altamente configurável: documentação mostra o possível; a instalação local mostra o que está realmente ativo.
$ hermes --version
Hermes Agent v0.14.0 (2026.5.16)
Project: /home/hermes/.hermes/hermes-agent
Python: 3.11.15
OpenAI SDK: 2.24.0
Update available: 214 commits behind — run 'hermes update'
$ hermes status --all
Model: gpt-5.4
Provider: OpenAI Codex
Terminal: local
Gateway: running via systemd (system)
Telegram: configured
Scheduled Jobs: 3 active
Profiles: default
Modelo e provider: o primeiro conceito que precisa ficar limpo
Duas palavras aparecem o tempo todo no Hermes: model e provider. Elas são próximas, mas não são a mesma coisa.
- Modelo: o nome do modelo usado para conversar e raciocinar.
- Provider: a infraestrutura que expõe esse modelo para o Hermes.
Na instalação inspecionada, o arquivo ~/.hermes/config.yaml mostra:
model:
default: gpt-5.4
provider: openai-codex
base_url: https://chatgpt.com/backend-api/codex
Portanto, aqui o agente está configurado para usar o modelo gpt-5.4 por meio do provider openai-codex. Se você trocar o provider, não está necessariamente trocando o comportamento do agente inteiro; está trocando o caminho de acesso ao modelo.
hermes model
hermes config
hermes config set model.default <modelo>
hermes config set model.provider <provider>
Toolsets: por que o Hermes age em vez de só responder
O Hermes organiza suas capacidades por toolsets. Cada toolset agrupa ferramentas com um propósito. Isso é importante por duas razões: controle de segurança e economia de contexto. Em vez de expor “tudo sempre”, você escolhe os grupos relevantes.
$ hermes tools list
web
browser
terminal
file
code_execution
vision
image_gen
tts
skills
todo
memory
session_search
clarify
delegation
cronjob
messaging
Na prática, isso significa que este agente consegue pesquisar, navegar, usar terminal, mexer em arquivos, analisar imagens, gerar mídia, manter memória, procurar conversas antigas, delegar subtarefas e criar cron jobs.
hermes doctor pode mostrar dependências pendentes para um toolset já exposto na configuração.
browser ✓
terminal ✓
file ✓
computer_use ⚠ system dependency not met
web ⚠ missing API keys for some backends
spotify ⚠ system dependency not met
Essa distinção é excelente para operação séria. Ela permite que o agente conheça uma capacidade, mas só a use quando o ambiente realmente sustenta aquela execução.
Configuração: onde o comportamento do Hermes realmente mora
O centro da configuração fica em ~/.hermes/config.yaml. Segredos e tokens ficam em ~/.hermes/.env. Separar os dois é uma decisão boa: comportamento de um lado, segredo do outro.
$ hermes config path
/home/hermes/.hermes/config.yaml
$ hermes config env-path
/home/hermes/.hermes/.env
Alguns blocos da configuração local ajudam a enxergar como o Hermes pensa o ambiente:
| Bloco | Trecho real | O que isso implica |
|---|---|---|
| agent | max_turns: 90 |
o agente pode encadear muitos passos antes de encerrar |
| terminal | backend: local |
comandos rodam neste host, não em container remoto |
| compression | enabled: true |
o contexto é resumido quando cresce |
| memory | memory_enabled: true |
o agente mantém fatos duráveis entre sessões |
| delegation | max_concurrent_children: 3 |
há paralelização controlada de subtarefas |
| approvals | mode: manual |
comandos perigosos pedem aprovação |
| security | redact_secrets: true |
o sistema tenta mascarar segredos em saída de ferramentas |
O bloco de configuração não é só preferência estética. Ele define o tipo de agente que você tem: mais solto, mais seguro, mais autônomo, mais multimídia, mais orientado a chat ou mais orientado a automação.
Memória, perfil do usuário e skills
Um dos traços mais fortes do Hermes é separar fatos duráveis de procedimentos duráveis.
- memory: fatos sobre o usuário, o ambiente e convenções estáveis;
- skills: instruções reutilizáveis para executar uma classe de tarefa.
Esse desenho é muito melhor do que jogar tudo em “memória”. Se o usuário diz que prefere respostas em português, isso é memória. Se o agente descobre um fluxo robusto para publicar estudos em um site estático, isso é skill.
memory:
memory_enabled: true
user_profile_enabled: true
memory_char_limit: 2200
user_char_limit: 1375
nudge_interval: 10
Sessões e retomada de contexto
O Hermes trata cada conversa como sessão persistida. Isso faz diferença operacional enorme: você pode retomar trabalho, auditar decisões e pesquisar histórico com contexto, não só com trechos soltos.
$ hermes sessions list
20260529_063541_ebaa7d92 Session List and Resume Comman...
20260529_064537_19f41b learn #2
20260528_155551_ca0855e0 Reset de sessões e contexto
$ hermes sessions stats
Total sessions: 4
Total messages: 182
Database size: 44.4 MB
Isso transforma o agente em algo mais próximo de um ambiente de trabalho contínuo do que de uma conversa descartável.
CLI e slash commands: o plano de controle do sistema
No dia a dia, a interface principal do Hermes é a CLI. Ela não serve só para escrever prompts; ela é um plano de controle do agente. O repositório local deixa isso claro: existe um registro central de slash commands em hermes_cli/commands.py.
Em outras palavras, os comandos não vivem como remendos espalhados; existe uma taxonomia explícita de sessão, configuração, tools, info e integração com gateway.
/new sessão nova
/model trocar modelo
/skills navegar por skills
/cron gerenciar tarefas agendadas
/reload-mcp recarregar servidores MCP
/platforms ver estado do gateway
/status inspecionar a sessão atual
O próprio binário reforça essa visão de “sistema operacional leve de agentes”. O hermes --help mostra comandos para chat, config, gateway, cron, skills, plugins, memory, profiles, dashboard, logs, webhook e MCP.
Gateway: quando o Hermes sai do terminal
O gateway é a camada que conecta o mesmo agente a plataformas de mensagem. Nesta instalação, o Telegram está configurado e o gateway está rodando como serviço systemd de sistema.
Telegram ✓ configured (home: 178985474)
Gateway ✓ running
Manager systemd (system)
O ganho conceitual aqui é grande. O Hermes não precisa morar no mesmo lugar em que você trabalha. Ele pode ficar num servidor e ser acessado remotamente, inclusive com continuidade entre CLI e canal de mensagem.
Cron: de assistente a trabalhador recorrente
Um dos pontos em que o Hermes deixa de parecer “só um chat com ferramentas” é o scheduler embutido. Com ele, o agente pode ser executado em horários futuros ou recorrentes, com entrega automática para o canal desejado.
$ hermes cron list
picoclaw-news daily 0 7 * * *
hermes-agent-news daily 5 7 * * *
playwright-cli-news daily 10 7 * * *
Observe o padrão: jobs diários, escalonados com diferença de cinco minutos, cada um com skill e script próprios. Isso é uma forma madura de usar cron no Hermes: coleta estruturada de dados seguida de transformação em mensagem humana.
O cron do Hermes é mais rico do que o cron clássico do sistema operacional porque um job pode carregar:
- prompt autônomo;
- skills específicas;
- modelo diferente do padrão;
- script auxiliar;
- workdir de projeto;
- profile isolado;
- destino de entrega.
Delegation e subagentes
Em tarefas maiores, o Hermes pode delegar subtarefas a subagentes isolados. Isso permite paralelizar pesquisa, revisão, inspeção e outros trabalhos sem poluir o contexto principal com cada passo intermediário.
delegation:
max_iterations: 50
child_timeout_seconds: 600
max_concurrent_children: 3
max_spawn_depth: 1
orchestrator_enabled: true
Isso quer dizer, em termos concretos, que a instância está pronta para spawnar até três subtarefas paralelas, com profundidade máxima de delegação controlada. É uma forma pragmática de ganhar paralelismo sem cair em recursão desgovernada.
Profiles: várias identidades do mesmo Hermes
Profiles isolam configurações, memórias, sessões, skills e cron jobs. Em vez de um único Hermes “global”, você pode ter múltiplos Hermes com personalidades operacionais diferentes.
$ hermes profile list
◆ default gpt-5.4 gateway running
Hoje há apenas o profile default. Mesmo assim, o mecanismo já existe e vale entender. Em ambientes mais complexos, é natural separar perfis como pessoal, trabalho, lab ou monitoramento.
MCP: como o Hermes ganha ferramentas externas
MCP, no contexto do Hermes, é a ponte para servidores de ferramentas externas via protocolo padrão. Essa é uma forma elegante de expandir o agente sem reinventar integração por integração.
$ hermes mcp list
No MCP servers configured.
Isso não é um problema; apenas mostra que a instalação atual ainda não está usando extensões via MCP. Conceitualmente, porém, MCP é uma das portas de crescimento mais fortes do Hermes: ele permite adicionar capacidades novas preservando um contrato uniforme de tool registration.
Segurança e disciplina operacional
Um agente que usa terminal e arquivos precisa ter freios reais. Nesta instalação, há sinais saudáveis de disciplina operacional.
approvals:
mode: manual
cron_mode: deny
security:
redact_secrets: true
tirith_enabled: true
Isso significa, em resumo:
- comandos perigosos tendem a exigir aprovação;
- execuções agendadas são mais restritas;
- segredos tentam ser mascarados antes de entrar no contexto;
- há uma camada extra de proteção ligada a
tirith.
Arquitetura interna: como o projeto é montado
Para quem quer ir além do uso e entender o código, a estrutura do repositório local ajuda muito. Alguns arquivos são mais estruturais do que parecem:
run_agent.py: loop principal de conversa e tool calling;model_tools.py: descoberta e despacho de ferramentas;toolsets.py: definição dos grupos de ferramentas;cli.py: interface interativa;hermes_state.py: persistência de sessões;gateway/: integração com plataformas externas;cron/: scheduler;tools/: implementação individual de cada tool;hermes_cli/commands.py: registro central de slash commands.
Essa separação mostra um projeto com fronteiras razoáveis: loop do agente, UI, configuração, integração de plataformas, scheduler e ferramentas não estão todos misturados num mesmo bloco monolítico.
Uma forma boa de estudar Hermes sem se perder
Muita gente tenta aprender Hermes de forma horizontal e acaba vendo “um pouco de tudo” sem consolidar nada. Um caminho melhor é verticalizar o estudo em camadas.
| Camada | Objetivo | Comandos de apoio |
|---|---|---|
| Fundamentos | entender model, provider e toolsets | hermes --help, hermes model, hermes tools list |
| Operação local | entender config, doctor e uso diário | hermes config, hermes doctor |
| Persistência | entender sessions, memory e skills | hermes sessions list, hermes skills list |
| Presença remota | entender gateway e canais | hermes gateway status |
| Automação | entender cron e delegation | hermes cron list |
| Extensão | entender MCP, plugins e arquitetura | hermes mcp list, leitura do repositório |
Comandos essenciais para guardar
hermes --version
hermes --help
hermes status --all
hermes doctor
hermes config
hermes config path
hermes config env-path
hermes model
hermes sessions list
hermes -c
hermes --resume <session_id>
hermes cron list
hermes profile list
hermes mcp list
hermes gateway status
Fechamento
O Hermes Agent vale a pena quando você precisa de continuidade, ação e composição. Se o seu uso é só pergunta e resposta, um chat simples pode bastar. Mas se você quer um sistema que conversa, lembra, executa, agenda e se integra ao seu ambiente, o Hermes começa a fazer muito mais sentido.
O ponto decisivo é este: Hermes não é só um cliente para modelo. Ele é uma arquitetura de trabalho em torno de modelos. E é por isso que estudar seus blocos — provider, toolsets, memory, skills, gateway, cron, profiles e MCP — rende mais do que decorar comandos isolados.