AgentBlue - un agent IA open source qui automatise Android avec des commandes en langage naturel
(github.com/RGLie)Bonjour, j’ai créé un système d’agent mobile appelé AgentBlue.
AgentBlue est un système open source d’automatisation par IA qui, lorsqu’on saisit une commande en langage naturel dans le terminal, laisse un appareil Android explorer les applications, appuyer et saisir du texte de lui-même.
Fonctionnement
Il lit l’arbre UI de l’écran actuel via l’Accessibility Service d’Android, le transmet à un LLM, puis décide de l’action suivante. Cette boucle ReAct (Reasoning + Acting) est répétée jusqu’à ce que la condition de fin soit remplie.
"Recherche de musique lo-fi sur YouTube"
→ analyse de l’UI → décision du LLM → CLICK "YouTube" → TYPE "lo-fi" → CLICK rechercher → DONE
Le CLI et l’application Android communiquent en temps réel en utilisant Firebase Firestore comme serveur relais. L’appairage se fait avec un code de session à 8 chiffres, sans serveur séparé.
Principales fonctionnalités
- Prise en charge de plusieurs LLM — choix entre OpenAI, Google Gemini, Anthropic Claude et DeepSeek
- REPL terminal — démarrage d’une session avec
agentblue start, envoi de commandes en langage naturel - Configuration à distance — modification des paramètres de l’application Android depuis le CLI avec
/settinget/model - Suivi de l’état en temps réel — visualisation de la progression de chaque étape en temps réel dans le terminal
- Garde-fous de sécurité — arrêt automatique avant des actions irréversibles comme la confirmation d’un paiement ou la suppression d’un compte
- Détection et récupération des blocages — en cas d’échecs répétés sur le même écran, injection d’indices ou exécution forcée de BACK
- Utilisation autonome sur l’appareil — saisie directe de commandes sur l’appareil via un bouton flottant, sans CLI
Démarrage rapide
Mode d’emploi
npm install -g @agentblue/cli
agentblue init # configuration Firebase + choix de la langue (serveur partagé fourni par défaut)
agentblue start # génération du code de session → saisie dans l’application Android → connexion établie
L’application Android peut être utilisée immédiatement dès lors que l’Accessibility Service et l’autorisation d’overlay sont activés.
Pourquoi l’avoir créé
La plupart des outils RPA reposent sur des coordonnées d’écran, si bien qu’une seule mise à jour d’application peut casser les scripts. AgentBlue trouve ses cibles à partir de la sémantique de l’UI (texte, contentDescription, resource ID), ce qui le rend bien plus robuste aux changements de layout. Comme le LLM redétermine à chaque étape « quoi faire ensuite », il n’est pas nécessaire d’écrire un scénario à l’avance.
Les retours et contributions sont les bienvenus. En particulier, si vous avez de meilleures stratégies d’analyse d’UI ou des idées pour améliorer la détection des blocages, n’hésitez pas à les partager via une issue, une PR ou un commentaire !
Merci
Aucun commentaire pour le moment.