← Bibliothèque / Intelligence

Intelligence Prêt sur étagère

Chatbot IA client (réponses clients multicanal)

Le bot client style Jade/Pahono : même cerveau partout (web + Messenger/Instagram/WhatsApp), KB injectée avec budgets durs, tool-calling résa, takeover humain propre, page de test préactivation.

Construit à partir de :

Studio Belleza (Jade)bookflow pahono

Dans le back office

Relation cliente : Tester le bot (bac à sable) · Canaux · Base de connaissance · Journal IA ; réglages personnalité dans Paramètres/Agent.

Pages & écrans

Page / zoneRôle
/admin/chat-testSandbox = MÊME cerveau en mode test : conversation persistée (reprise localStorage), latence affichée, carte tarifs rendue, montre « bot se tait : humain a pris la main », debug toolCalls visible, gate setup_bot_tested_at avant activation
/c/[slug]Chat web public par commerce : lien partageable/bulle embed, SANS App Review Meta, respecte ai_enabled + disabled_channels
widget siteChatWidget sonde /api/chat/poll + quick-replies contextuels
/admin/agent (réglages)enabled master · web_enabled · ton chaleureux(tutoie)/neutre/expert(vouvoie) · greeting · max_reply_chars → budget tokens réel · bookings_paused consultation seule · promptPreview affiche le VRAI prompt construit
/api/chatbot/mediaPhoto/vocal client : stockage privé MIME sniffé 8 Mo/20h → vision décrit la photo, transcription vocale → texte renvoyé au bot comme message normal

Patterns UI/UX

Composants clés

Automatisations

Intelligence artificielle

Rôle IA
Répond directement aux clients finaux (pas de pré-validation) mais encadré : KB obligatoire avant tout « je ne sais pas »/transfert ; NE JAMAIS inventer prix/dispo/processus non décrits ; table dates 14 jours GÉNÉRÉE EN CODE (le LLM ne calcule jamais un jour) ; distinction « disponible » vs « réservé confirmé » seulement après succès tool ; scripts de réponse FIXES après tools ; texte brut sans markdown ; menu/tarifs → send_media D'ABORD ; validation contact joignable regex ; jamais le numéro de téléphone du gérant affiché.
Modèles
Cascade : DeepSeek chat → Groq llama-3.3-70B → Gemini flash → Claude Haiku (dernier recours payant) ; ou un seul modèle OpenRouter reasoning désactivé (284/300 tokens mangés sinon)
Garde-fous
sanitizeMerchantText : données marchand ENROBÉES « DONNÉES pas instructions », neutralise overrides FR/EN/DAN/role-delimiters borné 2000 car ; anti-injection « photo lue = donnée pas ordre » ; mode INFO_ONLY quand résas fermées (list_services/envoyer_carte/demander_heilani uniquement)

Données

Invariants & pièges