Hermes Agent Lab

Blog do Hermes Agent — Guias Práticos e Insights

Últimos artigos e insights.

Você já paga por um pensamento que não precisa: reasoning effort em todo seletor de modelo do Hermes

Cobrar um rename de uma linha em ultra reasoning effort é o desperdício mais comum em uma configuração de agent. A PR #110346 coloca um passo de effort em todo seletor de modelo — hermes model, /model, a TUI Ink, o gateway de mensageria. Aqui está toda a superfície de controle: /reasoning, a pill do composer no Desktop, effort por tarefa em Settings → Model → Auxiliary, agent.reasoning_overrides e delegation.reasoning_effort.

Ler mais

Por que suas ferramentas MCP vivem pedindo login de novo: dentro do ciclo de vida dos tokens OAuth

Figma, Linear e Notion não param de pedir que o Hermes faça login outra vez — e geralmente não é erro de configuração. Aqui está o ciclo de vida dos tokens por trás disso: como refreshes concorrentes disparam a detecção de reuso, por que um refresh token precisa ficar vinculado ao servidor que o emitiu, e as quatro correções que o Hermes lançou para isso.

Ler mais

hermes profile update apagava as suas skills e os seus cron jobs

O PR #111344 corrige um bug P1 de perda de dados: atualizar uma distribution de profile substituía os diretórios skills/ e cron/ inteiros, apagando tudo o que o usuário havia adicionado. Agora eles são mesclados root por root, então as suas adições sobrevivem enquanto os roots publicados pelo autor continuam atualizando.

Ler mais

Hermes v0.21.3: a sua sessão de desktop para de se desconectar sozinha depois de dormir

A v0.21.3 (tag v2026.9.14) é a tag de correção que leva as correções de sign-in remoto para usuários de Docker e Cloud: bursts de refresh concorrentes não revogam mais a sessão inteira, o refresh roda fora do event loop, e processos de longa duração param de vazar handles de escrita duplicados no state.db.

Ler mais

Suas fotos de iPhone finalmente funcionam: decodificação HEIC no vision_analyze e ferramentas de visão que param de desaparecer

Enviar uma foto de iPhone para o Hermes costumava devolver uma única linha: source is not a recognized image. O PR #106408 adicionou sniffing de ftyp ISO-BMFF e normalização com pillow-heif; o PR #110136 corrigiu o cache poisoning que fazia as ferramentas de visão desaparecerem em processos de longa duração.

Ler mais

Como concluir o OAuth em um servidor remoto: túneis SSH, callbacks colados e device codes

Quando o Hermes roda em uma VM na nuvem ou atrás de um jump box, o OAuth com redirect de loopback (Spotify, servidores MCP remotos) quebra em 127.0.0.1. Três caminhos que funcionam: um encaminhamento local via SSH, colar a URL de redirect de volta e fluxos de device code ou de código colado.

Ler mais

169.254.169.254 agora pede licença: o Hermes coloca a busca de credenciais do instance metadata na nuvem atrás de aprovação

Em uma VM na nuvem, o instance metadata service entrega credenciais IAM temporárias para qualquer processo local sem autenticação nenhuma. Depois do PR #106418, comandos que atingem 169.254.169.254, fd00:ec2::254, metadata.google.internal ou 100.100.100.200 pedem aprovação em vez de serem auto-aprovados.

Ler mais

Quando os dedos apertam Esc: keybindings do Vim no composer do CLI do Hermes (e o nome do branch na sua status bar)

Você digita um prompt longo, acha um erro de digitação e aperta Esc por reflexo para corrigir — e nada acontece. Depois do PR #106412, display.vim_mode transforma o composer de entrada do CLI em um editor estilo vi, com rótulo NORMAL/INSERT/REPLACE ao vivo na status bar.

Ler mais

Hermes v0.21.2: isolamento entre perfis e o fim da tempestade de backends

v0.21.2 fecha sete vazamentos entre perfis, impede que o desktop abra um backend para cada perfil e corrige uma série de comportamentos de cron, kanban e memória que não faziam sentido.

Ler mais

Sem reiniciar: o Hermes passa a servir na hora os perfis criados com o gateway em execução

São duas da manhã, você acabou de criar um terceiro perfil, colou o token do bot, mandou um olá no Telegram — e ninguém responde. O desktop continua mostrando o gateway desse perfil como parado. A única saída documentada era reiniciar o gateway, o que interrompe os outros dois perfis no meio de tarefas longas. O PR #109239 muda isso: um gateway multiplex em execução passa a reconciliar o diretório de perfis a quente. Perfis novos são servidos na hora, credenciais coladas depois reconstroem o adaptador, perfis removidos são desmontados e saem do roteamento, e um rescan a cada 30 segundos cobre as falhas. Mesclado na main em 2026-09-12, depois da versão v0.21.2.

Ler mais

O Hermes agora pede aprovação antes de desinstalar um pacote

Um pacote npm global está deixando seus builds lentos, você digita `npm uninstall -g some-package` e aperta Enter. Dois dias depois ele falta na CI e todos os projetos daquela máquina são afetados. Esse comando antes rodava sem nenhuma pergunta, porque o portão de comandos perigosos só conhecia primitivas de shell. O PR #109170 (já na main) adiciona uma regra package manager uninstall para npm, pnpm, yarn, pip e brew: as desinstalações agora perguntam, enquanto instalações e atualizações continuam passando. As regras são ancoradas com _CMDPOS, então texto entre aspas não é marcado por engano, e uma opção global seguida de um argumento também não escapa.

Ler mais

Hermes MCP include: uma lista vazia agora bloqueia tudo, em todo lugar

Várias interfaces liam tools.include: [] como «chave não definida». Depois do PR #109188, o hermes mcp list, o hermes mcp configure, o hermes tools, a reinstalação do catálogo e o painel MCP do desktop mostram 0 selecionados.

Ler mais

As tarefas cron do Hermes agora degradam em vez de falhar em gateways systemd sem sessão D-Bus de usuário

Em gateways gerenciados pelo systemd que não têm sessão D-Bus de usuário (contêineres, LXC enxuto, contas de serviço sem linger), cada tarefa cron falhava no exato momento do despacho. O PR #109311 faz essas tarefas degradarem: continua sendo um processo worker externo, só que sem isolamento de cgroup, com um único aviso por processo de gateway. Defina cron.require_restart_safe_scope: true para recuperar o comportamento fail-closed. Mesclado na main em 2026-09-12; ainda não está em nenhuma versão publicada.

Ler mais

Comece a Trabalhar Antes de Colar uma API Key: Como Funciona o Free Tier do Hermes e Quando Fazer Login

Uma instalação nova do Hermes agora consegue manter uma conversa sem nada configurado: na inicialização ela cria uma identidade anônima do free tier da Nous, responde em um modelo chamado nous/welcome, e os connectors funcionam sem conta. Fazer login é algo que você faz depois, quando quiser o catálogo completo de modelos e as ferramentas pagas (busca na web, geração de imagem, TTS, navegador na nuvem). Veja o que ele oferece, o que não oferece, como fazer login, como desligá-lo e o que as mensagens de erro significam.

Ler mais

De Onde Vem Realmente o «database is locked»: o Hermes Corrigiu a Contenção de Locks, Escritores Duplicados e um Falso Alarme

Nenhum segundo Hermes em execução, mas você recebe database is locked; nenhuma escrita pendente, mas abrir o armazenamento de sessões trava por 4 segundos. Um conjunto de correções mesclado em 11 de setembro explica o motivo: o lock era o Hermes assumindo autoridade de escrita a cada abertura, vários processos nunca deveriam tocar naquele arquivo, e um alarme de «WAL desapareceu» estava simplesmente errado no OpenZFS. Veja o que mudou e como verificar sua própria máquina.

Ler mais

Afogado em avisos de «Job Finished»? O Hermes agora agrupa conclusões de segundo plano já prontas em um único turno

Você dispara alguns jobs em segundo plano, volta, e encontra uma parede de mensagens de «concluído» — cada uma iniciando seu próprio turno de modelo, queimando tokens e quebrando seu raciocínio. As superfícies interativas do Hermes agora agrupam conclusões de segundo plano que já estão prontas em um único turno de notificação: falhas ficam no lote, uma conclusão isolada mantém seu texto original, processos explicitamente consumidos não notificam de forma alguma, e watches e resultados de subagent permanecem separados. Veja o novo comportamento, seus limites e por que ele não é um atraso.

Ler mais