Agent Desktop lit l arbre d accessibilite pour qu un agent clique juste

Résumé

Un agent echoue sur un bureau moins parce qu il lit mal l ecran que parce qu il manque le point. Agent Desktop lit l arbre d accessibilite, adresse les elements par reference et laisse souris et clavier tranquilles par defaut.

Recommander
Nom
Agent Desktop
Version
1.0.2
Tarif
Gratuit
Open source
Open source
Système
WindowsmacOSLinux
Mis à jour
2026-11-03 23:00

Demander a un agent de piloter un ordinateur echoue rarement parce qu il ne comprend pas l ecran. Cela echoue parce qu il ne tombe pas sur le bon point. Lire une capture et convertir une forme en coordonnees tient jusqu au jour ou la resolution change, ou la fenetre se deplace, ou le theme bascule, et toutes les coordonnees enregistrees deviennent inutiles. Agent Desktop prend l autre chemin : ne pas regarder les pixels, mais lire la structure que le systeme dit deja aux applications.

La meme interface couvre les trois grands systemes de bureau
La meme interface couvre les trois grands systemes de bureau

Ce qu il lit, c est l arbre d accessibilite

Agent Desktop est un outil open source de conduite du bureau publie par Vercel Labs, livre sous forme d une ligne de commande et d une bibliotheque C, sous licence Apache-2.0. L idee se dit en une phrase : il ne fait pas de capture. Il interroge les interfaces d accessibilite que chaque systeme offre deja aux technologies d assistance pour obtenir la structure courante de l application : quels boutons existent, quels champs prennent du texte, quels elements de liste sont la, et ce que chaque element accepte comme action. Tout ce qu une personne atteint au clavier ou avec un lecteur d ecran est atteignable ici.

Le gain, c est la stabilite. Les elements sont situes par la structure, donc une autre taille de fenetre, un autre facteur d echelle ou un autre jeu de couleurs ne changent rien a l identite de l element. Le prix, c est qu il ne voit que les applications dont la structure est complete. Un programme qui dessine toute son interface lui-meme et n expose aucune information d accessibilite n est pour cet outil qu une page blanche.

Capture, action, nouvelle capture

La boucle a trois temps. Demander une capture, et il revient des donnees structurees ou chaque element actionnable porte un identifiant de reference. Envoyer une action contre l une de ces references : cliquer, saisir, fixer une valeur, cocher, faire defiler. Prendre ensuite une autre capture et verifier ce que l interface a reellement fait. A aucun moment il n est question de cliquer sur des coordonnees, donc il n y a pas non plus de coordonnees a deviner de travers.

Les references sont liees a la capture dont elles viennent, et le dessin est prudent sur ce point. Un identifiant de la capture precedente peut etre perime dans le nouvel etat, et l action renvoie alors clairement une reference expiree ou une cible non unique, au lieu de cliquer n importe ou. Plusieurs fenetres, meme traitement : l outil liste les fenetres candidates et attend qu on en designe une.

Dans la demonstration l agent lit l interface tout en travaillant sur des fichiers
Dans la demonstration l agent lit l interface tout en travaillant sur des fichiers

Par defaut il ne prend ni la souris ni le clavier

Ce detail merite sa propre partie. Le mode par defaut est sans tete : les actions sortent par les interfaces d accessibilite, le pointeur ne bouge pas et la fenetre n est pas ramenee au premier plan. Une personne peut donc continuer a travailler sur la meme machine pendant qu un agent pilote une application en arriere-plan. Simuler une entree physique reste possible, mais il faut basculer un interrupteur de facon explicite, et c est seulement la que le pointeur se deplace et que des frappes sont injectees.

Chaque appel de la ligne de commande tourne en outre dans son propre processus. Rien ne reste resident, aucun service d arriere-plan ne s installe, le processus se termine avec le travail. Pour le schema que cela rend possible, un orchestrateur exterieur qui decoupe une tache en etapes et rappelle l outil, cette forme sans etat est plus simple a brancher qu un service permanent.

Trois systemes, trois assises

macOS, Windows et Linux sont pris en charge, chacun pose sur une interface differente en dessous. macOS passe par le canal d accessibilite du systeme, et le premier lancement demande d accorder la permission a la main. Windows traite les applications ordinaires sans autorisation supplementaire tant que le terminal tourne au meme niveau d integrite. Linux depend de la session graphique et du bus d accessibilite, et X11 et Wayland ne couvrent pas exactement le meme terrain. Les capacites divergent aussi : lire les notifications marche sur les trois, alors que des zones comme la barre d etat et les icones de la barre de menus sont couvertes a des degres divers.

La couverture des commandes est large : soixante noms au total, dont cinquante-six s executent directement. Les quatre autres maintiennent une touche ou un bouton de souris enfonce et ne passent qu une fois que le service d arriere-plan peut garantir le relachement. Capture, recherche, lecture de valeur et copie d ecran relevent de l observation ; clic, saisie, reglage, case a cocher et defilement de l action ; la gestion des fenetres, le presse-papiers, les notifications, l attente et le traitement par lots viennent a cote.

Le format de sortie est fait pour des programmes

Chaque commande n emet qu une charge de forme uniforme. Le succes porte le resultat, l echec porte un code d erreur, une conduite a tenir et une suggestion. Un champ dit precisement si cet echec peut etre retente sans risque, et c est la que l appelant decide de reessayer, de viser une autre cible ou de s arreter pour rendre compte. Pour qui ecrit de l automatisation, cette convention est la partie utile : elle transforme la question de ce qu il faut faire apres un echec en un champ a lire.

La meme interface existe aussi en bibliotheque C, avec des bibliotheques dynamiques par systeme, donc un programme peut l appeler dans son propre processus au lieu de lancer un sous-processus par action. Le projet fournit en plus une documentation ecrite pour les agents, afin qu un agent apprenne la boucle tout seul.

A qui cela s adresse

Ce n est pas un logiciel pour le grand public. Il n y a pas d interface, et pas de bouton qui fait tout. Il vise ceux qui doivent inscrire des operations de bureau dans un flux automatise : traiter par lots un client qui n accepte que des clics a la main, ajouter une entree programmable a un outil interne, ou faire parcourir une vraie interface a un agent dans un environnement de test. Si le but est seulement qu un assistant range quelques fichiers, c est trop bas dans la pile. Si le besoin est une automatisation de bureau reproductible, verifiable et diagnosticable en cas d echec, c est exactement cette couche.

Le projet a publie la version 1.0.2 fin octobre, avec des paquets natifs pour x64 et ARM64. Projet open source experimental de Vercel Labs, ses interfaces peuvent encore bouger, mais la direction est nette : faire de la question de savoir si un agent peut piloter un bureau un probleme deterministe d interface structuree, et non plus un probleme probabiliste de reconnaissance d image.

Agent DesktopTéléchargement
Systèmes pris en charge : Windows macOS Linux