Vercel Labs a publié agent-desktop, un outil open source en ligne de commande (CLI) qui permet à des agents d’intelligence artificielle de piloter des applications de bureau sous macOS, Windows et Linux. Dans sa version 1.0.2, diffusée le 30 octobre 2026 sous licence Apache-2.0, il ne s’appuie pas sur des captures d’écran mais sur l’arbre d’accessibilité du système d’exploitation.
Une lecture structurée plutôt que visuelle
L’arbre d’accessibilité est une description structurée des éléments d’une interface, que le système met à disposition des outils d’assistance. agent-desktop transmet à l’agent un instantané au format JSON, dans lequel chaque élément sur lequel il peut agir reçoit une référence, ou ref. Ces références sont qualifiées par l’identifiant de l’instantané, comme dans l’exemple @s8f3k2p9:e8 : une référence incomplète, comme @e8, est refusée avec le code INVALID_ARGS.
Lorsque l’interface change, une action peut renvoyer STALE_REF ou AMBIGUOUS_TARGET, et l’agent doit alors établir un nouvel instantané. Les erreurs indiquent aussi si une nouvelle tentative est sans risque. L’outil se présente comme un composant appelé par l’agent, et non comme un agent : il n’intègre aucun modèle de langage et ne dispose d’aucune interface graphique. Écrit en Rust, il est accompagné d’une bibliothèque C que des programmes en Python, Swift, Go, Ruby ou Node peuvent appeler directement.
Il fonctionne sur macOS 13+, Windows 10 1809+ ou Server 2019+, Ubuntu 24.04+, sur les architectures x64 et ARM64, sans GPU. Sur macOS, l’autorisation d’accessibilité doit être accordée, avec la commande agent-desktop permissions –guide.
Des économies de jetons annoncées par l’éditeur
Pour limiter le volume de données transmises au modèle, l’option –skeleton ne lit que trois niveaux de profondeur. Les conteneurs non ouverts indiquent leur nombre d’enfants et une référence permettant d’explorer une zone précise. Selon son concepteur, la réduction atteint 78 % à 96 % de jetons (unités de texte traitées par les modèles) par rapport à un parcours complet de l’arbre dans Slack, VS Code et Notion. Pour Apple Maps, il rapporte 3 811 jetons par observation, contre 273 avec cette méthode. Sur une tâche simulée de 52 étapes, la consommation passe de 198k à 31k jetons. Ces chiffres sont auto-déclarés et ne proviennent pas d’un benchmark indépendant.
La documentation d’Anthropic indique qu’une capture d’écran utilisée par son outil d’utilisation de l’ordinateur coûte environ 1 000 à 1 800 jetons en entrée, et que sa définition d’outil ajoute environ 4 500 jetons par requête. OpenAI propose de son côté des actions de clic, de saisie et de défilement que le code de l’utilisateur exécute. Microsoft UFO² utilise également UI Automation, mais se présente comme un agent complet pour Windows.
Les actions sur références passent par l’API d’accessibilité sans déplacer le pointeur ni prendre le focus, ce qui permet à l’agent de travailler pendant que l’utilisateur continue d’utiliser sa machine. L’option globale –headed autorise une saisie physique si nécessaire. Chaque action attend par ailleurs jusqu’à 5 000 ms qu’une cible soit visible, active et stable.
Le projet signale plusieurs limites. Une application qui ne publie pas d’arbre d’accessibilité reste inaccessible à l’outil. Une application Chromium ou Electron lancée à froid peut mettre de 10 à 25 secondes à exposer son arbre web. Enfin, les instantanés, les lectures du presse-papiers et les captures peuvent contenir des données privées, que la documentation recommande de tenir à l’écart des journaux publics. Le code est disponible sur le dépôt GitHub du projet. L’installation se fait avec la commande npm install -g agent-desktop, puis les agents découvrent l’outil grâce à agent-desktop skills get desktop.





