L'ESSENTIEL EN 30 SECONDES
- agent-desktop lit l'arbre d'accessibilité du système et renvoie les éléments d'interface en JSON, avec des références liées à un instantané que l'agent peut cliquer, remplir ou lire.
- Écrit en Rust, sous licence Apache-2.0, l'outil s'installe via npm et fonctionne sous macOS, Windows et Linux ; une bibliothèque C permet de l'appeler directement depuis un programme.
- Le projet prévient que instantanés, captures et traces peuvent contenir des données privées ; un testeur conseille de l'essayer dans une machine virtuelle.
Vercel Labs a mis en ligne agent-desktop, un outil open source qui permet aux agents d'IA de manipuler un ordinateur de bureau. Plutôt que de demander à un modèle d'interpréter des captures d'écran et de deviner où cliquer, il s'appuie sur l'arbre d'accessibilité que macOS, Windows et Linux exposent déjà pour les technologies d'assistance, et transmet à l'agent une description structurée de chaque fenêtre. Selon le développeur Flavio Copes, le projet a été présenté par Chris Tate le 31 octobre, et la version 1.0.2 est celle actuellement publiée sur npm.
Fonctionnement
Il s'agit d'un programme en ligne de commande écrit en Rust, distribué sous licence Apache-2.0. Il s'installe avec npm install -g agent-desktop et inclut des binaires natifs pour x64 et ARM64. Une boucle type compte trois étapes : prendre un instantané d'une application, agir sur un élément, puis reprendre un instantané pour vérifier le résultat. Les éléments interactifs, comme les boutons, champs de texte ou entrées de menu, reçoivent des références rattachées à un instantané précis ; si l'interface a changé, l'outil renvoie une erreur comme STALE_REF au lieu d'agir sur le mauvais élément.
Par défaut, les actions passent par l'API d'accessibilité sans déplacer le pointeur ni prendre le focus ; l'option --headed active les saisies physiques. Le README recense 60 commandes, dont 56 opérationnelles à ce stade, et chacune renvoie une enveloppe JSON indiquant si une nouvelle tentative est sans risque. Pour éviter de relancer la ligne de commande à chaque appel, chaque version fournit aussi une bibliothèque à interface C, utilisable depuis Python, Go ou Swift, entre autres.
Les prérequis varient selon le système. macOS exige l'autorisation Accessibilité, Windows ne demande rien de plus pour les applications de même niveau de privilège, et Linux nécessite un bus d'accessibilité dans une session graphique, Wayland restreignant la saisie et le contrôle des fenêtres.
Limites et précautions
La documentation souligne que les instantanés, la lecture du presse-papiers, les captures et les traces de session peuvent contenir des informations privées affichées à l'écran, et qu'une capture expurgée n'est pas pour autant publiable. La ligne de commande elle-même ne requiert aucun service de modèle distant, mais un module facultatif envoie des descriptions de l'écran à un fournisseur configuré.
Flavio Copes, qui ne l'a testé que sous Ubuntu, relève qu'aucun serveur MCP dédié aux agents de code n'est proposé : l'intégration passe par un fichier de compétence ou des consignes dans un fichier AGENTS.md. Il note aussi que la documentation n'aborde pas l'injection de requêtes via du texte affiché à l'écran, qu'une valeur de champ vérifiée ne prouve pas qu'un fichier a été enregistré, et recommande de l'utiliser dans une machine virtuelle avec des comptes de test. Les paquets Homebrew et Scoop sont encore en attente.
