Open-LLM-VTuber est une couche d'orchestration open source permettant de créer un personnage IA interactif avec un corps Live2D. Il combine la reconnaissance vocale, un LLM ou un agent, la synthèse vocale, le contrôle de l'expression de l'avatar, l'interruption de la voix, la vision par caméra ou sur écran, les journaux de discussion persistants, les clients Web et Electron, ainsi qu'un mode animal de compagnie en option. Chaque composant lourd peut s'exécuter localement ou être remplacé par un cloud API, de sorte que le projet est mieux compris comme un pipeline multimédia configurable en temps réel plutôt que comme un modèle unique.
Le système peut fonctionner sous Windows, macOS et Linux, avec des combinaisons de CPU, NVIDIA, AMD/ROCm, accélération Apple et services hébergés en fonction des modules sélectionnés. Le « entièrement hors ligne » n'est réalisable que lorsque le LLM, l'ASR, le TTS, la traduction, la mémoire et tout fournisseur de vision ou d'outils sont tous locaux et qu'aucun actif externe ou télémétrie n'est utilisé.
Statut actuel du projet : v1 aujourd'hui, v2 plus tard
Le référentiel officiel indique que les responsables se concentrent sur une réécriture complète de la v2.0, actuellement en cours de discussion et de planification. Ils demandent aux utilisateurs de ne pas ouvrir de nouvelles demandes de fonctionnalités v1, tout en poursuivant les corrections de bogues et le travail de demande d'extraction existant. Cela ne rend pas la v1 inutilisable, mais cela crée un risque d'architecture et de migration pour les équipes qui construisent un produit durable.
La documentation actuelle couvre le déploiement v1.x. Les versions antérieures à la v1.0.0 nécessitent un redéploiement car la configuration et les dépendances ont changé ; les directives actuelles recommandent UV et un clone Git récursif car le frontend est un sous-module. Épinglez une version et une configuration testées au lieu de déployer la branche principale mobile.
| Question de statut | Preuve actuelle | Action pratique |
|---|---|---|
| La v2 est-elle prête pour la production ? | Non ; le fichier README officiel l'appelle une première réécriture de discussion/planification | Ne basez pas les dates de livraison sur des fonctionnalités v2 non livrées |
| La v1 est-elle abandonnée ? | La correction de bugs et le travail de relations publiques existant se poursuivent | Utiliser une version testée et surveiller les problèmes de sécurité/compatibilité |
| Les anciennes configurations sont-elles compatibles ? | La v1.0.0 a introduit des modifications de déploiement et de conf.yaml | Redéployez et migrez les paramètres plutôt que de copier aveuglément un ancien environnement |
| La mémoire à long terme est-elle incluse ? | L'historique des discussions persiste ; La prise en charge de Letta apparaît dans la documentation v1.2, tandis que README note les changements de mémoire | Vérifiez la version/l'agent exact et mesurez la latence ajoutée |
| Peut-il être commercialisé tel quel ? | Le code du projet est MIT, les exemples d'actifs regroupés Live2D ont des termes distincts | Remplacer ou concéder sous licence un personnage, une voix, de la musique et d'autres éléments |
Le pipeline de conversations en temps réel
| Scène | Exemples soutenus par le projet | Porte de qualité primaire |
|---|---|---|
| Capturer | Microphone, texte, appareil photo, capture d'écran ou partage d'écran | Consentement de l'utilisateur, sélection de l'appareil, portée de l'écho/bruit et des données visuelles |
| RSA | sherpa-onnx, FunASR, faster-whisper, Whisper.cpp, Groq ou Azure | Erreur de mot, détection de fin de tour et latence de streaming |
| Agent/LLM | Ollama, OpenAI compatibles APIs, Claude, Gemini, Mistral, DeepSeek, vLLM, GGUF | Adhésion à la personnalité, factualité, limites des outils et latence du premier jeton |
| Mémoire/outils | Historique des discussions, interface d'agent, intégrations compatibles Letta/EVI et MCP | Pertinence de la récupération, autorisations, résistance à l'injection et suppression |
| TTS | sherpa-onnx, Edge TTS, MeloTTS, GPT-SoVITS, CosyVoice, Fish Audio et autres | Latence du premier audio, intelligibilité, droits vocaux et interruption |
| avatar | Live2D expressions, toucher, animal de compagnie de bureau, affichage des pensées/actions | Cartographie des émotions, synchronisation labiale, fréquence d'images et licence d'actifs |
| Livraison | Chrome interface utilisateur Web, client Electron, accès local/à distance et intégrations de streaming | HTTPS, authentification, exposition du réseau et politique de plateforme |
Architecture de démarrage rapide
La configuration de démarrage documentée utilise Ollama pour le LLM, sherpa-onnx/SenseVoiceSmall pour ASR et Edge TTS. Il nécessite Git, FFmpeg, Python 3.10-3.12 et les dépendances du projet. Le guide officiel recommande Chrome car Edge et Safari ont des problèmes connus. Un serveur local est ouvert à http://localhost:12393.
git clone https://github.com/Open-LLM-VTuber/Open-LLM-VTuber --recursive
CD Open-LLM-VTuber
synchronisation UV
cp config_templates/conf.default.yaml conf.yaml
# configurer LLM, ASR, TTS, caractère et informations d'identification
uv exécuter run_server.py
# puis ouvrez http://localhost:12393 dans Chrome
N'utilisez pas le « Download ZIP » générique de GitHub pour cette architecture : la documentation du référentiel prévient qu'il omet le sous-module frontend et les métadonnées Git nécessaires au mécanisme de mise à jour. Utilisez une archive de version prévue par le projet ou un clone récursif.
Construisez un budget de latence avant de choisir des modèles
Une interaction vocale naturelle semble lente bien avant qu’un composant ne semble désastreux. Le temps de réponse de bout en bout inclut la détection de fin de tour, la finalisation ASR, la récupération de contexte/mémoire, le premier jeton LLM, le découpage de phrases, le premier audio TTS, le transport réseau et la mise en mémoire tampon de lecture. Certaines étapes se chevauchent, mais les tentatives et les files d'attente s'accumulent.
| Métrique | Mesurer à partir de | Diagnostic utile |
|---|---|---|
| Délai de fin de tour | L'utilisateur arrête de parler → ASR s'engage | Sépare la détection du silence du calcul de transcription |
| Premier jeton LLM | Transcription finale envoyée → premier jeton utilisable | Affiche le contexte, le modèle, API et le coût de la mémoire |
| Premier audio TTS | Texte prononçable prêt → premier échantillon audible | Révèle les choix de démarrage de la synthèse et de tampon |
| Il est temps d'interrompre | L'utilisateur commence à parler → le son de l'avatar s'arrête | Critique pour l’intervention naturelle et le contrôle de l’écho |
| Achèvement du tour | L'utilisateur s'arrête → la réponse finale de l'avatar se termine | Capture l’expérience complète et la verbosité |
| Temps de récupération | Échec du fournisseur/module → solution de secours utilisable | Détermine si une session en direct survit aux erreurs |
Horodatages des instruments aux limites des modules. Un modèle local plus petit peut battre un modèle cloud plus grand en termes de latence du réseau et de la file d'attente, tandis qu'un TTS cloud peut réduire les conflits de calcul. Testez des combinaisons, pas des composants isolés.
Interruption vocale sans boucles de rétroaction
Le projet annonce une interruption sans casque afin que l'assistant ne doive pas considérer son propre discours comme une nouvelle entrée utilisateur. Il s’agit d’un problème audio exigeant : l’annulation de l’écho acoustique, la géométrie du microphone/haut-parleur, le volume, la réverbération de la pièce, la détection de l’activité vocale ASR et l’état de lecture TTS interagissent tous. Testez les pièces calmes, les haut-parleurs d'ordinateurs portables, les haut-parleurs externes, les casques, la musique, les haut-parleurs qui se chevauchent et les mots de réveil répétés.
Mesurez les fausses interruptions, les interruptions manquées, l'auto-transcription et le temps nécessaire pour arrêter à la fois l'audio et la génération en amont. L'annulation de la lecture pendant que le LLM et le TTS continuent de consommer des ressources crée des coûts cachés et des messages obsolètes.
Limites de confidentialité et de sécurité
- Cartographiez chaque fournisseur. Un modèle Ollama local ne met pas le système hors ligne si les outils Edge TTS, ASR cloud, traduction, vision, Letta ou MCP envoient des données en externe.
- Protéger la configuration.
conf.yaml, les variables d'environnement et les journaux peuvent contenir des clés API, des URL de fournisseur, du contenu personnel et des transcriptions privées. - Limitez la caméra et la capture d’écran. Exigent un indicateur actif évident, une sélection granulaire, un contrôle d'arrêt rapide et une protection contre les mots de passe, les messages et les données tierces.
- N'exposez pas le serveur directement. L'accès au microphone à distance nécessite HTTPS ; ajoutez l'authentification, les limites du proxy inverse et les contrôles de pare-feu plutôt que uniquement TLS.
- Traitez le contenu comme hostile. La parole, le texte à l'écran, les messages de discussion, les pages Web et les résultats MCP peuvent contenir une injection rapide.
- Contraindre les outils. Utilisez des listes autorisées, des bacs à sable et une approbation explicite avant les fichiers, le shell, le navigateur, les messages externes ou les actions du compte.
- Fournir la suppression. Les utilisateurs doivent localiser et effacer les journaux de discussion, l’audio, les captures d’écran, les mémoires, les caches et l’historique côté fournisseur.
Persona, attachement et modération
Une voix incarnée et un personnage persistant peuvent donner l’impression que la sortie du modèle fait plus autorité ou est émotionnellement réciproque qu’une zone de texte. Les produits doivent divulguer que le personnage est une IA, éviter de revendiquer une conscience ou une dépendance exclusive et établir un langage d'escalade pour les sujets médicaux, juridiques, financiers et de crise. Si le public comprend des mineurs, ajoutez une conception adaptée à l'âge, des contrôles parentaux et des paramètres de données par défaut stricts.
Une prise de parole proactive nécessite des heures calmes, des limites de fréquence et des règles contextuelles. Les « pensées intérieures » sont du contenu généré par l'interface, et non un accès au raisonnement caché d'un modèle, et ne doivent jamais exposer les invites du système, les secrets ou la chaîne de pensée privée.
Liste de contrôle pour les licences
| Actif | Titulaire probable de la licence | Preuve à conserver |
|---|---|---|
| Code Open-LLM-VTuber | Contributeurs du projet sous MIT | Avis de licence, révision des sources et modifications |
| Échantillons groupés de Live2D | Live2D Inc. sous des conditions distinctes de matériel/échantillon gratuit | Conditions applicables et éligibilité commerciale ou justificatif de retrait |
| Art/rig d’avatar personnalisé | Artiste, monteur, studio ou marque | Droits commerciaux, de streaming, dérivés, de marchandises et de territoire |
| Voix | Acteur, fournisseur de modèles et titulaire des droits d'enregistrement | Consentement au clonage/synthèse, portée du script et conditions de révocation |
| Modèles LLM/ASR/TTS | Chaque fournisseur ou éditeur de modèles | Modèle de licence exact, politique d'utilisation acceptable et plan de déploiement |
| Musique/fond/média | Créateurs et concédants de licence | Autorisation de diffusion, de plateforme et de monétisation |
Un pilote pratique
- Commencez par la saisie de texte, un LLM et un caractère ; vérifiez la personnalité et les journaux avant d’ajouter de la voix.
- Ajoutez l'ASR et créez un ensemble de tests de 100 énoncés avec accents, bruit, noms et interruptions.
- Ajoutez TTS en utilisant une voix que vous êtes autorisé à synthétiser ; mesurez d’abord l’audio et la prononciation.
- Configurez les expressions à partir de balises d’émotion explicites plutôt que des fuites d’invites incontrôlées.
- Ajoutez un accès caméra/écran uniquement pour une tâche définie, avec des tests de consentement et de rédaction visibles.
- Activer la mémoire ou les outils en dernier ; injection, suppression, autorisation et isolation inter-sessions par l'équipe rouge.
- Exécutez un test d'immersion en direct de deux heures et enregistrez le CPU/GPU/RAM, les déconnexions, les files d'attente, les chutes d'écho et d'image d'avatar.
- Gelez une version, une configuration, une liste de modèles, un manifeste d'actifs et une procédure de récupération.
Alternatives
| Approche | Meilleur ajustement | Compromis |
|---|---|---|
| Open-LLM-VTuber | Expérimentation voix ouverte/avatar intégrée avec backends interchangeables | Configuration complexe, architecture évolutive et licences multiples |
| SillyTavern plus extensions voix/avatar | Chat de personnages et larges intégrations frontales | Plus d'assemblage d'extensions et une qualité multimédia en temps réel variable |
| VTube Studio plus service d'agent personnalisé | Contrôle Live2D de qualité streaming avec intelligence sur mesure | Plus d'ingénierie mais une séparation plus claire des couches avatar et IA |
| Assistant vocal uniquement | La conversation compte mais un avatar ajoute peu de valeur | Moins de présence visuelle, complexité de rendu/licence bien moindre |
| Plateforme de personnages gérée | Lancement rapide et opérations hébergées | Moins de contrôle backend, de coûts récurrents et de dépendance aux données/fournisseurs |
| Pipeline WebRTC personnalisé | Produit de production nécessitant une latence, une sécurité et une évolutivité précises | Effort et contrôle de mise en œuvre les plus élevés |
Questions fréquemment posées
Tout peut-il fonctionner hors ligne ?
Oui en principe lorsque chaque composant LLM, ASR, TTS, traduction, mémoire, vision et outil sélectionné est local. Auditez la configuration réelle et le trafic réseau.
La version 2.0 est-elle disponible ?
Le référentiel officiel décrit la v2 comme une première réécriture de planification/discussion. Les utilisateurs actuels doivent évaluer le système v1.x documenté et les risques de migration.
Est-ce que ça nécessite un GPU ?
Il n'existe pas de GPU minimum absolu car les modules lourds peuvent utiliser des API ou du CPU. Pour un fonctionnement entièrement local et réactif, un système Apple de la série M ou un GPU pris en charge et des modèles plus petits sont recommandés par le projet.
Quel navigateur dois-je utiliser ?
Le guide de démarrage rapide recommande Chrome et note les problèmes connus Edge/Safari. La capture de microphone à distance nécessite un contexte sécurisé tel que HTTPS ou localhost.
Puis-je utiliser les modèles Live2D groupés à des fins commerciales ?
Ne le supposez pas. Ils sont exclus de la licence MIT du projet et régis par les conditions distinctes relatives aux échantillons de données de Live2D, avec des exigences supplémentaires possibles pour une utilisation commerciale.
Se souvient-il des conversations précédentes ?
Les journaux de discussion persistent. La prise en charge facultative de l'agent de mémoire dépend de la version et de la configuration exactes et peut ajouter de la latence ; vérifiez le comportement plutôt que de vous fier à la liste générale des fonctionnalités.
Sources primaires
- Dépôt officiel, statut v1/v2 et matrice des fonctionnalités
- Guide officiel de démarrage rapide et de déploiement
- Aperçu de la documentation officielle
- Licence Projet MIT
- Avis de licence d'actif groupé Live2D
- Exigences de contexte sécurisé MDN
- MCP bonnes pratiques de sécurité pour les intégrations d'outils
Dernière révision le 25 juillet 2026. La prise en charge des modules et l'architecture du projet évoluent rapidement ; vérifiez la version exacte, la configuration, les fournisseurs et les licences d’actifs avant utilisation en production.
