NAiOSOmni
omnichatv0.8.1Connectez WhatsApp et Telegram à NAiOS. Tableau de bord avec KPI et graphiques, boîte de réception unifiée, réponse automatique IA avec outils, agents verticaux, mode simulation de démo et multi-tenant.
Description
OmniChat transforme n'importe quel canal de messagerie en interface vers NAiOS. Liez WhatsApp Personal (Baileys, via QR), WhatsApp Business Platform officiel (Meta Cloud API) ou un bot Telegram. Inclus : tableau de bord avec KPI calculés automatiquement et graphiques (courbe, anneau, carte de chaleur), boîte de réception unifiée en temps réel (SSE), réponse automatique IA avec appels d'outils, 14 outils (générer et modifier des images, transcrire des audios, envoyer des e-mails, interroger la base de connaissances, créer des présentations, landing pages et formulaires, enregistrer des commandes structurées...), 5 modes de canal (fermé, liste blanche, liste noire, client, passerelle d'acquisition), mode SIMULATION pour les démos où le client choisit l'agent à tester, commandes depuis la conversation avec soi-même (/on, /off, /pause, /ai), auto-liaison via /claim pour que vos clients inscrits utilisent leur propre contexte NAiOS, onboarding par passerelle avec connexion par lien magique, AGENTS VERTICAUX : bots spécialisés (commandes à domicile, prospects immobiliers, réservations de restaurant, etc.) avec prompt, variables métier et schéma JSON de capture, générés par un assistant IA, avec CRM intégré, récupération automatique du worker après perte de session et reconnexion sans nouvelle liaison lorsque les identifiants sont toujours valides.
Fonctionnalités (26)
Liez votre numéro comme appareil via QR ou code. Prend en charge les groupes. Processus worker isolé.
Connexion officielle avec Meta Cloud API. Aucun risque de bannissement, modèles de messages, webhooks avec vérification HMAC.
Bot officiel via Bot API. Jeton fourni par @BotFather, sans risque, gratuit. Prend en charge les groupes et les médias.
Liste des conversations + fil + zone de rédaction. Notifications SSE, affichage visuel des médias (images, audios, vidéos).
Boucle d'appels d'outils : 12 outils prêts à l'emploi (générer et modifier des images, audios, base de connaissances, e-mail, présentations...).
Indicateur de saisie proportionnel à la longueur du message, délai aléatoire, temps de pause après une réponse manuelle du propriétaire.
Fermé, liste blanche, liste noire, client, passerelle. Configurable visuellement.
Transformez votre canal en tunnel de conversion : tout inconnu invité à créer gratuitement un compte NAiOS grâce à un lien magique.
Les utilisateurs inscrits peuvent lier leur WhatsApp avec /claim e-mail + /code. Le bot utilise SON prompt et SES jetons.
Exceptions par interlocuteur : forcer activation/désactivation, prompt personnalisé, pause, le tout depuis l'interface.
Éditeur visuel par jour avec plages horaires, mode absence avec message personnalisé.
Quotas messages/minute/heure/jour, détection automatique des rafales, protection contre les bannissements.
/on /off /pause /status /test /prompt /ai /help depuis votre propre conversation avec vous-même.
6 modèles : restaurant, support, immobilier, salon, ventes B2B, assistant personnel.
Point d'accès avec totaux et statistiques par canal, erreurs, messages/jour, sessions actives.
Créez des bots spécialisés (commandes, prospects, réservations) en décrivant votre besoin en langage naturel : l'IA génère le prompt, les champs et l'e-mail.
Les commandes sont enregistrées en base de données avec JSON Schema. Vue CRM avec filtres, statuts, modification, notes, export CSV.
Alerte par e-mail + WhatsApp sur le téléphone lié à l'arrivée d'une nouvelle commande. Confirmation automatique au client.
Chaque nouvel enregistrement déclenche un POST signé en HMAC-SHA256 vers votre URL externe (Zapier, Make, n8n, CRM). Nouvelles tentatives à intervalles exponentiels + journal des livraisons.
4 colonnes (nouveau / contacté / terminé / archivé) avec glisser-déposer entre les statuts. Bascule tableau/Kanban mémorisée.
Diagramme interactif généré par IA à partir du prompt : visualise les tours de parole, décisions, outils et champs capturés. Zoom/déplacement + export SVG.
Onglet principal avec KPI, graphiques (Chart.js : courbe/anneau/barres + carte de chaleur D3), activité récente unifiée et contrôle de santé avec actions.
Accueil avec KPI calculés automatiquement (messages, commandes, conversion, jetons) + courbe 30 jours entrants/sortants + anneau des statuts + carte de chaleur heure×jour + meilleurs canaux/agents + alertes de santé.
Place un canal en mode démo : le client choisit parmi les agents que vous activez. 5 textes modifiables, commandes /exit /cambiar /menu /help, enregistrements marqués par le drapeau is_simulation.
Après une perte de session WhatsApp Web (fermeture côté serveur, limite de 4 appareils, redémarrage du serveur), le worker redémarre seul en réutilisant l'auth_blob enregistré. Bouton « Reconnecter » explicite si la reprise automatique échoue.
Sélecteur de contacts intégré : agenda synchronisé (wa-personal) ou interlocuteurs déjà vus. Depuis la boîte, vous choisissez d'abord le canal puis le contact, et vous arrivez sur un fil vide prêt à écrire.
Changelog
- Points d'intégration (seams) pour d'autres modules (contrat avec Campagnes) : listChannelsFor(userId) renvoie les canaux de l'utilisateur (propres + partagés avec permission reply) avec kind/label/phone/connected ; sendFor(userId, { channelId, to, text?, template?, meta? }) envoie via un canal de l'utilisateur en normalisant le destinataire vers le pair propre à chaque driver (téléphone → JID en wa-personal, chiffres en wa-cloud, chat_id@telegram) et renvoie { ok, messageId, channelKind } ou { ok:false, error: bad_args|no_channel|not_connected|forbidden|needs_template|transport }. Ces méthodes ne lancent jamais d'exception.
- wa-cloud : l'erreur 131047 (hors fenêtre de 24 h) est signalée comme needs_template ; avec template { name, language, params[] }, le modèle Meta est envoyé.
- L'envoi manuel depuis la boîte et sendFor partagent le même chemin interne (_dispatchOutgoing + _attributeOutgoing) : enregistrement dans la conversation et attribution sent_by_user_id identiques ; sendFor ajoute en plus une entrée dans le journal du canal (catégorie send) avec le module d'origine.
- Nouveau test tests/omnichat/test-send-seam.js (driver simulé).