Hermes Agent vs Claude Code: um colega com shell vs uma ferramenta no seu repositório
Hermes Agent e Claude Code são os dois chamados de agente, por isso o pessoal busca um contra o outro. Eles não competem pelo mesmo trabalho: um roda num servidor e continua trabalhando depois que você para, o outro vive no seu repositório enquanto você observa.
O pessoal busca “Hermes Agent vs Claude Code” esperando um vencedor. Não tem. O Claude Code é onde eu construo, dentro de um repositório, vendo cada edição acontecer. O Hermes é um assistente de desenvolvedor que continua trabalhando depois que eu fecho o notebook: ele lê os canais da empresa via MCP (o protocolo que deixa um agente puxar dados de ferramentas como Slack ou um board de tarefas), escreve uma newsletter para mim e me responde no Telegram. Comparar os dois por feature é comparar um carro da empresa com a empresa.
Hermes Agent vs Claude Code: dois trabalhos diferentes usando a mesma palavra
O Hermes Agent é um runtime self-hosted que você deixa rodando: numa VPS, através de um gateway de mensagens, respondendo quando algo acontece, você estando ou não no teclado. O Claude Code é o coding agent da Anthropic: um terminal, uma extensão de IDE, um app desktop ou a web, todos apontados para o seu repositório, fazendo um trabalho que você acompanha em tempo real. A própria descrição da Anthropic do que você faz com ele é: construir features, corrigir bugs, escrever testes, resolver conflitos de merge e abrir pull requests, cada um deles uma tarefa com começo e fim claros.
O Hermes não tem um começo e fim equivalente. Ele tem um cron schedule, um arquivo de memória e um bot de Telegram. Eu rodo o meu numa VPS própria, num Docker Swarm montado pelo bento, com o gateway do Telegram ligado. Essa instância é meu assistente pessoal. Não é onde eu escrevo código, e nunca foi para ser.
A confusão é compreensível. As duas ferramentas agem através de um shell. As duas leem arquivos, chamam ferramentas e produzem diffs se você pedir. A diferença é o que dispara o trabalho e quem está olhando quando ele roda. A sessão do Claude Code começa porque você digitou claude ou abriu uma aba. O dia do Hermes começa porque um cron disparou numa hora em que você estava dormindo.
O que um desenvolvedor realmente pede para o Hermes fazer
A lista de trabalhos importa mais do que qualquer diagrama de arquitetura, então aqui está a minha, não uma hipotética.
O que o meu Hermes faz que nenhum coding agent é chamado para fazer
- Obrigatório:Escrever meu briefing diárioUm cron job no Hermes lê os servidores MCP do meu trabalho para Slack, Google Workspace, Git e Confluence/Jira, e escreve uma newsletter do que aconteceu, organizada pelos seis sentidos: eu, os outros, tendência, fronteira, comunidade, cliente.
- Obrigatório:Ser a coisa com quem eu falo no celularUm Hermes separado, com o gateway do Telegram ligado, é meu assistente pessoal. Eu falo com ele por voz. Ele tem o board do Paperclip conectado como servidor MCP, então falar uma tarefa no Telegram abre uma issue no board sem eu tocar num teclado.
- Obrigatório:Rodar tarefas de pesquisa e conteúdo numa agendaOs agentes da minha org no Paperclip rodam no Hermes e leem dados reais através dos próprios servidores MCP entre heartbeats, não dentro de uma sessão que eu estou guiando.
- Obrigatório:Guardar memória ao longo de semanas, não só de uma sessãoMEMORY.md e USER.md dentro de HERMES_HOME persistem a cada despertar. Uma sessão de código termina quando a tarefa termina; o dia do Hermes não.
Nada disso compete com o que eu uso Claude Code, OpenCode e pi para fazer. Minha ferramenta do dia a dia para escrever código não é o Hermes. É o Claude Code, o OpenCode com os profiles idea, plan, build, review, fix, e o pi para o loop que eu quero ver por completo. Eu construí as skills para esse harness primeiro. O lado autônomo, o Hermes e a org do Paperclip em cima dele, veio depois, para as tarefas que não deveriam precisar de mim presente.
Hermes Agent vs OpenCode: não é revanche, é categoria de peso diferente
“Hermes Agent vs OpenCode” aparece nas buscas porque o OpenCode é o outro agente open source na sala, e o pessoal assume que open source mais “agent” significa comparável. O OpenCode é um harness de código: ele guia edições no seu repositório através de modes, idea, plan, build, review, fix, cada um com seu próprio modelo e permissões. O Hermes não tem nenhum conceito de repo-mode. Ele tem um working directory, um arquivo de memória e uma lista de gateways.
Rode o mesmo prompt nos dois e a diferença fica óbvia rápido. O modo build do OpenCode abre seus arquivos, escreve o diff e espera a próxima instrução, porque esse é todo o contrato: uma sessão, guiada por você, sobre o seu código. A postura padrão do Hermes é mais parecida com “acordar, checar o que mudou, decidir se precisa fazer alguma coisa”, porque o contrato dele é uma agenda e um arquivo de memória, não um terminal na frente do qual você está sentado.
A comparação honesta não é qual dos dois escreve código melhor. É qual dos dois deveria estar rodando quando você não está lá. O OpenCode não tem resposta para essa pergunta, porque nunca foi feito para ter uma. O Hermes tem: um cron scheduler para jobs que disparam num timer, uma revisão em background a cada dez turnos que decide o que vale salvar na memória, e mais de 25 gateways de mensagem para a resposta chegar até você onde você estiver. Cada execução de cron começa como uma sessão nova, sem memória da execução anterior; a continuidade vem de encadear explicitamente a saída de um job na entrada do próximo, não do agente lembrando por conta própria.
Hermes Agent vs Claude Code, por design
| Dimensão | Hermes Agent | Claude Code |
|---|---|---|
| Centro de design | Roda num servidor, sem você olhando | Roda no seu repositório, enquanto você olha |
| O que inicia uma execução | Uma agenda de cron, ou uma mensagem chegando | Você, digitando claude ou abrindo uma sessão |
| Superfícies | CLI, desktop, dashboard web, API, mais de 25 plataformas de mensagem | Terminal, VS Code, JetBrains, app desktop, web, Slack |
| Memória | MEMORY.md, USER.md, busca full-text em todas as sessões | CLAUDE.md lido em toda sessão, mais auto memory |
| Arquivo de contexto do projeto | .hermes.md, depois AGENTS.md, depois CLAUDE.md, depois .cursorrules | CLAUDE.md, e AGENTS.md lido por conta própria ou junto com ele |
| Ele escreve código? | Sim, em 7 backends de execução. Não é o centro do design dele. | Sim. É exatamente para isso que ele existe. |
Onde eles realmente se conectam
Eles não são desconhecidos. Três costuras deixam os dois mundos conversarem, e vale a pena configurar as três se você roda os dois.
O ACP conecta o Hermes a um editor. O Hermes fala o Agent Client Protocol, que deixa hosts compatíveis com ACP, como o Zed, conversarem com ele via stdio e renderizarem o chat, os diffs e a atividade de terminal dele dentro da própria UI do editor. Você mantém a identidade, a memória, as skills e o setup de provider do Hermes; o editor só assume a superfície da conversa.
hermes mcp serve roda o Hermes como um servidor MCP na direção contrária. Ele expõe dez ferramentas, listando conversas, lendo histórico de mensagens, enviando uma mensagem, fazendo polling de eventos ao vivo e gerenciando aprovações, via stdio, então o Claude Code, o Cursor ou o Codex conseguem ler o que o Hermes andou fazendo sem você trocar de janela.
Registrar o Hermes como servidor MCP no Claude Code
Adicionar
claude mcp add hermes -- hermes mcp serveConfirmar que conectou
claude mcp get hermes
Trazer a memória do Hermes para uma sessão de código
- 01
Peça ao Claude Code para ler a conversa em vez de digitar tudo de novo.
O assistente já tem o contexto: o que você pediu ao Hermes no Telegram, o que ele achou, o que ele decidiu. Digitar tudo de novo perde detalhe e gasta o que uma sessão de código deveria gastar no código de verdade.
Digite isto
Use o servidor MCP do hermes para ler minha última conversa sobre a exportação de billing, e continue a correção a partir daí.
Os dois leem os mesmos arquivos de projeto. O Claude Code lê o CLAUDE.md no início de toda sessão e consegue ler o AGENTS.md de um repositório por conta própria ou junto com ele. O Hermes percorre uma cadeia mais longa: .hermes.md ou HERMES.md primeiro, depois AGENTS.md da raiz do git para baixo, depois CLAUDE.md, depois .cursorrules, e carrega só o primeiro que encontrar. Escreva suas instruções uma vez no AGENTS.md e as duas ferramentas pegam elas sem tradução.
Skills viajam como markdown puro dos dois lados. As skills do Claude Code e as pastas SKILL.md do Hermes têm a mesma forma: um header de frontmatter, um corpo, progressive disclosure para qualquer coisa mais pesada. Eu detalhei a forma desse arquivo em skill-md-structure-frontmatter, e a portabilidade não é teórica. Uma skill em markdown que escrevi para um runtime funcionou, sem mudar nada, em outro.
O Hermes consegue escrever código? Sim. Ele deveria ser seu coding agent? Não.
O Hermes não tem medo de execução. Ele roda comandos em sete backends: local, Docker, SSH, Singularity, Modal, Daytona ou Vercel Sandbox, e consegue fazer o modelo escrever um script Python que chama as ferramentas dele via RPC em vez de fazer uma chamada por vez, com a saída limitada e o excedente jogado em disco. O backend padrão é o local: comandos rodam no mesmo host do agente, não dentro de um sandbox isolado, a menos que você aponte uma tarefa específica para um dos outros seis. Isso é um investimento de engenharia real para tornar a execução de código barata e descartável, e também é por isso que dar ao Hermes a própria máquina ou o próprio container importa mais do que a lista de backends deixa parecer.
Nada disso é voltado para o loop em torno do qual o Claude Code é construído: um repositório aberto na sua frente, um diff que você revisa linha a linha, um commit que vocês escrevem juntos, um pull request que o Claude Code abre para você com GitHub Actions ou GitLab CI/CD conectado do outro lado. As superfícies do Claude Code, como os diffs inline nas extensões de IDE dele, existem porque o produto assume que você está presente e decidindo. As superfícies do Hermes, uma mensagem no Telegram, um dashboard que você confere uma vez por dia, existem porque o produto assume que você não está.
O Hermes escreve código. Eu não entregaria uma feature branch para ele. A lacuna não é de capacidade. É que ninguém ajustou os defaults do Hermes, os prompts de aprovação dele, o carregamento de contexto, o loop de revisão, para o ritmo de um humano sentado ali olhando cada chamada de ferramenta. Os defaults do Claude Code são ajustados exatamente para isso, porque é a única coisa para a qual ele foi construído.
OpenClaw vs Claude Code: a mesma confusão, um runtime diferente
A mesma confusão acontece um nível acima, com OpenClaw vs Claude Code. O OpenClaw também é um runtime de assistente pessoal, não um coding agent: apps nativos no seu celular e notebook, uma wake word, um heartbeat que checa por conta própria a cada trinta minutos por padrão. Ele compete com o Hermes, não com o Claude Code, exatamente pelo mesmo motivo que o Hermes não compete com o Claude Code. Presença e agenda são o trabalho; um repositório que você está observando é outro trabalho.
Eu escolhi o Hermes em vez do OpenClaw para a minha própria frota depois de ler os dois códigos-fonte, e o raciocínio está em Hermes Agent vs OpenClaw. Nada desse raciocínio toca no Claude Code, porque a decisão OpenClaw-vs-Hermes e a decisão do coding agent são ortogonais. Você pode rodar o OpenClaw como seu assistente e o Claude Code como seu coding agent sem conflito nenhum, do mesmo jeito que eu rodo Hermes e Claude Code lado a lado.
Qual usar para qual trabalho
Vá de Claude Code, OpenCode ou pi
- 01Você está abrindo um repositório e quer ver o diff acontecer
- 02A tarefa tem começo e fim claros
- 03Você quer revisão nativa de IDE: diffs inline, plan mode, criação de PR
- 04Você quer o harness ajustado para alguém sentado ali decidindo
Vá de Hermes Agent
- 01O trabalho deveria acontecer numa agenda, não numa sessão
- 02Você quer uma resposta no Telegram, não um diff num editor
- 03O trabalho é ler sensores via MCP e reportar de volta
- 04Você não vai estar no teclado quando ele rodar
A minha divisão é exatamente essa tabela. Claude Code, OpenCode e pi são onde eu construo. O Hermes escreve meu briefing, roda no Telegram como meu assistente, e faz o trabalho de pesquisa e conteúdo que lê dados reais via MCP entre heartbeats. Harness engineering é o quadro por trás das duas metades: o modelo é uma commodity de qualquer jeito, e o harness é a parte que decide se o agente se encaixa no trabalho que você realmente tem.
Hermes Agent vs Claude Code, respostas rápidas
O Hermes Agent substitui o Claude Code?
Não. O Hermes é um runtime self-hosted feito para rodar num servidor sem você olhando: briefings agendados, um assistente de mensagens, tarefas de pesquisa. O Claude Code é um coding agent feito para um repositório em que você está trabalhando ativamente. Eles resolvem problemas diferentes, e a maioria de quem usa um acaba usando os dois.
O Hermes Agent escreve código como o Claude Code?
O Hermes executa comandos em sete backends e consegue fazer o modelo roteirizar as próprias chamadas de ferramenta, então sim, ele escreve e roda código. Ele não foi ajustado para o ritmo de um desenvolvedor revisando cada diff em tempo real do jeito que o Claude Code foi, e os defaults dele refletem isso.
Qual é a diferença real entre Hermes Agent e OpenCode?
O OpenCode é um harness de código com modes para explorar, planejar, construir, revisar e corrigir, guiado a partir de uma sessão de terminal que você inicia. O Hermes não tem um conceito equivalente de repo-mode. Ele roda numa agenda de cron e num gateway de mensagens, e o trabalho dele é o que acontece entre as suas sessões, não dentro de uma.
O OpenClaw substitui o Claude Code?
Não, pelo mesmo motivo que o Hermes não substitui. O OpenClaw é um runtime de assistente pessoal com apps nativos e um heartbeat que checa por conta própria. Ele compete com o Hermes pelo trabalho de assistente, não com o Claude Code pelo trabalho de coding agent.
O Claude Code e o Hermes Agent funcionam juntos?
Sim. O Hermes fala ACP, então editores como o Zed conseguem hospedar a conversa dele, e hermes mcp serve expõe as conversas do Hermes como ferramentas MCP que Claude Code, Cursor ou Codex conseguem chamar direto. Os dois também leem AGENTS.md, então um único arquivo de instruções cobre as duas ferramentas.
A newsletter
Don’t Code, Specify. Toda semana, agentes de IA em produção de verdade. Sem hype: o que funcionou e o que quebrou.
Assinar no Substack (abre em nova aba)