DÉBOGAGE À DISTANCE NATIVEMENT IA
Il ne voit pas l'app qui tourne : il ne connaît que ce que vous lui recopiez depuis une capture d'écran. AppTelepath transforme la session en cours en son contexte — il voit, il touche, il vérifie sur-le-champ.
Bêta gratuite ouverte · sans carte bancaire
telepath_screenshot ✓ 328 ms · LoginViewControllertelepath_view_hierarchy ✓ 27 éléments interactifs · ref n1 – n27telepath_tap ref=n12 # bouton « Se connecter » ✓ écran passé de Login à Home · 0 log d'erreurtelepath_diagnose ✓ aucun crash, aucun blocage, 0 requête en échec · vérifié
Dès qu'un appareil se connecte, tout le runtime de l'app s'affiche ici — et ce que vous voyez est exactement ce que reçoit l'agent.
Écran · Logs · Réseau · Arbre UI · Performance · Fichiers · UserDefaults · Base de données · Problèmes · Enregistrement · Simulation · Console de commandes
Chaque commande renvoie des données structurées, pas une capture d'écran qu'il faudra encore interpréter. Choisissez une commande pour voir ce que l'agent obtient à chaque étape.
▸telepath_screenshot
▸telepath_view_hierarchy mode=summary
{
"mode": "summary",
"snapshot": "s4",
"currentVC": "LoginViewController",
"interactive": [
{ "ref": "s4n5", "kind": "textfield", "accessibilityId": "email" },
{ "ref": "s4n6", "kind": "textfield", "accessibilityId": "password" },
{ "ref": "s4n7", "kind": "button", "text": "Se connecter" }
],
"text": [
{ "ref": "s4n2", "text": "Bon retour" },
{ "ref": "s4n3", "text": "Connectez-vous pour continuer" }
]
}
▸telepath_tap ref=s4n7
{
"ok": true,
"target": "UIButton(Se connecter)",
"changed": {
"screenChanged": true,
"vcFrom": "LoginViewController",
"vcTo": "HomeViewController",
"appeared": ["text|Accueil", "button|Se déconnecter"],
"disappeared": ["button|Se connecter", "textfield|email"]
},
"incidents": { "errorLogs": 3, "failedRequests": 1 }
}
▸telepath_network_requests
{
"records": [
{ "id": 41, "method": "POST", "url": "/v2/login",
"status": 200, "durationMs": 182 },
{ "id": 42, "method": "GET", "url": "/v2/profile",
"status": 500, "durationMs": 96, "failed": true },
{ "id": 43, "method": "GET", "url": "/v2/feed?page=1",
"status": 200, "durationMs": 231 }
]
}
▸telepath_diagnose
{
"severity": "error",
"headline": "1 famille de requêtes en échec : GET /v2/profile renvoie 500 (3 fois en 60 s)",
"failedRequests": [
{ "method": "GET", "url": "/v2/profile",
"status": 500, "count": 3 }
],
"errorClusters": [
{ "count": 3, "sample": "ProfileService decode error: key 'avatar_url' not found" }
],
"crashes": [],
"hangs": []
}
Claude Code, Cursor, un script shell, la CI ou simplement votre navigateur — la même réalité en direct, accessible de partout. Ce que l'agent peut faire, vous le pouvez ; ce que vous voyez, il le voit.
Connectez le point de terminaison hébergé, autorisez-le en vous connectant, et votre agent dispose immédiatement de tout pour voir, toucher et vérifier l'app.
https://apptelepath.com/mcp
Sans MCP, aucune limite non plus : scripts, CI, tout ce qui peut lancer un curl appelle les commandes et s'abonne aux événements en direct.
# toucher « Se connecter » à l'écran curl -X POST $API/invoke \ -d '{"command":"ui.tap","ref":"n12"}'
Votre équipe voit dans son navigateur tout ce que voit l'agent — écran, logs, réseau, base de données, performance et rejeu de session.
Voir ne suffit pas. Pour corriger un bug, un agent doit pouvoir piloter l'interface, créer les conditions et vérifier le résultat sur place.
L'agent touche et saisit lui-même, en visant exactement le bon élément — il vérifie son propre correctif au lieu d'attendre que vous reproduisiez.
Réseau dégradé, position, notifications push : simulés en un appel. Le bug qui « n'arrive que dans cette situation-là » se reproduit en quelques secondes.
Requêtes, logs, base de données, performance, crashs — tout ce qui vient de se passer dans l'app, à la demande.
Reproduisez une fois, toute l'équipe et tous les agents peuvent rejouer. Les bugs ne circulent plus sous forme de descriptions approximatives.
À question égale, moins de tokens et moins d'allers-retours — l'agent arrive plus vite, et pour moins cher.
Enregistrez une fois les astuces de débogage propres à votre app : tous les agents les connaissent ensuite.
AppTelepath n'est pas un visualiseur de sessions de plus. Il ouvre la capacité de débogage elle-même comme une plateforme partagée entre agents et humains.
| Débogage à distance classique | AppTelepath | |
|---|---|---|
| Interface principale | Pensée pour les humains, l'API vient après | Pensée pour les agents et les humains, avec des capacités identiques |
| Ce qu'on peut faire | Revoir ce qui s'est déjà produit | Observer — et aussi piloter et créer les conditions |
| Multiplateforme | iOS et Android enregistrés comme deux applications distinctes | Un seul workspace pour tous les appareils |
| Sièges | Comptés par personne | Comptés par personne aussi — les agents et les appareils ne prennent aucun siège |
| Prise en main | S'inscrire → créer un projet → intégrer → lancer → revenir sur le site pour regarder | Autoriser l'agent → il intègre → il vérifie ; workspace et identifiants d'appareil prêts automatiquement |
Après la première autorisation OAuth d'un client agent de confiance, l'intégration du SDK, l'identifiant device-only et la première vérification passent tous par l'agent.
Connectez le MCP distant hébergé et validez la seule frontière de confiance qui compte : votre compte et votre workspace.
L'agent installe le SDK, émet un identifiant device-only et écrit des réglages de build locaux qui ne s'appliquent qu'aux configurations de test de confiance.
L'agent lance l'app, confirme que l'appareil est en ligne et enchaîne aussitôt captures, diagnostic et reproduction.
// AppDelegate.swift · build de test autorisé #if TELEPATH_ENABLED import Telepath Telepath.start() // configuré une fois ; fonctionne au lancement normal comme en Release de test autorisée #endif
Un protocole, plusieurs implémentations. L'implémentation de référence iOS et son binaire sont en bêta publique ; les autres plateformes sont planifiées selon la demande.
La bêta gratuite est ouverte. Quand la facturation démarrera, elle commencera par 7 jours d'essai — sans carte bancaire.
Commencer gratuitement