Qu’est-ce que agent-device ?
agent-device donne à un agent de code des mains et des yeux sur une application en cours d'exécution. L'agent prend un instantané de l'arbre d'accessibilité de l'application, reçoit de courtes références comme @e2 pour chaque bouton et champ, puis tape, remplit, fait défiler et vérifie à partir d'elles, en se rabattant sur des captures d'écran et des coordonnées quand les données d'accessibilité d'une application sont pauvres. Il couvre les simulateurs, émulateurs et appareils physiques iOS et Android, HarmonyOS, tvOS, Android TV, Fire TV, Amazon Vega OS, le web, macOS et Linux, avec une profondeur variable selon la cible.
Le même runtime est exposé de trois façons : une CLI, un serveur MCP en stdio lancé avec agent-device mcp, et un client Node.js typé. Les exécutions peuvent être enregistrées en scripts .ad, rejouées en CI et exportées en YAML Maestro, et les sessions sont liées au worktree git de l'appelant pour que des agents en parallèle ne s'arrachent pas les simulateurs. Les appareils hébergés sur BrowserStack, AWS Device Farm, TestMu AI et Limrun utilisent les mêmes commandes.
Il est développé par Callstack, la société de conseil React Native, sous licence MIT. Le dépôt a été créé en janvier 2026 ; la v0.21.36 est sortie le 2 novembre 2026.
agent-device vaut-il le coup ?
agent-device referme la boucle que les agents de code laissent ouverte sur mobile : ils savent écrire un écran mais ne peuvent pas le voir. Il le fait comme agent-browser de Vercel pour le web, en donnant à l'agent un instantané d'accessibilité compact avec des références stables plutôt qu'en demandant à un modèle de raisonner sur des captures d'écran. Chaque étape reste ainsi peu coûteuse en tokens et assez déterministe pour être enregistrée, et l'outil lui-même ne contient aucun modèle.
Ce qui le distingue des nombreux petits serveurs MCP mobiles, c'est la plomberie autour de l'instantané. Les sessions sont limitées à un worktree git et les appareils sont réservés par hôte, si bien que deux agents dans deux worktrees ne se disputent pas un simulateur, et agent-device device release --stale libère les réservations dont le propriétaire a disparu. Une exécution que l'agent a mise au point une fois peut être enregistrée en script .ad et rejouée en CI ou exportée vers Maestro. Le retour d'expérience d'Expensify montre le résultat : un skill interne lit les étapes de reproduction d'un bug, les met au point une fois, puis rejoue le script pour enregistrer des vidéos avant et après sur chaque plateforme pour la pull request, un travail que l'équipe estimait à cinq minutes par plateforme à la main sur des centaines de tickets.
Le modèle de sécurité est documenté avec soin. Le démon n'écoute que sur 127.0.0.1 sur des ports éphémères, chaque requête exige un jeton frais de 24 octets conservé dans un fichier 0600, et le serveur MCP n'expose jamais de shell général. La documentation est tout aussi claire sur les risques : l'outil peut piloter chaque appareil et chaque application de bureau que votre compte utilisateur peut atteindre, les captures d'écran, logs et captures réseau peuvent contenir des identifiants, et le texte saisi peut fuiter dans les logs XCTest sur iOS. Les liens vers les artefacts cloud doivent être traités comme des secrets.
Le prix à payer est l'étendue et l'instabilité. 108 issues et pull requests ouvertes, un numéro de version 0.x et des versions fréquentes signifient que les commandes bougent encore, et la prise en charge s'amincit sur HarmonyOS et Vega OS, qui ne couvrent qu'une partie des commandes. MCP n'a pas non plus certains workflows de la CLI, dont la connexion aux clouds d'appareils et la configuration web, et la documentation recommande toujours la CLI pour les exécutions longues ou manuelles dans Claude Code. Pour une suite de régression stable, Callstack renvoie lui-même vers un framework de test classique ; agent-device sert aux vérifications exploratoires qu'un agent fait en travaillant, et qu'il vous permet ensuite de garder.
Là où il fait la différence
Un développeur React Native dans une équipe produit de 10 personnes qui utilise Claude Code
Faire construire un écran par l'agent et lui faire prouver qu'il fonctionne sur les deux plateformes
Installez la CLI, lancez agent-device doctor, puis demandez à l'agent d'implémenter l'écran, de l'ouvrir sur le simulateur iOS et l'émulateur Android et de joindre des captures. Gratuit ; la première exécution iOS est plus lente pendant la compilation du runner Apple.
Un responsable QA dans une entreprise qui a des centaines de bugs mobiles ouverts, comme Expensify
Joindre des enregistrements avant et après à chaque pull request de correction
Un agent parcourt une fois les étapes de reproduction, les enregistre en script .ad et le rejoue sur chaque plateforme pour enregistrer des MP4, ce qui remplace selon l'estimation d'Expensify environ cinq minutes de capture manuelle par plateforme.
Un ingénieur plateforme qui lance des vérifications mobiles en CI sur des runners Linux
Rejouer sur de vrais appareils les parcours enregistrés par les agents, sans laboratoire d'appareils
Définissez les identifiants BrowserStack, AWS Device Farm ou Limrun comme secrets de CI et lancez les scripts enregistrés sur des appareils hébergés ; le fournisseur facture le temps d'appareil, et les liens d'artefacts doivent être traités comme des secrets.
Avant de vous engager
- Mise en route
- npm install -g agent-device@latest sur Node.js 22.12 ou plus récent (24 pour le web), puis agent-device doctor. iOS exige Xcode, Android le SDK et ADB ; les appareils iOS physiques exigent le mode développeur et un runner signé. Ajoutez le serveur MCP avec la commande agent-device et l'argument mcp.
- Intégrations
- CLI, serveur MCP en stdio qui reflète les commandes installées plus un outil d'aide, et un client Node.js typé avec des guides pour AI SDK et Eve. Clouds d'appareils : BrowserStack, AWS Device Farm et Limrun intégrés, TestMu AI et Revyl en plugins. Exporte en YAML Maestro ; un modèle de workflow EAS couvre la CI Expo.
- Données et confidentialité
- Tourne en local ; le démon écoute sur 127.0.0.1 avec un jeton de 24 octets par démarrage. Le seul appel sortant par défaut est une vérification de mise à jour npm, désactivée avec AGENT_DEVICE_NO_UPDATE_NOTIFIER=1. Captures d'écran, logs et captures réseau peuvent contenir des secrets ; les fournisseurs cloud conservent leurs propres artefacts.
- Coût à grande échelle
- L'outil est gratuit ; l'usage local ne coûte qu'un Mac pour iOS. Les appareils hébergés sont facturés par BrowserStack, AWS Device Farm, TestMu AI ou Limrun à leurs propres tarifs, que la documentation n'indique pas ; Callstack propose des services de QA pour les équipes sur contact, prix non publié.
- Limites
- Les sessions distantes exigent un nom de session ; seul Limrun prend en charge le port reverse et les captures réseau en direct ; Limrun et Revyl ne conservent aucun artefact après fermeture ; MCP ne peut pas connecter ni déconnecter les fournisseurs cloud.
Les points forts
- Instantanés d'accessibilité avec références au lieu de raisonner sur des captures
- Sessions par worktree : des agents en parallèle ne partagent pas un simulateur
- Enregistrer une fois en script .ad, rejouer en CI ou exporter vers Maestro
- Démon limité au loopback avec jetons par démarrage ; pas de shell via MCP
Les points faibles
- Versions 0.x avec 108 issues et pull requests ouvertes
- HarmonyOS et Vega OS ne couvrent qu'une partie des commandes
- Certains workflows, dont la connexion au cloud, réservés à la CLI
- Des libellés d'accessibilité faibles dans une application rendent les exécutions plus fragiles
Idéal pour
Équipes mobiles et React Native qui veulent que leurs agents de code vérifient leurs propres modifications sur des simulateurs, des appareils ou un cloud d'appareils et joignent les preuves aux pull requests.
agent-device : questions fréquentes
- agent-device vaut-il le coup ?
- Si vos agents écrivent du code mobile, agent-device est le moyen pour eux de vérifier qu'il tourne, et il a déjà la gestion des appareils et le rejeu en CI qui manquent aux serveurs MCP mobiles ponctuels. Nous lui donnons 4.3 sur 5.
- Combien coûte agent-device ?
- Gratuit sous licence MIT ; les clouds d'appareils sont facturés par leurs fournisseurs, et Callstack vend des services de QA pour les équipes sur demande.
- Quels sont les inconvénients de agent-device ?
- Versions 0.x avec 108 issues et pull requests ouvertes; harmonyOS et Vega OS ne couvrent qu'une partie des commandes; certains workflows, dont la connexion au cloud, réservés à la CLI; des libellés d'accessibilité faibles dans une application rendent les exécutions plus fragiles.
- À qui s’adresse agent-device ?
- Équipes mobiles et React Native qui veulent que leurs agents de code vérifient leurs propres modifications sur des simulateurs, des appareils ou un cloud d'appareils et joignent les preuves aux pull requests.
- Combien coûte agent-device pour une équipe ou en production ?
- L'outil est gratuit ; l'usage local ne coûte qu'un Mac pour iOS. Les appareils hébergés sont facturés par BrowserStack, AWS Device Farm, TestMu AI ou Limrun à leurs propres tarifs, que la documentation n'indique pas ; Callstack propose des services de QA pour les équipes sur contact, prix non publié.
- agent-device est-il sûr pour les données de l’entreprise ?
- Tourne en local ; le démon écoute sur 127.0.0.1 avec un jeton de 24 octets par démarrage. Le seul appel sortant par défaut est une vérification de mise à jour npm, désactivée avec AGENT_DEVICE_NO_UPDATE_NOTIFIER=1. Captures d'écran, logs et captures réseau peuvent contenir des secrets ; les fournisseurs cloud conservent leurs propres artefacts.
Réponses vérifiées le 5 nov. 2026.
