Hermes Desktop vient de changer : le Preview Pane est désormais une boucle complète de contrôle du navigateur

Vous demandez à Hermes de « vous connecter à ce site et récupérer vos factures » — avant, il s’activait dans un Chromium séparé que vous ne pouviez pas voir, perdant chaque session de connexion, et vous ne découvriez ce qui s’était passé qu’après coup. Plus maintenant : le Preview Pane de Hermes Desktop a été câblé de bout en bout — l’agent peut désormais piloter le navigateur intégré sous vos yeux, avec les sessions dans lesquelles vous êtes déjà connecté, étape par étape. Une série de changements fusionnés sur main les 19 et 20 août a transformé cette surface d’un miroir à sens unique en une boucle complète.
Le tableau complet : une boîte à outils complète
Le Preview Pane était autrefois un miroir à sens unique : open_preview plaçait une page dans le volet et read_preview en relisait le texte, mais l’agent ne pouvait jamais y toucher. La boîte à outils desktop dispose désormais d’un jeu complet :
| Outil | Ce qu’il fait |
|---|---|
open_preview |
Ouvre une page dans le volet (existant) |
read_preview |
Relit le texte de la page (existant) |
drive_preview |
Manipule la page : elements dresse l’inventaire des éléments cliquables et saisissables, puis click/type/scroll/press agissent sur eux ; back/forward/reload pilotent l’historique |
annotate_preview |
Pose une marque sur un élément (« clique ici ») — pointer sans agir |
close_preview |
Ferme tout le volet ou un onglet précis (nouveau le 19 août — avant, l’agent ne pouvait que vous supplier d’appuyer sur ✕) |
La barre du navigateur a également gagné un bouton « ouvrir dans le navigateur système » et un bouton de copie d’URL (les SSH gateways reçoivent automatiquement l’adresse redirigée), et les liens du chat ont désormais un menu contextuel : ouvrir dans le navigateur intégré ou dans le navigateur système. Le navigateur intégré et votre navigateur de tous les jours communiquent enfin.
Ce qui rend le tout « soyeux »
Trois conceptions sous-jacentes transforment réellement l’expérience :
1. Lectures par diff incrémental — fini l’envoi de la page entière. Chaque « regard » renvoyait auparavant l’inventaire complet de la page. Désormais : seul le premier regard renvoie l’inventaire complet ; chaque regard suivant renvoie ce qui a bougé — added (nouveaux éléments en entier), changed (handle + ce qui a réellement changé parmi label/value/disabled), removed/rebound sous forme de listes brutes. Mesuré sur une coquille d’application de 85 éléments : le chargement de base est passé de 18 693 à 4 930 caractères, et un tour en régime permanent qui modifie deux choses coûte environ 200. Une tâche en dix étapes payait autrefois dix copies d’une page qui n’avait presque pas bougé. Une relecture complète ne revient que lorsque la moitié de la page est nouvelle.
2. Des handles d’éléments durables — les re-rendus du framework ne les perdent pas. Les éléments sont nommés d’après ce qu’ils sont et ce qu’ils affichent (btn-sign-in, inp-email), en mémorisant un attribut stable, un rôle, un nom accessible et le landmark dans lequel ils se trouvent. Quand un framework détruit un nœud et en construit un nouveau, le handle se re-lie automatiquement (l’agent entend rebound au lieu d’une suppression suivie d’une addition à relire). La chaîne de sélecteurs :nth-child qui accompagnait chaque élément a disparu — elle représentait 74 % de l’inventaire sur une page de 85 éléments, et une chaîne positionnelle casse dès qu’un élément frère apparaît. Un #id ou un [data-testid] survit là où la page en propose un.
3. De vraies entrées, pas des événements synthétiques. Les actions passent par sendInputEvent de Chromium — une page ne peut pas faire la différence, et l’état de survol/focus se comporte exactement comme celui d’un utilisateur (les clics synthétiques laissent les pages dans des états qu’aucun utilisateur n’aurait pu produire, et les frameworks de type React avalent les événements d’entrée forgés). Le moteur est toujours injecté, mais uniquement pour résoudre les handles, mesurer les nœuds et relire la page — l’action elle-même est une entrée réelle à des coordonnées réelles.
Supervisabilité : vous le voyez, alors vous le laissez piloter
Piloter un navigateur dans lequel l’utilisateur est connecté, ce n’est pas la même chose que piloter un navigateur jetable. Le volet raconte donc en temps réel ce que fait l’agent : le champ qu’il considère, l’élément qu’il vise, le clic qui atterrit, le texte qu’il vient de lire. Le flux continue pendant les 20 à 100 secondes que le modèle passe à réfléchir — une personne qui jette un œil au volet peut savoir ce que l’agent s’apprête à faire à sa session en direct, et l’arrêter. Ce n’est pas de l’automatisation non supervisée ; c’est de l’automatisation que vous regardez.
Ce que vous pouvez faire
- Tâches en session connectée : « connecte-toi au tableau de bord et récupère mes factures » — fait dans le volet, avec vos sessions existantes ;
- Remplissage de formulaires :
elementspour trouver les champs →typepour remplir → envoyer, entièrement visible ; - Pointage collaboratif :
annotate_previewmarque l’élément cible, l’agent ne fait que pointer, vous cliquez (idéal pour les flux « aide-moi à changer cette seule chose ») ; - Nettoyage :
close_previewferme le volet une fois terminé — sans supplier.
Statut de la version et comment l’obtenir
Ces capacités (#90197 / #90239 / #89366) ont été fusionnées sur main les 19 et 20 août et ne sont pas encore dans une version publiée (la dernière est toujours v0.20.5). Pour les essayer : hermes update --branch main ou attendez la prochaine version. Elles complètent les outils browser_* existants (qui pilotent un Chromium séparé) : le Preview Pane est fait pour « le navigateur devant vous, déjà connecté », tandis que browser_* est fait pour l’automatisation sans surveillance — choisissez selon que vous voulez regarder ou non. Plus de capacités desktop : Hermes Desktop Skills Hub et la plongée dans le Bot Mode ; le contrôle du navigateur a aussi fait l’objet d’un résumé dans 4 Hidden Hermes Tricks.
Pour conclure
Ce que le câblage du Preview Pane a réellement changé, c’est ceci : la navigation web pilotée par l’agent est passée d’une boîte noire en arrière-plan à une collaboration visible et interruptible — rapide grâce aux lectures incrémentales, stable grâce à la re-liaison des handles, réelle grâce à de véritables entrées, et digne de confiance grâce à la narration en direct. Installez la build main et laissez Hermes piloter une page devant vous une fois — cette sensation « soyeuse » est une expérience différente de ce qu’elle était avant.