Dans notre précédent article, nous avons exploré les fondamentaux de n8n, un outil open-source puissant pour automatiser vos workflows, avec des focus sur son installation en auto-hébergement, sa sécurisation et ses intégrations variées (IA, domotique, etc.).
Aujourd’hui, nous allons pousser cette exploration plus loin en vous guidant pas à pas pour créer un assistant conversationnel personnel, entièrement auto-hébergé et personnalisable, en exploitant les capacités de n8n.
Cet article s’inscrit comme une suite logique à l’article de base sur n8n. Il s’adresse principalement à ceux qui ont déjà une instance n8n fonctionnelle et souhaitent aller au-delà des automatisations simples.
Si vous débutez avec n8n, nous vous conseillons de commencer par les bases pour bien comprendre les prérequis.
Objectif : un assistant sur mesure et sécurisé
L’objectif ici est de concevoir un assistant conversationnel qui répond à vos commandes, qu’elles soient vocales ou textuelles, tout en restant sous votre contrôle total grâce à l’auto-hébergement.
Cet assistant peut interagir avec vos services personnels (domotique via Home Assistant, fichiers sur Nextcloud, emails, etc.), offrant une alternative privée et flexible aux solutions commerciales comme Alexa ou Google Assistant.
Nous allons voir comment intégrer des outils comme Whisper pour la reconnaissance vocale et LM Studio pour une IA locale, tout en nous appuyant sur les workflows de n8n.
Prérequis : partez d’une base solide
Avant de plonger dans la création de l’assistant, assurez-vous d’avoir :
-
Une instance n8n installée et sécurisée (voir la section installation)
-
Une compréhension des workflows n8n (nœuds, triggers, actions), comme expliqué dans les exemples de base
-
Un serveur ou un Raspberry Pi avec au moins 4 Go de RAM (8-16 Go recommandés si vous utilisez une IA locale)
Si votre installation n8n n’est pas encore en place, suivez les étapes Docker décrites dans l’article initial.
Étape 1 : Intégrer la reconnaissance vocale avec Whisper
Pour que votre assistant réagisse à des commandes vocales, nous allons utiliser Whisper, un modèle open-source de reconnaissance vocale qui fonctionne localement, garantissant la confidentialité de vos données.
1.1 Installation de Whisper
Sur votre serveur (Ubuntu/Debian par exemple) :
Testez-le avec un fichier audio :
Le modèle small
est adapté aux appareils avec 4 Go de RAM (ex. : Raspberry Pi). Pour plus de précision, optez pour medium
avec 8 Go ou plus.
Si vous avez un GPU NVIDIA, Whisper sera bien plus rapide.
1.2 Relier Whisper à n8n
Créez un script Python pour transcrire l’audio et envoyer le texte à un webhook n8n :
Configurez un webhook dans n8n (voir la section webhooks) et remplacez votre-webhook-id
par l’ID généré.
Étape 2 : Ajouter des commandes textuelles via Telegram
Pour les entrées textuelles, nous allons réutiliser l’intégration Telegram déjà abordée dans l’article de base :
-
Créez un bot avec @BotFather sur Telegram pour obtenir un token
-
Récupérez votre chat ID avec la commande
/getid
-
Ajoutez un nœud Telegram Trigger dans n8n avec votre token et configurez un préfixe (ex. :
/jarvis
)
Cela permet d’envoyer des commandes depuis votre téléphone ou ordinateur, en complément des entrées vocales.
Étape 3 : Donner une intelligence à votre assistant
Votre assistant a besoin d’une IA pour interpréter les commandes. Deux options s’offrent à vous : une IA locale avec LM Studio ou une API cloud comme OpenAI.
3.1 IA locale avec LM Studio
-
Installez LM Studio (disponible sur lmstudio.ai)
-
Téléchargez un modèle léger comme Mistral 7B
-
Activez l’API REST (par défaut :
http://localhost:1234/v1/chat/completions
)
Ajoutez un nœud HTTP Request dans n8n :
3.2 API cloud avec OpenAI
Si vous préférez une IA plus puissante, utilisez OpenAI, comme détaillé dans l’intégration correspondante. Sécurisez votre clé API via les credentials n8n.
Conseil : Choisissez LM Studio pour la confidentialité, OpenAI pour des réponses plus sophistiquées.
Étape 4 : Connecter vos services personnels
L’atout de cet assistant réside dans sa capacité à interagir avec vos outils.
4.1 Domotique avec Home Assistant
Commande : « Allume la lumière du salon. »
Action : Utilisez un nœud HTTP Request vers l’API Home Assistant (détails dans l’exemple domotique)
4.2 Gestion de fichiers avec Nextcloud
Commande : « Ajoute ‘pain’ à ma liste de courses. »
Action : Nœud WebDAV pour modifier un fichier sur Nextcloud
4.3 Lecture d’emails
Commande : « Résume mon dernier email. »
Action : Nœud IMAP Trigger pour récupérer l’email, puis envoi à l’IA pour un résumé
Utilisez des nœuds IF pour diriger les commandes vers les bonnes actions en fonction des mots-clés.
Exemple de workflow complet
Voici un workflow type dans n8n :
-
Entrée : « Éteins les lumières » (via voix ou Telegram)
-
Transcription (si vocal) : Whisper envoie le texte au webhook
-
Traitement : L’IA identifie la commande
-
Action : Appel à Home Assistant pour éteindre les lumières
-
Réponse : Confirmation via Telegram (« Lumières éteintes »)
Pour plus de détails sur la création de workflows, consultez la section dédiée.
Étape 5 : Réponses vocales ou textuelles
Voix
Utilisez Coqui TTS pour générer une réponse naturelle :
Texte
Renvoyez la réponse via Telegram ou une notification.
Sécurité et robustesse
Puisque votre assistant manipule des données sensibles, renforcez sa sécurité avec :
-
HTTPS et authentification (voir la section sécurité)
-
Webhooks sécurisés avec des tokens uniques
-
Gestion d’erreurs via des nœuds Try/Catch pour éviter les interruptions
Conclusion
En combinant n8n avec des outils comme Whisper et LM Studio, vous obtenez un assistant conversationnel puissant, privé et adapté à vos besoins.
Ce projet illustre parfaitement comment les bases de n8n peuvent être étendues pour des applications avancées.
À vous maintenant de personnaliser cet assistant ou d’explorer d’autres idées avec n8n !