Hermes Agent Lab

Blog do Hermes Agent — Guias Práticos e Insights

Últimos artigos e insights.

Por que uma skill recém-publicada devolve zero resultados na busca

A busca de skills sem filtro é respondida por um índice central reconstruído periodicamente, então uma skill publicada minutos atrás pode estar faltando mesmo existindo. As mudanças de 16 a 18 de setembro fecham a lacuna: um erro de índice agora reconsulta skills.sh, ClawHub, LobeHub e endpoints conhecidos dentro de um orçamento de 8 segundos, e a construção do índice não descarta mais skills em silêncio quando um shard expira.

Ler mais

Comandando seu agente de dentro do trem: um guia de campo para a WebUI da comunidade

O Hermes WebUI é um projeto da comunidade com cerca de 18 mil estrelas que leva os recursos da CLI para o navegador: Python com JavaScript puro, sem etapa de build, preso ao localhost por padrão, com SSH tunnel ou Tailscale para acesso pelo celular e login opcional por senha, passkey ou OIDC. Veja como instalá-lo, expô-lo com segurança e onde ficam os limites.

Ler mais

Por que abrir um dropdown custa três segundos

Um spinner no seletor de modelos, um `hermes plugins list` que trava, um painel de Profiles que perde frames — três travamentos de aparência desconexa com uma única causa: o caminho de leitura estava, em silêncio, fazendo sondagens de rede e varreduras de filesystem. Os PRs #114994, #114811 e #114879 tiraram o cache, a memória de falhas e os refreshes desse caminho.

Ler mais

O Hermes não busca mais qualquer URL que alguém lhe entregue

URLs de imagem devolvidas por um provider de geração, imagens de referência fornecidas por um modelo, manifests e spritesheets da pet store, entradas de sitemap do skills.sh — nenhuma dessas URLs vem de você. O PR #114887 encaminha sete pontos de fetch pelo guard de SSRF que o repositório já tinha: verificação antes do fetch, nova verificação no connect TCP (fechando a janela de DNS rebinding), revalidação a cada salto de redirect e falha fechada em um 3xx sem header `Location`.

Ler mais

A API key que você mostrou uma vez não deveria acabar no log de um chat

Duas correções entraram no mesmo dia para fechar duas costuras de vazamento de segredos: o PR #114839 faz chaves `sk-` com pontos e as chaves `id.secret` sem prefixo da Zhipu serem totalmente mascaradas na saída de ferramentas, e o PR #114789 força a redação em todas as faixas de entrega do cron — chat, espelho de sessão, nome do job, bot chat — falhando fechado em vez de enviar o texto bruto.

Ler mais

Seu provider de memória saiu do core — a atualização o traz de volta

Os providers de memória embutidos estão migrando para os repositórios de seus mantenedores e para o catálogo de plugins. O PR #114569 adiciona dois hooks: tanto o `hermes update` quanto o agent init percebem quando o código de um provider configurado desapareceu e o reinstalam no pin revisado do catálogo. Nome, a config `memory.<name>`, o diretório de dados e os nomes das ferramentas continuam iguais.

Ler mais

1.393 subagentes, 19 horas, um desktop: como a Nous refatorou um milhão de linhas com o Hermes

Um /goal, 19 horas e 1.393 subagentes cortaram 34,4% das linhas de código do próprio repositório do Hermes. Veja os números oficiais, as nove coisas que quebram em escala e os passos para repetir isso na sua própria base de código.

Ler mais

Um script de 16 KB congelou um gateway por 23 segundos: o postmortem da varredura de comandos

Entregue ao Hermes um heredoc de algumas centenas de linhas e o seu bot do Telegram para de responder — uma regex síncrona está segurando o event loop. A issue #113535 e o PR #114208 explicam o caminho O(n³) e por que a versão corrigida chega a vereditos idênticos.

Ler mais

Pare de deixar as imagens comerem a sua cota: os dois ajustes de visão que valem conhecer

Imagens embutidas nativamente são reenviadas a cada chamada de API posterior, e a antiga política de aposentadoria podia reescrever 120.000 tokens de histórico só para descartar uma imagem. Os PRs #113953 e #113817 corrigiram as duas coisas e adicionaram vision.embed_target_bytes e max_calls_per_image.

Ler mais

O segundo modelo que você nunca configurou: o canal de chamadas auxiliares do Hermes

Títulos de sessão que viram fragmentos de JSON, aprovações que deixam de ser inteligentes, compressão angustiante com um modelo local — a falha muitas vezes não está no seu modelo principal, mas em uma das 13 tarefas auxiliares nomeadas. Aqui estão o formato da configuração, os ajustes globais e as correções de falha silenciosa mescladas em 17 de setembro.

Ler mais

Seu agente pode destruir um banco SQLite em uso — agora o Hermes recusa a escrita

write_file e patch liam um arquivo lateral .db-wal como texto comum e gravavam o mojibake de volta, destruindo silenciosamente um banco SQLite em uso. O PR #114220 adiciona uma proteção de escrita em arquivos laterais na camada de ferramentas. Veja como o dano aconteceu, o que mudou e se a sua versão já tem isso.

Ler mais

hermes doctor e o WAL grande: um aviso agora honesto

O hermes doctor mandava rodar --fix em um WAL do state.db acima de 50 MB sem checar quem segurava o banco. O PR #113055 deixa esse aviso honesto.

Ler mais

Por que a memória Honcho do Hermes cai em outro projeto

Títulos automáticos anulavam a sessionStrategy e a memória se resolvia pelo diretório de inicialização do backend. O PR #112602 corrige os dois.

Ler mais

Renomear um profile do Hermes deixava um fantasma

Renomear um profile deixava a state DB no nome antigo. O PR #112653 migra essa identidade, adiciona um comando de retry e impede que profiles apagados voltem.

Ler mais

Multiplexação de perfis no gateway agora é o padrão

gateway.multiplex_profiles agora vem ativado, mas uma guarda de inicialização decide valores não definidos: um gateway serve todos os perfis quando é seguro.

Ler mais

Por que o state.db se corrompe dentro de mounts do Docker Desktop, OrbStack e WSL2

Faça bind mount do seu diretório de dados em um container e o virtiofs ou o 9p não conseguem dar ao SQLite WAL o lock compartilhado de que ele precisa, então dois writers corrompem o state.db em silêncio enquanto toda checagem de integridade passa. Desde a PR #111433, o Hermes avisa isso na inicialização e no hermes doctor, com duas correções concretas.

Ler mais