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 :
| Brique | Cible | Rôle |
|---|---|---|
| AI Assist | Tickets / POS / Devis | Suggestions ponctuelles (prix, lignes de devis, polish/compose message) |
| Playbooks | Tickets complexes | Procédures de diagnostic pas-à-pas (PC bricks, iPhone freeze, etc.) |
| Repair Knowledge | Catalogue interne | Base 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éparationPOST /api/ai/estimate-items— génère lignes devis depuis descriptionPOST /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 occasionPOST /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
- Claude Haiku 4.5 (prioritaire — rapide, peu cher, qualité élevée sur le français)
- GPT-4o-mini (fallback)
- 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éePOST /api/playbooks— créerGET /api/playbooks/:id— détail + étapesPOST /api/playbooks/:id/duplicate— fork pour customisationPOST /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
CLOSEDayantsuccessful: 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 + diagnosticPOST /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 :
- Tourne sur la machine du client (boutique ou domicile)
- Lance des tests automatiques : RAM (memtest86), HDD (S.M.A.R.T.), GPU (FurMark), batterie (cycle count Apple)
- Pousse les résultats batch via
POST /api/diagnostics/sessions/:id/results - 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).