Hermes Agent Lab

Blog do Hermes Agent — Guias Práticos e Insights

Últimos artigos e insights.

Faça login uma vez e seus apps conectados acompanham: o handoff do free tier chega limpo

Você conectou o Gmail e o Notion no free tier, depois criou uma conta — e todas as conexões ficaram para trás na identidade antiga, então você teve que reconectá-las uma por uma. Os PRs #143234, #143235 e #143248 fecham essa lacuna: todo login Nous agora é um device login simples, o free tier entrega seus apps conectados para a conta que o substitui, e a página de Connectors deixa de criar uma identidade só porque você a abriu.

Ler mais

A meia atualização no Windows: hermes.exe some e o carimbo de versão fica para trás

No Windows, o `hermes update` pode terminar com uma única linha ⚠ que você passa batido — e só metade da atualização chegou de fato. O `hermes.exe` em execução não pode ser apagado no meio da atualização, então a instalação degrada para `hermes.cmd`, a escrita do carimbo é pulada e o `install-stamp.json` continua nomeando a versão antiga. Os PRs #143291 e #143339 corrigem as duas metades: aposentar o exe em execução renomeando-o e cunhar um exe de verdade outra vez depois de um repin de Python.

Ler mais

Ferramentas MCP agora têm etiqueta de preço: declare quanto cada chamada custa e limite o que um chat pode gastar

Três chaves novas — tool_costs, spend_limit e cost_unit — deixam um servidor MCP declarar quanto cada ferramenta gasta. O prompt de aprovação mostra o custo e o total do chat, uma chamada que estouraria o orçamento pede confirmação mesmo num servidor com trust full, e contextos sem ninguém para responder recusam a chamada de saída.

Ler mais

Deixe um servidor MCP te chamar: o cliente de eventos experimental e a entrega por webhook

Ligue events: true e um servidor MCP pode empurrar um evento no instante em que algo acontece upstream, com cada evento iniciando uma execução do agente. Veja como as três ferramentas de evento funcionam, como é uma assinatura por baixo e as cinco formas de ela expirar em silêncio.

Ler mais

O Hermes agora tem seu próprio package manager: o que pm doctor, repair e gc realmente corrigem

O hermes pm gerencia binários de ferramentas e ambientes de dependências Python — não o app em si; isso é o hermes update. Veja o que doctor, status, install, repair e gc fazem, por que todo pacote fixado precisa ter três dias de idade e para que serve o novo pm update --skip-target.

Ler mais

O hermes update parava os gateways e nunca os acordava: o .git que o próprio git rejeita

Quando o checkout tem um .git que o git se recusa a ler — um HEAD vazio, ou um ponteiro gitdir para lugar nenhum — o hermes update pausa os gateways, imprime um Failed to fetch genérico e vai embora. Esta correção libera o registro de pausa, nomeia o dano e entrega o comando do instalador que repara no lugar.

Ler mais

A v0.22.4 mexeu em seis coisas — e finalmente removeu aquelas pílulas de sugestão acima do composer

O patch v0.22.4 de 21 de outubro é limpeza pura: as pílulas de sugestão acima do composer sumiram, plugins que não instalam nada pulam o pedido de consentimento, o WhatsApp pode ser repareado depois do logout e o catálogo de plugins ganha seis entradas, incluindo bubblewrap, Singularity e mcp-serve. No mesmo dia saiu a v0.22.3, um rollup de cerca de 620 PRs.

Ler mais

Uma resposta em chinês virou título de sessão: a guarda de comprimento só conta espaços

Um modelo que ignora "return only a title" deveria ser barrado por uma guarda que detecta resposta. A guarda conta palavras com split(), e uma frase em chinês é uma palavra só, então uma resposta de 76 caracteres passa direto.

Ler mais

Retomar uma sessão compactada diz tudo duas vezes: por dentro do summary carrier

A compaction in-place envolve a cauda protegida da conversa num summary carrier que herda o message_uid original, mas não o texto. A camada de exibição renderizava os dois, então uma resposta aparecia duas vezes.

Ler mais

Backends de terminal via plugin não ficam mais presos em /root: default_cwd e supports_streams

Dois atributos opcionais do provider deixam o sandbox do plugin escolher seu próprio diretório inicial, e fazem o Bot Desktop, o computer_use e o navegador acompanharem o terminal até lá.

Ler mais

Saída que desaparece: depois de 1024 arquivos abertos, chamadas de terminal do Hermes começam a voltar vazias

Processos de Desktop e do gateway em execução longa passam a devolver saída vazia com exit code 0. A causa é o teto de 1024 do select(); a correção migra para selectors e evita uma armadilha do poll() no macOS.

Ler mais

Seu plugin finalmente percebe quando uma sessão é compactada ou apagada

O Hermes ganhou dois hooks de plugin: post_compaction permite que plugins de memória reinjetem o contexto que um resumo engoliu, e on_session_delete deixa o plugin limpar o que sobrou quando uma sessão é apagada ou arquivada. Os dois com código funcionando.

Ler mais

Um comando para atualizar todos os plugins: o hermes plugins update agora mostra a lista primeiro

Rode hermes plugins update sem nome de plugin e o Hermes audita todos os plugins instalados, diz quais consegue mover e por que pula o resto, pergunta uma vez e atualiza todos. Inclui --yes, códigos de saída, uso em cron e as regras de exclusão.

Ler mais

DMs do Telegram empilhando numa thread só? Dê um tópico novo para cada mensagem

O modo de tópicos do Telegram divide uma DM em threads separadas, mas tudo o que você digita no chat raiz continua caindo no último tópico usado. Ligue dm_topic_auto_transfer e cada mensagem na DM raiz abre um tópico novo e uma sessão nova. Config completa, fallbacks e armadilhas.

Ler mais

Mais de metade daquele state.db eram cópias de mensagens que o prune já tinha removido

Um prune proativo edita algumas mensagens e depois reescrevia o transcript completo. Um profile acabou com 48.737 cópias substituídas — 55% das suas linhas. A primitiva de commit agora reescreve as linhas no lugar.

Ler mais

Um ficheiro que o seu agent deixou no Docker pode correr como root no seu portátil

Os mounts nosuid e o cap-drop só vinculam o que corre dentro do container. Um ficheiro que aterra no host mantém os bits setuid, setgid e as file capabilities. O Hermes passa agora a remover esses bits do lado do host, incluindo em sandboxes de longa duração.

Ler mais