O Hermes Desktop acabou de mudar: o Preview Pane agora é um ciclo completo de controle do navegador

Você pede ao Hermes para “entrar neste site e puxar minhas faturas” — antes, ele se virava em um Chromium separado que você não conseguia ver, perdendo todas as sessões de login, e você só descobria o que tinha acontecido depois. Não é mais assim: o Preview Pane do Hermes Desktop foi finalmente ligado — o agente agora consegue operar o navegador integrado bem na sua frente, usando as sessões em que você já está conectado, passo a passo. Um lote de mudanças mesclado na main entre 19 e 20 de agosto transformou essa superfície de um espelho de mão única em um ciclo completo.
O Quadro Geral: Uma Toolchain Completa
O Preview Pane costumava ser um espelho de mão única: o open_preview colocava uma página no painel e o read_preview lia o texto de volta, mas o agente nunca conseguia tocá-la. O conjunto de ferramentas do desktop agora tem o pacote completo:
| Ferramenta | O que ela faz |
|---|---|
open_preview |
Abre uma página no painel (já existente) |
read_preview |
Lê o texto da página de volta (já existente) |
drive_preview |
Opera a página: elements inventaria os elementos clicáveis/digitáveis e click/type/scroll/press agem sobre eles; back/forward/reload controlam o histórico |
annotate_preview |
Mantém uma marca em um elemento (“clique aqui”) — aponta sem agir |
close_preview |
Fecha o painel inteiro ou uma aba específica (novo em 19 de agosto — antes, o agente só podia implorar para você apertar o ✕) |
A barra do navegador também ganhou um botão “abrir no system browser” e um botão de copiar URL (SSH gateways recebem automaticamente o endereço encaminhado), e os links do chat agora têm um menu de clique com o botão direito: abrir no navegador integrado ou no system browser. O navegador integrado e o seu navegador do dia a dia finalmente conversam entre si.
O Que Faz Isso Parecer “Sedoso”
Três decisões de design por baixo dos panos são o que realmente transforma a experiência:
1. Leituras incrementais por diff — chega de enviar a página inteira. Antes, cada “olhada” reenviava o inventário completo da página. Agora: só a primeira olhada devolve o inventário completo; cada olhada seguinte devolve o que mudou — added (elementos novos, completos), changed (handle + o que de fato mudou entre label/value/disabled), removed/rebound como listas simples. Medido em um shell de aplicativo com 85 elementos: o carregamento inicial caiu de 18.693 para 4.930 caracteres, e um turno estável que mexeu em duas coisas custa cerca de 200. Uma tarefa de dez passos costumava pagar por dez cópias de uma página que mal tinha mudado. Uma releitura completa só volta quando metade da página é nova.
2. Handles de elementos duráveis — re-renders do framework não os perdem. Os elementos são nomeados pelo que são e pelo que dizem (btn-sign-in, inp-email), lembrando de um atributo estável, do role, do nome acessível e do landmark em que estão. Quando um framework destrói um nó e constrói outro, o handle automaticamente se re-vincula (o agente ouve rebound em vez de uma remoção mais uma adição para reler). A cadeia de seletores :nth-child que acompanhava cada elemento sumiu — ela era 74% do inventário em uma página de 85 elementos, e uma cadeia posicional quebra no momento em que um elemento irmão aparece. Um #id ou [data-testid] sobrevive quando a página oferece um.
3. Entrada real, não eventos sintéticos. As ações passam pelo sendInputEvent do Chromium — a página não consegue notar a diferença, e o estado de hover/focus se comporta exatamente como o de um usuário (cliques sintéticos deixam as páginas em estados que nenhum usuário poderia ter produzido, e frameworks estilo React engolem eventos de entrada forjados). O engine ainda é injetado, mas só para resolver handles, medir nós e ler a página de volta — a ação em si é entrada real em coordenadas reais.
Supervisibilidade: Você Pode Ver, Então Deixa Ele Operar
Operar um navegador em que o usuário está conectado é diferente de operar um descartável. Por isso o painel narra em tempo real o que o agente está fazendo: o campo que ele está considerando, o elemento em que está mirando, o clique que está caindo, o texto que acabou de ler. O pulso continua durante os 20–100 segundos que o modelo passa pensando — quem olha para o painel consegue perceber o que o agente está prestes a fazer com a sua sessão ao vivo, e interromper. Isso não é automação sem supervisão; é automação que você acompanha.
O Que Você Pode Fazer
- Tarefas com login: “entrar no dashboard e puxar minhas faturas” — feito no painel, com as suas sessões existentes;
- Preenchimento de formulários:
elementspara encontrar os campos →typepara preencher → enviar, tudo visível; - Apontamento colaborativo: o
annotate_previewmarca o elemento alvo, o agente só aponta, você clica (ótimo para fluxos do tipo “me ajuda a mudar só essa coisinha”); - Limpeza: o
close_previewfecha o painel quando terminar — sem precisar implorar.
Status do Release e Como Obter
Essas capacidades (#90197 / #90239 / #89366) foram mescladas na main em 19 e 20 de agosto e ainda não saíram em um release (o mais recente continua sendo o v0.20.5). Para experimentar: hermes update --branch main ou espere o próximo release. Elas complementam as ferramentas browser_* existentes (que operam um Chromium separado): o Preview Pane é para “o navegador na sua frente, já conectado”, enquanto o browser_* é para automação sem supervisão — escolha com base em se você quer ou não acompanhar. Mais capacidades de desktop: Hermes Desktop Skills Hub e o mergulho a fundo no Bot Mode; o controle de navegador também ganhou um resumo em 4 Hidden Hermes Tricks.
Para Fechar
O que a ligação do Preview Pane realmente mudou é isto: a navegação web dirigida pelo agente saiu de uma caixa preta em segundo plano para uma colaboração visível e interrompível — rápida por causa das leituras incrementais, estável por causa da re-vinculação dos handles, real por causa da entrada genuína e confiável por causa da narração ao vivo. Instale o build da main e deixe o Hermes operar uma página na sua frente uma vez — aquela sensação “sedosa” é uma experiência diferente de antes.