Hermes v0.20.6: o agente aprende a navegar como você, um catálogo de MCP com 50+ servidores e segredos sem a chatice do keychain


Você pede ao seu agente para verificar algo dentro do dashboard da sua empresa — “abra a página de deployment e me diga qual versão está no ar” — e ele volta com uma parede de login, porque o browser que ele controla inicia toda sessão deslogado. Então você copia a URL para o seu próprio browser, faz login e resolve tudo na mão. Esse pequeno atrito é exatamente o que a v0.20.6 (tag v2026.8.27, lançada em 27 de agosto de 2026) ataca: o agente agora pode navegar como você, com seus logins reais, sob consentimento explícito e desativada por padrão.

A janela mesclou cerca de 525 PRs e ~1.313 commits em ~1.557 arquivos desde a v0.20.5. A manchete é a navegação com perfil real sob consentimento, mas a release continua a partir daí: um Browser de desktop que finalmente ganha sua própria janela de SO, um mecanismo gerenciado de atualização remota via SSH para frotas, um catálogo remoto de MCP com mais de 50 servidores de fornecedores verificados ao vivo, cache com TTL para busca web, compactação lean-tail como padrão, tool_search multi-query e criptografia opcional no keychain do SO para segredos armazenados. Vamos passar por tudo isso.

O agente navega como você — sob consentimento, desativado por padrão

A navegação com perfil real é a manchete por um motivo. Quando ativada (browser.use_real_profile: true, ou Configurações → Browser → Use My Real Browser Profile no app desktop), o Hermes copia o perfil ativo do seu browser padrão — aquele com que você realmente navega, com seus cookies, logins salvos e preferências — para um snapshot gerenciado em ~/.hermes/browser-profile/, e dirige esse snapshot com seu Chromium empacotado (#1f4d095fd8, #830e4a29be).

Três detalhes importam:

  • Seu perfil ao vivo nunca é aberto diretamente. O snapshot é um diretório separado, então ele não disputa com o browser em execução pelo lock do perfil, e contorna o bloqueio do Chrome 136+ para remote-debugging do diretório do perfil padrão.
  • A autenticação é ressincronizada. Cookies e logins são copiados de novo sempre que uma sessão nova é iniciada, então um login que você faz no seu próprio browser aparece na próxima sessão do agente.
  • Revogar o consentimento apaga tudo. Desligue a opção e o armazenamento de snapshots é removido no próximo uso do browser — as credenciais copiadas não ficam para trás depois que você retira o consentimento.

O Windows tem uma peculiaridade: Chrome/Edge/Brave bloqueiam seus bancos de cookies com um lock de negação total enquanto estão em execução, então o browser precisa estar totalmente fechado antes que o perfil possa ser copiado (o Hermes falha rápido com uma mensagem clara, em vez de travar). Definir browser.real_profile_autoclose: true permite que o agente se ofereça para fechá-lo por você — ele nunca fecha por conta própria, e se o perfil ainda estiver com lock depois disso, ele permanece bloqueado e avisa para você fechar o browser. Browsers padrão que não sejam Chromium (Firefox) falham de forma segura com uma mensagem clara. Na ferramenta browser_exec, um argumento local aparece quando a opção está ligada, forçando uma sessão com perfil real mesmo sob um backend de browser em nuvem.

Isso é seguro? É uma conveniência sob consentimento, não uma fronteira de isolamento: uma página que o agente visita roda com seus logins reais. É exatamente por isso que está desativado por padrão — ative quando quiser que o agente aja como você. Para a mecânica de como as ferramentas de browser funcionam, veja o nosso guia do Browser Use CLI e o post sobre o orçamento de snapshot do browser.

O Browser do desktop cresce: janela própria do SO + atualizações gerenciadas via SSH

O Browser do desktop era um painel embutido; agora ele pode abrir em sua própria janela de SO — redimensione, mova entre monitores, mantenha-o fixado ao lado do seu editor. Se você já desejou que o painel de pré-visualização tivesse mais espaço, é exatamente isto.

A outra história do desktop é um mecanismo gerenciado de atualização remota via SSH: as atualizações agora podem ser dirigidas por conexão via SSH para gateways remotos, de modo que uma frota de máquinas se mantenha atualizada a partir de um único app desktop. O trilho de perfis da frota acompanha — troque de profile e os alvos de atualização mudam com você. Combinado com as melhorias de atualização abaixo, “atualizar tudo” está se tornando uma operação de um clique e verificável. Para a história completa de atualização, veja o nosso guia de atualização graciosa.

Um catálogo remoto de MCP com mais de 50 servidores verificados ao vivo

O catálogo remoto de MCP embutido continua crescendo: 50+ servidores hospedados por fornecedores verificados ao vivo — Cloudflare, Grafana Cloud, Better Stack, Railway, Canva, Dropbox, GitLab, Strava e mais. Cada entrada é verificada contra o endpoint ao vivo do fornecedor, e ?codemode=false é fixado para que o tool_search veja a superfície completa de endpoints. Se você não olha o que tem no catálogo há um tempo, vale uma visita:

hermes mcp catalog list --remote

Para uma visão mais profunda do catálogo em si, veja o nosso guia oficial do catálogo remoto de MCP.

Cache, compactação e uma busca de tools mais esperta

Três atualizações mais discretas que economizam tokens e dinheiro todos os dias:

  • Cache de resultados com TTL para web_search/web_extract: buscas repetidas dentro da janela do TTL retornam o resultado em cache em vez de cobrar o fornecedor de novo. Uma nova tentativa, uma reexecução, um cron job verificando a mesma URL — tudo mais barato. (Configurável via web.cache_ttl; veja o nosso post sobre cache de busca web para a história completa.)
  • A compactação lean-tail agora é o padrão: após a compactação, o agente mantém um resumo compacto mais uma cauda curta de alto valor, em vez de uma cauda longa de baixo valor — menos para reenviar a cada turno, custo menor. O nosso guia de compactação cobre os ajustes.
  • tool_search multi-query com stemming: o tool_search agora aceita queries: string[], pesquisando cada uma de forma independente (limite por query, padrão 5 / máximo 25), e o tool_describe aceita names: string[] retornando um mapa indexado por nome — um nome errado não derruba mais a chamada inteira. O stemming Snowball faz “browsing” casar com “browser”.
{ "queries": ["browser snapshot", "web search cache", "read pdf"] }

O resultado: menos round-trips quando o agente está caçando a tool certa, e descoberta mais barata. Escrevemos os detalhes no nosso guia do tool_search multi-query.

Segredos sem a chatice do keychain

Se você usa o desktop do Hermes no macOS, talvez conheça o diálogo “Keychain Not Found” — o safeStorage do Electron estaciona uma chave por app no keychain de login, e em máquinas com keychain bloqueado, ausente ou corrompido, isso transformava toda inicialização num prompt de senha bloqueante. A v0.20.6 torna a criptografia com keychain um opt-in explícito (Configurações → Gateway): o caminho padrão nunca toca no safeStorage, e uma migração única converte os blobs criptografados existentes em arquivos simples 0600 na primeira inicialização. Ligue a opção e cada armazenamento de segredos é recodificado no lugar. Chega de prompt, e criptografia completa se você quiser. Configuração completa no nosso guia de criptografia de segredos no keychain.

Atualizações que não matam seu gateway

Os updaters agora pausam gateways pelo control socket em vez de matar a árvore de processos: os serviços entram em quiescência, a atualização é aplicada, os gateways retomam — turnos em andamento e conexões de mensagens sobrevivem à atualização. Instalações gerenciadas por imagem/package também recusam atualizações in-place inseguras por meio de um portão compartilhado (#91277 Phase 3), e arquivos de usuário gitignored bloqueiam o overlay ZIP destrutivo (#96440). O updater continua provando seu resultado, seguindo o arco que cobrimos nas notas da release v0.20.5.

Outros destaques

  • Cron: acks duráveis de incidentes — reconheça o incidente de um job uma vez e o ack persiste; falhas de code-skew mais claras quando scheduler e gateway discordam.
  • Slack: controles de unfurl de links para que equipes possam impedir que os links do agente virem cards expandidos.
  • Docker: profiles de confiança podem optar por um container persistente compartilhado; sandboxes de terceiros plugam como backends de terminal sem tocar no core.
  • Modelos: GLM-5.3-Flash chega aos seletores z.ai + OpenCode, MiniMax M3 free entra no OpenRouter, MiniMax H3 Max entra no seletor de vídeo da FAL.
  • Confiabilidade do gateway: liveness de loop com duas testemunhas — o heartbeat do próprio watchdog não pode mais congelar ou matar um gateway saudável (#92315); double-kill do launchd --replace corrigido via restart gracioso com SIGUSR1 (#96427).

Para o detalhamento completo destaque por destaque, incluindo as listas completas de Melhorias e Correções, veja as notas da release v0.20.6. Atualizar é simples:

hermes update

Após atualizar, rode hermes doctor e reinicie o gateway (hermes gateway) para que as mudanças de plataforma entrem em vigor. A v0.20.6 não precisa de uma única manchete dramática — é um rolamento constante em que o agente finalmente encontra você na sua própria web logada, e as tarefas do dia a dia (cache, compactação, keychain, atualizações) saem silenciosamente do seu caminho.