O jeito mais rápido de saber se um assistente de IA é coisa séria é pedir pra ele mandar uma mensagem pra sua mãe.
Sem brincadeira. Em quase todo o ano de 2025 e no primeiro trimestre de 2026, cada "agente de IA" que eu testei caiu no mesmo teste pelo mesmo motivo: ele não chegava numa pessoa comum, na plataforma que essa pessoa comum usa de verdade. Telegram, beleza. Discord, tudo certo. iMessage? Silêncio. iMessage é onde mora a minha família inteira — o que significa que, até a v0.9.0, o Hermes Agent não conseguia escrever pra minha mãe.
Em 13 de abril de 2026 — cinco dias depois de a v0.8.0 ter aplicado patch no próprio cérebro — a v0.9.0 corrigiu isso. Também tapou outros dois buracos do mesmo formato, passou uma auditoria de segurança pelo gateway todo, e ainda assim mergeou 269 PRs em cinco dias. As release notes falam agora em dezesseis plataformas de mensageria. Há dois meses, esse número era sete.
As três plataformas que pousaram num único sábado
Três novos gateways foram para a rua na v0.9.0, e cada um deles foi escolhido pra fechar um buraco que a lista existente não fechava.
A primeira é o BlueBubbles (iMessage). BlueBubbles é a ponte open source que já tem alguns anos grudando o iMessage no resto do mundo; a v0.9.0 traz um adapter completo contra o protocolo de webhook dele, com auto-registro embutido, então você não precisa editar URL na mão. Se você tem um Mac em casa rodando BlueBubbles, agora tem um Hermes Agent que conversa por iMessage.
A segunda é o WeChat (Weixin) via a iLink Bot API nativa. Não é screen-scrape, não é emulador web — é a API de bot de verdade, com saída em streaming e upload de mídia. Pra quem roda Hermes na China continental, essa é a diferença entre "projeto de fã pra gringo" e "coisa que você consegue de fato implantar".
A terceira é o modo callback do WeCom — o lado de "app corporativo próprio" do WeCom, com persistência atômica de estado, pra que um deployment empresarial sobreviva a um restart de gateway sem largar os usuários no meio da conversa. A expressão "atomic state persistence" aparece três vezes nas release notes da v0.9.0. Quem escreveu aquilo claramente já tinha cansado dos bugs de estado vencido.
Três plataformas, três categorias operacionais completamente diferentes, um único release.
Um dashboard web pra todo mundo que não aguenta mais terminal
A outra mudança que reembaralha quem consegue usar o Hermes é o novo Local Web Dashboard — uma UI de navegador que roda do lado da sua instalação do Hermes e expõe a configuração que vivia atrás do hermes setup e do hermes model. Roda local, não telefona pra casa, e é a primeira vez que a resposta pra "mas meu colega não usa terminal" deixa de ser "manda ele aprender terminal".
Em silêncio, é também o release em que dizer "o Hermes Agent tem UI" não precisa mais de nota de rodapé. A v0.11.0 vai empilhar i18n, troca de tema e responsividade mobile — mas o alicerce é fincado aqui.
/fast, /debug e a faixa pequena-mas-barulhenta
Um punhado de slash commands aterrissou na v0.9.0, e o que bate acima do próprio peso é o /fast. Ele joga o modelo ativo na faixa prioritária do provider — quando o provider tem uma, no lançamento OpenAI e Anthropic. Soa pequeno, fica grande na primeira vez que você vê o Hermes rodopiando em uma única chamada de tool: você digita /fast, espera uma batida, segue.
Em volta: /debug extrai um diagnóstico de uma tacada em qualquer gateway que você esteja rodando. hermes debug share joga o bundle de debug num pastebin pra você colar um link em vez de uma parede de texto. hermes dump imprime um resumo de instalação pronto pra colar numa issue ou num chat. /compress <focus> deixa você comprimir uma conversa enquanto diz pro agente qual fio não pode sumir.
Nenhuma é função de manchete. Todas são daquele tipo que você só sente falta depois que uma ferramenta tira.
backup, import e a morte do "e agora?"
Dois comandos novos fecham, em silêncio, uma das piores experiências de qualquer agente self-hosted: hermes backup e hermes import cobrem o caminho inteiro de migração de configuração. Skills, sessões, memórias, jobs de cron, valores em .env — tudo serializa pra fora em bloco e volta a carregar em bloco.
É o tipo de função que não faz nada visível até o dia em que sua VPS pega fogo, e aí ela te economiza uma noite. É também o que finalmente torna portátil aquela história do "VPS de 5 dólares" que a gente contou em março. Antes da v0.9.0, "mover o Hermes" significava "configurar um Hermes novo do zero rezando pra não esquecer nada". Depois da v0.9.0, é um tarball.
Termux, proxies e uma fornada discreta de providers
O Android/Termux nativo ganhou na v0.9.0 um fluxo de instalação sério e otimizações de TUI. O caminho do Termux não é mais um fork experimental — roda no mesmo fluxo de instalação testado que Linux e macOS. Quer rodar um agente no telefone que tá no seu bolso? README e hermes finalmente concordam em como fazer isso.
Na mesma leva, o suporte unificado a proxy finalmente entra no lugar: SOCKS, proxy específico do Discord e detecção automática de proxy de sistema — consistente em todas as plataformas. Pra quem se hospeda atrás do firewall corporativo, a guerra de proxy deixou de ser uma guerra por plataforma.
Do lado dos providers, esse release adiciona o xAI (Grok) como provider de primeira classe nativo, Xiaomi MiMo nativo, Qwen OAuth com suporte a requests via portal, Voxtral TTS (o modelo de áudio da Mistral) e um motor de contexto plugável, controlável via hermes plugins — montar a janela de contexto deixou de ser uma caixa-preta do tipo "se quiser mudar, dá fork no projeto".
Uma mudança quebrante, sepultada em uma linha
A seção de breaking changes da v0.9.0 é curta, mas vale a leitura. O slash command /prompt foi removido — as release notes chamam ele de "a prefix expansion footgun", o cano-de-tiro-no-próprio-pé da expansão de prefixo. Provavelmente o epitáfio de uma linha mais honesto que uma função deprecated pode esperar. LLM_MODEL ficou deprecated com migração automática pra nova variável.
Segurança: uma rodada de hardening, não um patch isolado
A v0.9.0 fez o que as release notes chamam diretamente de hardening de segurança abrangente. A lista lê como um checklist de auditoria atravessando o código de ponta a ponta: validação de assinatura nos webhooks da Twilio (fecha um caminho de RCE pelo lado SMS), neutralização de injeção de shell em operações de sandbox, prevenção de injeção de argumento em git, guards de redirecionamento SSRF em upload de imagem, proteção contra path traversal no checkpoint manager e exigência de autenticação no API server.
Esse tipo de trabalho não vira post sozinho. Importa aqui porque a v0.9.0 é também o release em que o Hermes começa a alcançar plataformas de mensageria de consumo de verdade — iMessage e WeChat — e o modelo de ameaça de um chatbot que também roda comando de shell muda no dia em que você aponta ele pra um número de telefone.
Em números
269 PRs mergeados de 24 contribuidores em 487 commits — em cinco dias.
Essa cadência não é coisa da v0.9.0 sozinha. v0.7.0 → v0.8.0 foram cinco dias. v0.9.0 → v0.10.0 vão ser três. O formato do mês seguinte já dá pra ler nesse release: uma pilha de releases semanais, cada um em torno de um único tema grande o bastante pra merecer nome próprio. O tema da v0.9.0 é plataformas. Oito dias depois, a v0.11.0 reconstrói a interface. Cinco semanas depois, a v0.14.0 reescreve como o negócio é instalado.
---
Eu volto sempre pro BlueBubbles. A mudança da v0.9.0 que provavelmente comeu mais linhas de código foi o refactor de transport que ninguém vai notar. A mudança que comeu menos linhas, comparativamente, foi o adapter do iMessage. E ainda assim foi sobre a segunda que liguei pra contar pra minha mãe — porque é a mudança que finalmente faz o agente que vive no meu servidor alcançar a pessoa com quem eu de fato converso todo dia.
Releases que se vendem como "mais plataformas" raramente soam empolgantes. Soam como uma lista com marcadores. Mas "mais plataformas", olhado de perto, é a mesma forma que outra frase: "mais gente que consegue usar esse troço". A v0.9.0 acrescentou três numa única tarde de sábado.