# agent-desktop : piloter le bureau avec un agent IA

> agent-desktop est un outil open source en ligne de commande qui laisse un agent IA lire et piloter les applis de bureau sur macOS, Windows et Linux.

- Type : projet open source
- Famille : Agents IA · Pilote de bureau IA
- Habitat : Terminal · Rust · npm
- Niveau : intermédiaire
- Langage : Rust
- Licence : Apache-2.0
- Étoiles GitHub : 16008 (relevé le 5 novembre 2026)
- Source : https://github.com/vercel-labs/agent-desktop
- Publié le : 5 novembre 2026
- Page : https://geekus.fr/projets/agent-desktop/

agent-desktop est un outil en ligne de commande et une bibliothèque C, publiés par Vercel Labs, qui permettent à un agent IA de lire et d'utiliser les applications de ton bureau. Il passe par l'arbre d'accessibilité du système, sans reconnaissance de pixels. Il fonctionne sur macOS, Windows et Linux, et s'installe avec npm.

## En bref

- Un agent IA lit et actionne les applis de bureau via l'arbre d'accessibilité
- Chaque élément actionnable reçoit une référence dans un snapshot JSON
- 56 commandes opérationnelles, sur macOS, Windows et Linux
- Aucun modèle d'IA à l'intérieur : la boucle reste dans ton agent
- Licence Apache-2.0, installation par npm install -g agent-desktop

## Qu'est-ce qu'agent-desktop ?

Pour qu'un agent IA utilise un ordinateur (ce qu'on appelle le « computer use »), il doit voir l'interface et pouvoir agir dessus. agent-desktop répond à ce besoin en lisant l'**arbre d'accessibilité** des applications : la description que le système tient de chaque bouton, champ ou menu.

L'outil ne contient aucun modèle d'IA. C'est l'agent qui l'appelle qui mène la boucle : observer, agir, puis vérifier. La FAQ du projet précise aussi qu'il n'automatise pas les pages web, et renvoie pour cela vers un autre outil, agent-browser.

## Comment fonctionne agent-desktop

La commande `snapshot` lit l'arbre d'accessibilité d'une appli et l'affiche en JSON. Chaque élément sur lequel l'agent peut agir reçoit une **référence** (un « ref »), par exemple `@s8f3k2p9:e8`. L'agent agit sur cette référence, puis prend un nouveau snapshot pour constater le résultat.

Une référence appartient à son snapshot : une forme nue comme `@e8` est rejetée avec l'erreur `INVALID_ARGS`. Si l'interface change, l'action renvoie `STALE_REF` ou `AMBIGUOUS_TARGET`, et il faut reprendre un snapshot. Chaque commande affiche une seule enveloppe JSON, avec `ok` et soit `data`, soit `error`.

Par défaut, les actions sur une référence passent par l'API d'accessibilité sans déplacer le pointeur ni prendre le focus. L'option globale `--headed` autorise l'entrée physique.

## Ce que sait faire agent-desktop

Le README compte 60 noms de commandes, dont 56 opérationnelles. Quatre commandes (`key-down`, `key-up`, `mouse-down`, `mouse-up`) refusent de s'exécuter tant qu'un démon ne peut pas relâcher une touche ou un bouton maintenu.

Pour les applis denses, le projet conseille de cartographier d'abord avec `snapshot --skeleton`, puis d'explorer une seule zone avec `snapshot --root`.

- Observer : snapshot, recherche d'éléments, captures d'écran
- Agir sur une référence : clic, saisie, case à cocher, défilement, sélection
- Clavier et souris : touches, survol, glisser-déposer
- Applis et fenêtres : lancer, fermer, déplacer, redimensionner
- Notifications et presse-papiers : lister, fermer, lire, écrire

## Installer agent-desktop

Le paquet npm demande Node 18 ou plus récent et embarque les exécutables natifs pour macOS, Windows et Linux, en x64 et ARM64. Bun, Yarn et pnpm installent le même paquet.

Sur macOS et Linux, la documentation indique aussi `brew install agent-desktop`. Il n'existe pas encore de paquet Scoop officiel. Les archives de chaque version sont disponibles sur GitHub Releases, et la compilation depuis les sources demande la chaîne d'outils Rust.

```bash
npm install -g agent-desktop
agent-desktop version
```

## Premier essai et permissions

L'exemple du README observe le Finder de macOS, agit sur une référence, puis observe à nouveau. Tout nom renvoyé par `agent-desktop list-apps` convient.

Les permissions varient. Sur macOS, il faut accorder l'accès Accessibilité (`agent-desktop permissions --guide` ouvre un guide), et les captures d'écran demandent aussi l'enregistrement de l'écran. Windows n'exige aucune autorisation pour les applis au même niveau d'intégrité que le terminal. Linux demande la session graphique de l'utilisateur avec `at-spi2-core`, et Ubuntu 24.04 ou plus récent.

```bash
agent-desktop snapshot --app Finder -i
agent-desktop click @s8f3k2p9:e8
agent-desktop snapshot --app Finder -i
```

## Où en est le projet

Le dépôt a été créé le 19 février 2026. Au relevé du 5 novembre 2026, il compte 15 846 étoiles, 1 104 forks, 9 contributeurs et 166 tickets et demandes de fusion ouverts. La dernière version, v1.2.0, date du même jour.

Elle ajoute une commande `agent-desktop mcp` et l'entrée par stdin pour les commandes de texte. La v1.1.0, publiée le 3 novembre 2026, avait introduit l'option `type --interval-ms` pour saisir à rythme régulier, ainsi que des améliorations de la superposition du curseur sur macOS et Windows.

## Ce qu'il faut savoir avant de se lancer

Une appli qui ne publie pas d'arbre d'accessibilité reste invisible pour agent-desktop. Les snapshots, le presse-papiers, les captures et les notifications peuvent contenir des données privées : le projet recommande de les garder hors des journaux et des dépôts publics. Un assistant optionnel, JEV, envoie en revanche des descriptions d'écran au fournisseur de modèle que tu configures.

Sous Windows, le binaire n'est pas signé : SmartScreen ou un antivirus peuvent réagir, et Smart App Control le bloque sur une installation neuve de Windows 11. Le projet est sous licence Apache-2.0.

## Quelques repères

- **Arbre d'accessibilité** : Description structurée de l'interface d'une application, que le système d'exploitation expose notamment aux lecteurs d'écran. Elle liste les éléments (boutons, champs, menus) avec leur rôle et leur nom.
- **JSON** : Format de texte qui organise des données en paires nom-valeur et en listes. Il se lit facilement par un humain comme par un programme.
- **Ligne de commande** : Mode d'utilisation d'un logiciel où l'on tape des instructions dans un terminal plutôt que de cliquer dans une fenêtre.

## Questions fréquentes

### agent-desktop fonctionne-t-il sur Windows et Linux ?

Oui, agent-desktop fonctionne sur macOS, Windows et Linux. Sous Linux, la documentation demande Ubuntu 24.04 ou plus récent et la session graphique de l'utilisateur avec at-spi2-core.

### agent-desktop utilise-t-il la reconnaissance d'image ?

Non. Les commandes qui prennent une référence trouvent l'élément dans l'arbre d'accessibilité, pas en comparant des pixels. En contrepartie, une appli qui ne publie aucun arbre d'accessibilité n'est pas visible.

### agent-desktop est-il gratuit et open source ?

Oui, agent-desktop est sous licence Apache-2.0. Le projet ne mentionne aucun prix.

### Comment installer agent-desktop ?

Avec npm : npm install -g agent-desktop, puis agent-desktop version pour vérifier. Node 18 ou plus récent est requis, et Homebrew est une alternative sur macOS et Linux.

## À retenir

agent-desktop donne à un agent IA une façon structurée de lire et d'actionner les applis de bureau, sans passer par l'image de l'écran. Il ne voit que les applications qui publient un arbre d'accessibilité, et ses captures peuvent contenir des données privées.

Sources :

- [vercel-labs](https://github.com/vercel-labs/agent-desktop) (README)
- [docs/install.md](https://github.com/vercel-labs/agent-desktop/blob/HEAD/docs/install.md) (documentation officielle)
- [docs/faq.md](https://github.com/vercel-labs/agent-desktop/blob/HEAD/docs/faq.md) (documentation officielle)
- [GitHub](https://github.com/vercel-labs/agent-desktop/releases) (notes de version)

Mots-clés : agents ia, computer use, accessibilité, cli, rust, automatisation

---

Fiche publiée par Geekus : https://geekus.fr/projets/agent-desktop/
