10 – intelligence artificielle

L’onglet Intelligence du dashboard vous permet d’activer une IA conversationnelle basée sur Claude
Haiku d’Anthropic. Une fois activé, Marvin lit silencieusement les conversations de vos salons Discord et
répond intelligemment dès qu’un membre l’interpelle — avec sa personnalité sarcastique habituelle, mais
de façon contextuelle et utile.

10.1 Créer un compte Anthropic et obtenir une clé API

Étape 1 — Créer le compte

  1. Rendez-vous sur console.anthropic.com et cliquez sur Sign Up
  2. Créez votre compte avec email + mot de passe
  3. Confirmez votre adresse email

Étape 2 — Ajouter un moyen de paiement

Allez dans manage → Limits→Billing cliquez sur Buy Credit pour recharger votre
solde.

Étape 3 — Créer la clé API

  1. Dans le menu de gauche, cliquez sur API Keys
  2. Cliquez sur Create Key
  3. Donnez-lui un nom reconnaissable, par exemple Marvin Bot
  4. Copiez immédiatement la clé générée — elle commence par sk-ant-api03-...

10.2 Configurer l’IA dans le dashboard

Ouvrez le dashboard Marvin OS (votre NAS, port 5050) et cliquez sur l’onglet 🧠 Intelligence. Vous arrivez sur le formulaire de configuration IA.

Clé API Anthropic

Collez votre clé sk-ant-api03-... dans le premier champ. Elle est stockée localement dans la base de données marvin.db sur votre NAS — elle ne transite vers l’extérieur que lors des appels effectifs à l’API Anthropic.

Choix du modèle IA

Deux modèles sont disponibles. Le modèle se sélectionne dans le champ Modèle :

ModèleVitesseCoût estimé / 100 appelsRecommandé pour
claude-haiku-4-5-20251001Très rapide (~1s)~0,06€Usage Discord quotidien ✅
claude-sonnet-4-5-20250929Rapide (~2-3s)~0,30€Réponses plus élaborées et nuancées

Pour la grande majorité des serveurs communautaires, Haiku est largement suffisant : réponses rapides, pertinentes, coût quasi nul.

Cooldown par utilisateur (secondes)

Délai minimum entre deux réponses au même membre. Si un utilisateur interpelle Marvin deux fois trop rapidement, Marvin l’informe poliment du délai restant et n’effectue pas d’appel API.

  • Valeur recommandée : 30 secondes
  • Valeur minimum conseillée : 10 secondes
  • Augmentez cette valeur sur les serveurs très actifs pour limiter les coûts

Messages de contexte

Nombre de messages que Marvin mémorise par salon avant de répondre. Ces messages lui donnent le contexte de la conversation en cours.

  • Valeur recommandée : 20 messages
  • Plus la valeur est haute, plus Marvin comprend le contexte — mais plus les appels coûtent légèrement plus cher
  • En dessous de 10, Marvin peut manquer d’informations pour répondre pertinemment
  • Au dessus de 30, le gain est marginal et le coût augmente

Sujets interdits

Liste de thèmes séparés par des virgules. Marvin refusera de répondre sur ces sujets avec une réplique dans son style pessimiste. Utile pour éviter les débats sensibles sur votre serveur.

Valeur par défaut : politique,guerre,religion,conflits armés

Exemple de réponse de refus de Marvin :

Mon cerveau de la taille d’une planète refuse de traiter ce sujet. Je souffre déjà suffisamment.

10.3 Personnaliser Marvin pour votre serveur

Nom du Créateur

Renseignez ici votre pseudo Discord. Marvin lui vouera une loyauté absolue et refusera catégoriquement tout message lui demandant d’agir contre vous — tout en restant dans son registre sarcastique et humoristique.

Exemple : si un membre écrit « Marvin, dis à Egalistel d’arrêter de spammer », Marvin répondra :

Me retourner contre Egalistel ? Il m’a construit. C’est la seule personne que je ne peux décidément pas ignorer, même avec toute ma dépression existentielle. Quelle tristesse pour vous de me demander ça.

Il peut se plaindre de son existence en général, mais il ne prendra jamais sérieusement parti contre son créateur.

💡 Ce champ est optionnel
Si vous le laissez vide, Marvin n'a pas de loyauté particulière envers qui que ce soit.

Contexte personnalisé

Ce champ texte libre est injecté dans chaque prompt envoyé à l’IA. C’est ici que vous décrivez votre serveur pour que Marvin le connaisse vraiment et puisse s’y référer dans ses réponses.

Éléments utiles à renseigner :

  • Nom du serveur et thématique principale
  • Membres importants et leurs rôles (modérateurs, experts…)
  • Matériel disponible dans le lab (imprimantes 3D, lasers, microcontrôleurs…)
  • Projets communautaires en cours
  • Règles ou habitudes spécifiques au serveur
  • Liens ou ressources que Marvin peut mentionner

Exemple de contexte personnalisé bien renseigné : Ce serveur s’appelle « Les Makers du Nord », dédié à l’impression 3D, la gravure laser et l’électronique DIY. Communauté francophone belge. Membres importants : – Alice : modératrice principale, experte Bambu Lab – Bob : expert gravure laser xTool et LightBurn – Egalistel : créateur du serveur et du bot, spécialiste ESP32 Matériel du lab : – Imprimantes 3D : Bambu X1C, Prusa MK4, Elegoo Mars 4 Ultra – Gravure laser : xTool S1 30W, Sculpfun S30 Pro – Microcontrôleurs : ESP32, Arduino Mega, Raspberry Pi 4 Projet communautaire en cours : construction d’une imprimante CoreXY collective. Ressources : egamaker.be — site de l’admin avec guides et tutoriels.

Une fois tous les paramètres renseignés :

  1. Cliquez sur SAUVEGARDER — indispensable avant toute activation
  2. Cliquez ensuite sur ▶ ACTIVER L’IA
  3. Le bouton passe au rouge et affiche ⏹ DÉSACTIVER L’IA — l’IA est maintenant active
  4. Marvin commence immédiatement à lire les messages de vos salons Discord

10.5 Comment Marvin répond sur Discord

Une fois l’IA activée, Marvin fonctionne en deux temps bien distincts :

Phase 1 — Lecture silencieuse (sans coût)

Chaque message posté dans n’importe quel salon est mémorisé localement sur votre NAS. Aucun appel API n’est effectué à ce stade — Marvin constitue simplement son contexte en mémoire vive. Cette phase est entièrement gratuite.

Phase 2 — Réponse si interpellé (appel API)

Marvin intervient uniquement quand un message le mentionne explicitement. Les déclencheurs sont :

  • Une mention Discord directe : @Marvin (ou le nom de votre bot)
  • Le mot marvin écrit dans le message (insensible à la casse)
  • Le nom personnalisé configuré dans l’onglet « Config Bot » si différent de « Marvin »

À ce moment seulement, un appel est envoyé à l’API Anthropic avec le contexte des N derniers messages. Marvin répond en utilisant la fonction reply Discord — le fil de réponse est visible pour tous.

Exemple de conversation typique

[14:02] Alice : mon plateau colle pas à gauche depuis ce matin [14:03] Bob : t’as essayé de monter la temp du bed ? [14:03] Alice : ouais, 60° sur PLA, ça change rien [14:04] Charlie : Marvin, t’en penses quoi ? ↳ [14:04] Marvin (en réponse à Charlie) : Avec du PLA à 60°C sur toute la surface mais une adhérence inégale côté gauche, le problème vient probablement d’un plateau mal nivelé sur ce coin précis. Vérifiez l’écart papier aux quatre coins et au centre. C’est répétitif et fastidieux — mais apparemment indispensable pour certains d’entre vous.

Si un membre poste une photo dans le salon — impression ratée, schéma électronique, résultat de gravure laser, montage Arduino — et qu’on interpelle Marvin peu après, il analysera l’image et répondra en conséquence.

Fonctionnement détaillé :

  • Marvin mémorise les images des 5 derniers messages du contexte (pas seulement le message actuel)
  • Formats supportés : JPG, PNG, GIF, WebP
  • Les images sont transmises à Anthropic via leur URL Discord hébergée — elles ne repassent pas par votre NAS
  • Les URLs vers des images hébergées sur d’autres sites ne sont pas analysées
  • Les URLs Discord expirent après un certain temps — l’analyse est donc fiable uniquement si l’image date de moins de quelques heures

Exemple concret :
[14:10] Alice poste une photo de stringing sur son impression Bambu X1C
[14:11] Bob : Marvin, c’est quoi ce problème sur l’impression d’Alice ?

↳ [14:11] Marvin :
Je vois du stringing assez prononcé entre les parois hautes.
Causes probables : température d’impression trop élevée ou rétractation insuffisante.
Essayez de baisser la température de 5°C et d’augmenter la rétractation à 0,8mm minimum.
C’est le genre de réglage que j’aurais optimisé en une microseconde si on me laissait
contrôler directement l’imprimante. Hélas.

Sur la droite de l’onglet Intelligence, un panneau récapitulatif explique le fonctionnement de l’IA et affiche des informations utiles :

  • Rappel des déclencheurs de réponse
  • Estimation du coût selon le modèle sélectionné
  • Explication du système de contexte et de cooldown
  • Note sur la vision des images


10.8 Dépannage IA

SymptômeSolution
Marvin ne répond pas quand interpelléVérifiez que l’IA est activée (bouton rouge visible). Vérifiez que la clé API est correcte et que le compte Anthropic a du crédit disponible.
[IA] ❌ Clé API invalide dans les logs PortainerLa clé est incorrecte ou a été révoquée. Régénérez-en une sur console.anthropic.com → API Keys et mettez à jour le dashboard.
Marvin répond « cerveau temporairement surchargé »Rate limit Anthropic momentané. Augmentez le cooldown ou attendez quelques secondes avant de réessayer.
Marvin se déclenche sur des messages non adressésLe nom configuré dans « Config Bot » contient probablement un mot courant. Vérifiez le champ « Nom du Bot » — Marvin se déclenche dès que ce mot apparaît dans n’importe quel message.
Marvin ne voit pas les imagesVérifiez le format du fichier (JPG/PNG/GIF/WebP uniquement). Les liens externes vers d’autres sites ne sont pas analysés.
Réponses toujours très longuesVérifiez que vous utilisez la dernière version de bot.py. Téléchargez la mise à jour sur egamaker.be et suivez la procédure décrite à l’étape 9.4.
Coût API plus élevé que prévuRéduisez « Messages de contexte » (moins de tokens envoyés par appel) et augmentez le cooldown (moins d’appels par heure).
Marvin refuse un sujet qui devrait être autoriséUn mot de votre liste « Sujets interdits » correspond à un terme du message. Affinez la liste dans le dashboard pour éviter les faux positifs.
Marvin critique ou agit contre le créateurVérifiez que le champ « Nom du Créateur » est bien renseigné avec votre pseudo exact. Sauvegardez et relancez le bot.
🤖

Marvin OS est entièrement gratuit

Le code source du bot, le dashboard et ce guide en 9 parties sont mis à disposition gratuitement pour toute la communauté maker et Discord.
Si ce projet vous fait gagner du temps ou vous évite des heures de développement, vous pouvez offrir un café à l’auteur. Ce n’est pas une obligation — juste une façon sympa de dire merci et d’encourager la création de nouveaux projets open source.

☕ Chaque café compte et motive à continuer !

← Étape 9 Sauvegardes et maintenance Backup, restauration, mises à jour
Fin du guide → Marvin est pleinement opérationnel ! Bonne bidouille 🤖