Aller au contenu principal

Diagnostic IA & Playbooks

FixVault embarque une suite de diagnostic IA qui aide le technicien à identifier la panne, suggérer un prix, générer un devis cohérent, et suivre une procédure pas-à-pas pour les pannes complexes.

1. Vue d'ensemble

Trois briques distinctes, complémentaires :

BriqueCibleRôle
AI AssistTickets / POS / DevisSuggestions ponctuelles (prix, lignes de devis, polish/compose message)
PlaybooksTickets complexesProcédures de diagnostic pas-à-pas (PC bricks, iPhone freeze, etc.)
Repair KnowledgeCatalogue interneBase de cas résolus indexée + recherche FTS

2. AI Assist (cascade Claude → GPT → Gemini)

Endpoints publics

  • POST /api/ai/price-estimate — suggestion prix réparation
  • POST /api/ai/estimate-items — génère lignes devis depuis description
  • POST /api/ai/polish-message — reformule un brouillon SMS/email/WhatsApp avec contexte client (assets, tickets précédents, macros)
  • POST /api/ai/compose-message — message from scratch depuis prompt + historique conversation (5 derniers)
  • POST /api/ai/buyback-price-estimate — estimation prix rachat occasion
  • POST /api/ai/price-estimate-ticket — prix ticket intégrant URSSAF / IR / charges fixes (donc prix HT brut conseillé pour atteindre la marge cible)
  • POST /api/ai/generate-device-tests — génération checklist tests fonctionnels par catégorie d'appareil (cache 24 h sur la triplet category + brand + model)

Cascade

  1. Claude Haiku 4.5 (prioritaire — rapide, peu cher, qualité élevée sur le français)
  2. GPT-4o-mini (fallback)
  3. Gemini 2.0 Flash (dernier recours)

Le client ne voit aucun changement — la cascade est transparente. En cas de panne d'un provider, le suivant prend la main automatiquement.

Sécurité

  • Rate limit 30/min global par tenant (10/min sur les endpoints à fort coût comme buyback-price-estimate)
  • Sanitization sanitizeForPrompt() sur tous les champs user-provided (nom client, notes, conversation) — anti prompt-injection
  • Cache Redis 24 h sur les requêtes idempotentes (tests par modèle, estimations rachat)

3. Playbooks

Les Playbooks sont des procédures de diagnostic pas-à-pas, créées par l'utilisateur ou la communauté, pour guider le tech dans une réparation non triviale.

Structure

Playbook: "iPhone 13 ne charge pas"
├─ Étape 1: Test charge filaire avec autre câble
├─ Étape 2: Si KO → vérifier connecteur Lightning (sale ?)
├─ Étape 3: Test charge MagSafe (si compatible)
├─ Étape 4: Mesure tension batterie au multimètre
├─ Étape 5: Diagnostic IC charge (PCB-level)
└─ Conclusion: pièce(s) à commander

Chaque étape peut avoir :

  • Texte explicatif
  • Photo / schéma
  • Lien vers un produit catalogue (l'outil suggéré)
  • Branche conditionnelle (Si OK → étape X, sinon étape Y)

Endpoints

  • GET /api/playbooks — liste publique + privée
  • POST /api/playbooks — créer
  • GET /api/playbooks/:id — détail + étapes
  • POST /api/playbooks/:id/duplicate — fork pour customisation
  • POST /api/playbooks/ai-generate — génère un playbook from scratch via IA depuis "iPhone 13 ne charge pas"

4. Repair Knowledge (corpus indexé)

Base de cas résolus alimentée par :

  • Les commentaires techniciens fermés sur les tickets CLOSED ayant successful: true
  • Import en masse via PDFs (data sheets, manuels)
  • Curation manuelle (l'admin annote les meilleures solutions)

Endpoints

  • GET /api/repair-knowledge?q= — recherche FTS PostgreSQL (français
    • anglais)
  • GET /api/repair-knowledge/:id — détail cas + photos + diagnostic
  • POST /api/repair-knowledge — ajouter un cas (peut être généré automatiquement à la clôture d'un ticket réussi)
  • POST /api/repair-knowledge/auto-index/:ticketId — indexer le ticket sur la base de son diagnostic + résolution

Recherche FTS

Le moteur PostgreSQL pg_trgm + dictionnaire français permet une recherche floue ("iphn ecran nor" → trouve "iPhone écran noir"). La réponse renvoie un score de pertinence + extrait surligné.

5. Diagnostic Agent (.exe externe)

Pour les PC, FixVault expose une API à un agent Windows/Mac/Linux qui :

  1. Tourne sur la machine du client (boutique ou domicile)
  2. Lance des tests automatiques : RAM (memtest86), HDD (S.M.A.R.T.), GPU (FurMark), batterie (cycle count Apple)
  3. Pousse les résultats batch via POST /api/diagnostics/sessions/:id/results
  4. Génère un rapport PDF auto avec verdict

Voir API & Intégrations § 7 pour le workflow complet recommandé.

Catégories de tests

  • boot (chargement OS, BIOS / UEFI)
  • display (écran, résolution, pixels morts)
  • audio (haut-parleurs, micro)
  • connectivity (Wi-Fi, Ethernet, Bluetooth)
  • storage (HDD/SSD health, S.M.A.R.T.)
  • memory (RAM tests)
  • battery (cycle count, capacité résiduelle)
  • peripherals (clavier, souris, webcam, etc.)
  • system (info matérielle, OS)

6. Bonnes pratiques

  • Démarre toujours par un Playbook si la panne n'est pas évidente — c'est plus rapide que l'IA car déterministe
  • N'envoie l'IA que sur le langage naturel (descriptions clients, reformulation messages) — pour les valeurs chiffrées (prix, stock), utilise les routes dédiées (catalogue, inventaire)
  • Documente les cas atypiques dans repair-knowledge dès qu'ils sont résolus — le moteur de recherche aidera la prochaine fois
  • Vérifie la sortie IA avant d'envoyer un message client — l'IA peut inventer des numéros de tickets, dates ou pièces (hallucination)
  • Active le cache sur les endpoints idempotents (déjà fait pour buyback-price-estimate, generate-device-tests)

Pour la liste complète des endpoints AI : voir API & Intégrations § 11 (Printing) (incluant ai-generate-template, ai-refine-template).