# Applications compagnons ## Que sont les applications compagnons ? Les applications compagnons sont des applications natives pour iOS, Android et macOS qui se connectent à votre Gateway en tant que **nœuds**. Les nœuds exposent les capacités des appareils, caméra, canvas, enregistrement d'écran, localisation, voix et exécution système, à vos agents. Pensez-y ainsi : le Gateway est le cerveau, et les applications compagnons sont les mains et les yeux sur vos appareils. ## Fonctionnement des nœuds 1. **Connexion**, L'application compagnon se connecte à votre Gateway via WebSocket 2. **Couplage**, Les nouveaux appareils passent par un processus d'approbation de couplage 3. **Enregistrement des capacités**, L'application indique au Gateway ce qu'elle peut faire (caméra, canvas, localisation, etc.) 4. **Invocation par les agents**, Pendant les conversations, les agents peuvent demander au nœud de prendre une photo, enregistrer l'écran, rendre un canvas, et plus encore Les nœuds ne sont **pas des gateways**, ils n'exécutent pas leur propre IA. Ce sont des appareils périphériques qui étendent ce que vos agents peuvent faire. ## Application compagnon macOS L'application macOS vit dans votre barre de menus et sert à la fois de nœud compagnon et de gestionnaire de gateway. ### Capacités - **Canvas**, Rendu de contenu web interactif dans une fenêtre native - **Caméra**, Prendre des photos et des clips vidéo (avant/arrière) - **Enregistrement d'écran**, Enregistrement plein écran ou par application - **Exécution système**, Exécuter des commandes shell sur le Mac (contrôlé par des approbations d'exécution) - **Notifications**, Envoyer des notifications macOS natives avec des options de priorité - **Localisation**, GPS lorsque disponible ### Fonctionnalités supplémentaires - **Gestion du Gateway**, Démarrer, arrêter et surveiller le Gateway - **Propriété des permissions**, Gère les permissions macOS TCC (Notifications, Accessibilité, Enregistrement d'écran, Microphone, Reconnaissance vocale, AppleScript) - **Liens profonds**, Schéma d'URL `neotask://` pour lancer des agents avec des paramètres - **Installation CLI**, Installe l'outil en ligne de commande `neotask` ## Application iOS L'application iOS se connecte en tant que nœud à votre Gateway, apportant des capacités mobiles à vos agents. ### Capacités - **Canvas**, Rendu de contenu interactif basé sur SwiftUI - **Caméra**, Photos et clips vidéo (caméras avant/arrière) - **Enregistrement audio**, Capture par microphone - **Localisation**, GPS avec sélection de précision - **Notifications**, Notifications push iOS natives ### Fonctionnalités - **Découverte**, Trouve votre Gateway via Bonjour (LAN), Tailscale (VPN) ou saisie manuelle - **Couplage**, Couplage sécurisé avec approbation du Gateway - **Réveil vocal**, Activation par mot de réveil pour une interaction mains libres - **Mode conversation**, Conversation vocale continue - **Extension de partage**, Partager du contenu depuis d'autres applications directement vers votre agent - **A2UI**, Rendu d'interface utilisateur piloté par l'agent sur le canvas de l'appareil ### Limitations - Conception axée sur le premier plan (iOS suspend les connexions WebSocket en arrière-plan) - Restrictions strictes des commandes en arrière-plan - Actuellement en aperçu interne ## Application Android L'application Android se connecte en tant que nœud avec des capacités similaires à iOS. ### Capacités - **Canvas**, Rendu d'interface utilisateur basé sur Jetpack Compose - **Caméra**, Photos et vidéos (avant/arrière, contrôlé par les permissions) - **Enregistrement d'écran**, Capture d'écran système (Android 10+) - **Localisation**, GPS avec modes de précision - **Envoi de SMS**, Sur les appareils avec support téléphonie - **Chat et historique**, Voir l'historique de conversation sur l'appareil ### Fonctionnalités - **Service de premier plan**, La notification persistante maintient la connexion active - **Sessions partagées**, Même session sur tous les nœuds connectés - **Android moderne**, Nécessite Android 12+ (API 31) ## Hôte de nœud sans interface Exécutez un nœud sans aucune interface utilisateur, idéal pour les serveurs de build, les machines distantes ou les machines Linux headless. ### Capacités - **Exécution système**, Exécuter des commandes sur l'hôte du nœud - **Liste d'autorisation de commandes**, Configurer quelles commandes le nœud peut exécuter - **Service persistant**, Installer en tant que service launchd/systemd ### Cas d'utilisation - Agents de build CI/CD, Laissez votre agent IA déclencher des builds sur un serveur distant - Automatisation de lab maison, Exécuter des commandes sur un Raspberry Pi ou un serveur domestique - Orchestration multi-machines, Coordonner des tâches sur plusieurs machines ## Couplage des appareils ### Flux de couplage 1. L'application compagnon présente son identité d'appareil (empreinte + clé publique) 2. Le Gateway émet une demande d'approbation de couplage 3. Vous approuvez l'appareil via l'application de bureau ou le tableau de bord 4. Le Gateway émet un jeton d'appareil pour les connexions futures ### Modèle de confiance - Les **appareils locaux** (boucle locale) sont approuvés automatiquement pour plus de commodité - Les **appareils non locaux** nécessitent une approbation explicite - Les jetons d'appareil sont stockés localement et réutilisés lors de la reconnexion ## Approbations d'exécution Pour les nœuds qui peuvent exécuter des commandes système (macOS, hôtes headless), les approbations d'exécution contrôlent ce qui est autorisé : - **Mode liste d'autorisation**, Seules les commandes préapprouvées peuvent s'exécuter - **Mode demande**, Les commandes inconnues vous demandent votre approbation - **Mode complet**, Aucune restriction (utiliser avec précaution) Configurez des listes d'autorisation par nœud pour contrôler précisément ce que chaque appareil peut faire.