Intermédiaire 12 minInterfaces

SillyTavern : l'interface de personnages pour LLM local

SillyTavern est une interface web pensée pour le jeu de rôle et l'écriture interactive avec un LLM. Elle ne fait pas tourner de modèle elle-même : elle se branche sur un backend local comme KoboldCpp ou Ollama et ajoute par-dessus tout ce qui manque au chat classique — cartes de personnages, mémoire de monde persistante, gestion fine du prompt et extensions. Ce guide couvre l'installation, la connexion à votre backend, la création de personnages et les réglages qui font la différence en interprétation.

Par Léa B.·Màj 2026-08-08·Testé sur Windows, macOS, Linux

#Pourquoi SillyTavern plutôt qu'un chat classique

Une interface comme Open WebUI ou LM Studio traite chaque conversation comme un échange assistant/utilisateur. SillyTavern part d'un autre besoin : incarner un personnage cohérent sur des centaines de messages, dans un univers qui se souvient de ses propres règles. C'est l'outil de référence de la communauté du jeu de rôle avec LLM local, et il apporte des mécaniques que le chat brut n'a pas.

Cartes de personnages
Un format standardisé (PNG avec métadonnées embarquées) qui décrit persona, style, exemples de dialogue et message d'accueil. Importable et partageable en un fichier.
Mémoire de monde
Le lorebook injecte des informations dans le prompt seulement quand un mot-clé apparaît, ce qui garde un univers cohérent sans saturer le contexte.
Contrôle du prompt
Vous voyez et modifiez chaque brique envoyée au modèle : system prompt, format d'instruction, ordre d'injection. Rien n'est caché.
Backend au choix
SillyTavern est un front-end pur. Le même personnage tourne sur KoboldCpp, Ollama, llama.cpp ou une API distante sans rien réécrire.
i
SillyTavern ne remplace pas votre serveur d'inférence
C'est une couche d'interface. Il vous faut toujours un backend qui charge le modèle et fait tourner la génération. SillyTavern se contente d'orchestrer le prompt et d'afficher le résultat.

#Prérequis et choix du backend

SillyTavern tourne sur Node.js (version 18 ou supérieure) sous Windows, macOS et Linux. Léger côté ressources — c'est le backend qui consomme la VRAM. Deux backends locaux couvrent la quasi-totalité des usages : KoboldCpp, orienté GGUF et jeu de rôle, et Ollama, plus généraliste.

KoboldCpp
Binaire unique qui exécute des GGUF avec une API que SillyTavern connaît nativement. Réglages mémoire fins, support AMD ROCm. Le choix par défaut de la communauté RP.
Ollama
Le daemon écoute sur http://localhost:11434. Pratique si vous l'utilisez déjà pour autre chose ; SillyTavern s'y connecte via son endpoint compatible.
llama.cpp (llama-server)
Serveur HTTP OpenAI-compatible pour un contrôle maximal de l'offloading des layers.
VRAM
En Q4_K_M : un 7B tient dans ~5 Go, un 14B dans ~9 Go, un 32B dans ~19 Go. Pour du RP fluide, visez un 12-14B minimum si votre carte le permet.
Contexte long = plus de VRAM
Le jeu de rôle vit sur des contextes longs (8k, 16k, 32k tokens). Le KV cache grossit avec le contexte et mange de la VRAM en plus des poids. Prévoyez de la marge, ou quantifiez le KV cache pour tenir un contexte plus large sur la même carte.

#Installer SillyTavern

La méthode recommandée est le clone Git : elle rend les mises à jour triviales (un git pull) et SillyTavern évolue vite. Assurez-vous d'avoir Node.js 18+ et Git installés.

  1. 01
    Cloner le dépôt
    Récupérez la branche release, stable et testée. Évitez la branche staging sauf si vous voulez les nouveautés en avant-première au prix de quelques bugs.
  2. 02
    Lancer le script de démarrage
    start.sh sous Linux/macOS, Start.bat sous Windows. Au premier lancement, npm installe les dépendances automatiquement.
  3. 03
    Ouvrir l'interface
    SillyTavern sert son interface sur http://localhost:8000. Ouvrez cette adresse dans votre navigateur ; aucune application desktop à installer.
  4. 04
    Mettre à jour plus tard
    Un git pull dans le dossier, puis relancez le script. Vos personnages et conversations sont stockés à part dans data/ et ne sont pas écrasés.
Terminal (Linux/macOS)
# Cloner la branche stable
git clone https://github.com/SillyTavern/SillyTavern -b release
cd SillyTavern

# Premier lancement : installe les dépendances puis démarre
./start.sh

# Interface accessible sur http://localhost:8000
PowerShell (Windows)
git clone https://github.com/SillyTavern/SillyTavern -b release
cd SillyTavern

# Double-cliquez Start.bat, ou en ligne de commande :
.\Start.bat
i
Accès réseau et sécurité
Par défaut SillyTavern n'écoute que sur localhost. Si vous voulez y accéder depuis un autre appareil du réseau, activez listen dans config.yaml et configurez une authentification (basic auth). N'exposez jamais l'interface directement sur Internet sans protection.

#Brancher le backend local

Une fois SillyTavern ouvert, tout se passe dans l'onglet de connexion API (l'icône en forme de prise en haut). Le principe : lancer le backend d'un côté, indiquer son adresse à SillyTavern de l'autre.

#Avec KoboldCpp

Démarrez KoboldCpp avec votre modèle GGUF ; il expose son API sur le port 5001 par défaut. Dans SillyTavern, choisissez le type d'API « Text Completion », puis le backend « KoboldCpp », et renseignez l'URL. Cliquez sur Connect : le nom du modèle chargé s'affiche si tout est bon.

Terminal
# Lancer KoboldCpp avec un modèle et 8k de contexte
./koboldcpp --model mon-modele-rp.Q4_K_M.gguf --contextsize 8192

# API disponible sur http://localhost:5001
# Dans SillyTavern : API = Text Completion > KoboldCpp
# URL = http://localhost:5001

#Avec Ollama

Ollama tourne déjà en daemon sur le port 11434. Dans SillyTavern, sélectionnez « Text Completion » puis le backend « Ollama », entrez l'adresse et choisissez le modèle dans la liste déroulante récupérée automatiquement.

Terminal
# Vérifier qu'Ollama tourne et lister les modèles
ollama list

# Le daemon écoute sur http://localhost:11434
# Dans SillyTavern : API = Text Completion > Ollama
# URL = http://localhost:11434
!
Le bon template d'instruction est décisif
Chaque famille de modèle attend un format précis (ChatML, Llama 3, Mistral, Alpaca…). Si les réponses sont incohérentes, coupées ou pleines de balises visibles, c'est presque toujours un template mal choisi. Réglez-le dans l'onglet Advanced Formatting pour qu'il corresponde au modèle chargé.

#Créer et importer des cartes de personnages

La carte de personnage est le cœur de SillyTavern. C'est un fichier PNG dont l'image sert d'avatar et dont les métadonnées embarquées décrivent le personnage. Vous pouvez en créer un de zéro ou importer une carte partagée par la communauté.

#Les champs qui comptent

Description
Le socle du personnage : apparence, traits, historique. C'est injecté en permanence dans le contexte, donc restez dense et concret plutôt que verbeux.
Personality
Un résumé du tempérament. Utile pour orienter le ton sans réécrire toute la description.
First message
Le message d'accueil qui plante la scène. Il donne le ton, le style d'écriture et le format attendus — le modèle a tendance à imiter sa forme.
Example dialogues
Des exemples de répliques qui montrent au modèle comment le personnage parle. Très efficace pour verrouiller une voix particulière.
Scenario
Le contexte de la scène, séparé de la description du personnage. Pratique pour réutiliser un même personnage dans plusieurs situations.
  1. 01
    Ouvrir le panneau des personnages
    L'icône de personnage dans la barre du haut ouvre la liste. Le bouton « + » crée une carte vierge.
  2. 02
    Remplir la description
    Décrivez le personnage de façon dense. Beaucoup d'auteurs utilisent un format structuré (listes de traits) plutôt qu'un paragraphe, ce que les modèles suivent bien.
  3. 03
    Écrire le premier message
    Soignez-le : c'est votre meilleur levier de style. Un message d'accueil narratif à la troisième personne pousse le modèle vers ce format.
  4. 04
    Importer une carte existante
    Glissez un PNG de carte dans la liste, ou importez-le. Les cartes se partagent sous forme de simples fichiers image sur les hubs communautaires.
Le budget de tokens du personnage
Tout ce que contient la carte occupe de la place dans le contexte à chaque message. Une description de 2000 tokens sur un contexte de 8k, c'est un quart du budget consommé avant même l'historique. Soyez concis : la qualité prime sur la longueur.

#Le monde persistant : le lorebook

Le lorebook (ou World Info) résout le problème central des longues parties : comment garder un univers cohérent sans tout injecter en permanence. Le principe est l'injection conditionnelle par mots-clés.

Vous créez des entrées, chacune associée à un ou plusieurs mots-clés. Quand un de ces mots apparaît dans les messages récents, l'entrée correspondante est injectée dans le contexte juste avant la génération. Le reste du temps, elle n'occupe aucune place. Vous pouvez ainsi décrire des dizaines de lieux, personnages secondaires et règles sans jamais saturer le prompt.

Entrée
Un bloc de texte (le lore à injecter) et ses mots-clés déclencheurs. Exemple : mot-clé « Valmont » → description de la cité de Valmont.
Constant vs sélectif
Une entrée peut être toujours active (règles fondamentales de l'univers) ou déclenchée seulement par mot-clé (détails contextuels).
Profondeur d'injection
Vous choisissez à quelle position l'entrée est insérée dans le prompt, ce qui influe sur le poids que le modèle lui donne.
Lié au personnage ou global
Un lorebook peut accompagner une carte précise ou s'appliquer à toutes vos conversations comme univers partagé.
i
Lorebook ≠ RAG
L'injection par mots-clés est plus simple et plus prévisible qu'une recherche vectorielle : elle se déclenche sur une correspondance de texte, pas sur une similarité sémantique. Pour un univers de fiction structuré, c'est souvent plus fiable qu'un RAG classique, et ça reste entièrement sous votre contrôle.

#Régler la génération pour l'interprétation

Les paramètres de sampling décident du dosage entre cohérence et créativité. Pour du jeu de rôle, on cherche plus de variété que pour de l'assistance factuelle, sans tomber dans l'incohérence. Ces réglages se trouvent dans l'onglet des paramètres de génération (l'icône de curseurs).

Température
Le curseur créativité/stabilité. Autour de 0.7-0.9 pour un bon équilibre en RP. Trop haut (> 1.2) part en incohérence ; trop bas rend le personnage répétitif et plat.
Min-P
Un sampler moderne qui coupe les tokens improbables proportionnellement au plus probable. Une valeur de 0.05-0.1 assainit la sortie et permet de monter la température sans dérailler.
Répétition penalty
Pénalise la reprise des mêmes tokens. Utile contre les boucles, mais trop fort il force le modèle à des tournures artificielles. Restez modéré.
Response length
Le nombre max de tokens générés par réponse. 200-400 tokens pour des répliques narratives consistantes sans monologues interminables.
Context size
Doit correspondre à ce que votre backend a chargé. Inutile de demander 16k à SillyTavern si KoboldCpp n'a été lancé qu'avec 8k.
Partir d'un preset avant de bidouiller
SillyTavern fournit des presets de sampling prêts à l'emploi. Chargez-en un adapté au RP, jouez une scène, puis ajustez un paramètre à la fois. Changer cinq curseurs en même temps rend tout diagnostic impossible.

#Les extensions qui changent l'expérience

SillyTavern est extensible. Certaines extensions sont livrées d'origine, d'autres s'installent via leur URL de dépôt. Voici celles qui transforment vraiment l'usage.

Vector Storage (résumé mémoire)
Vectorise l'historique et réinjecte les passages pertinents des vieux messages, prolongeant la mémoire au-delà de la fenêtre de contexte. Utile pour les très longues parties.
Summarize
Génère et maintient un résumé courant de la conversation, réinjecté dans le prompt. Le personnage se souvient des grands événements même après des centaines de messages.
Text-to-Speech
Donne une voix aux personnages via un moteur TTS local. Immersion renforcée pour ceux qui jouent à l'oral.
Image generation
Se branche sur un backend d'images local (type Stable Diffusion) pour illustrer scènes et personnages à la volée depuis le chat.
Expressions
Affiche l'avatar avec une émotion correspondant au ton du message, à partir d'un jeu de sprites du personnage.
i
Chaque extension coûte des tokens ou de la VRAM
Summarize et Vector Storage consomment du contexte ; image generation et TTS demandent leurs propres modèles et donc de la VRAM ou du CPU en plus de votre LLM. Activez-les selon votre budget matériel, pas toutes d'un coup.

#Quels modèles locaux excellent en interprétation

Tous les LLM ne se valent pas en jeu de rôle. Les modèles « instruct » alignés pour l'assistance ont tendance à casser le personnage, moraliser ou refuser des scénarios de fiction. La communauté privilégie des fine-tunes spécialisés, souvent construits sur des bases solides puis réentraînés pour la narration et le dialogue en personnage.

Taille utile
En dessous de 7B, la cohérence du personnage sur la durée souffre. Un 12-14B en Q4_K_M (~9 Go de VRAM) est le point d'équilibre pour la plupart des cartes graphiques milieu de gamme.
Fine-tunes RP
Cherchez les modèles explicitement entraînés pour le roleplay ou la fiction (souvent signalés « RP », « storytelling » ou « uncensored » sur Hugging Face). Ils suivent mieux le format des cartes.
Contexte long
Privilégiez un modèle qui tient bien sur 16k+ tokens sans dégénérer : les longues parties l'exigent. Vérifiez le contexte natif annoncé du modèle.
Format GGUF
Pour KoboldCpp, restez sur des GGUF quantifiés. Q4_K_M est le compromis recommandé ; montez en Q5_K_M ou Q8_0 si votre VRAM le permet et que vous cherchez plus de finesse.
Tester une carte sur deux ou trois modèles
Un même personnage peut sembler terne sur un modèle et brillant sur un autre. Avant de conclure que votre carte est mauvaise, essayez-la sur quelques modèles RP différents : la différence de rendu est souvent spectaculaire.

#Dépannage des problèmes courants

SillyTavern ne se connecte pas
Vérifiez que le backend tourne bien et que le port est le bon (5001 pour KoboldCpp, 11434 pour Ollama). Un test dans le navigateur sur l'URL de l'API confirme qu'elle répond.
Réponses avec des balises visibles
Presque toujours un template d'instruction inadapté. Alignez le format (ChatML, Llama 3, Mistral…) sur celui du modèle dans Advanced Formatting.
Le personnage sort de son rôle
Renforcez la description et les exemples de dialogue, baissez un peu la température, et vérifiez que votre system prompt n'entre pas en conflit avec la carte.
Répétitions et boucles
Augmentez légèrement la répétition penalty et ajoutez un Min-P. Si ça persiste, le contexte est peut-être saturé : activez Summarize ou réduisez la taille de la carte.
Réponses tronquées
Response length trop bas, ou le backend a été lancé avec un contexte plus petit que ce que demande SillyTavern. Alignez les deux valeurs.

#Pour aller plus loin

SillyTavern n'est qu'une couche : la qualité finale dépend surtout de votre backend et du modèle. Ces guides vous aident à solidifier les fondations.

KoboldCpp : installation et prise en main
Le backend de référence pour le RP local : GGUF, réglages mémoire et API que SillyTavern connaît nativement.
Ollama, c'est quoi et comment ça marche
L'alternative généraliste si vous préférez un daemon unique sur le port 11434 pour tous vos usages.
Quantifier le KV cache
Pour tenir des contextes de RP plus longs sur la même carte graphique sans exploser la VRAM.
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.