À propos du projet

Otaku est une interface LLM open-source conçue pour le jeu de rôle, comparable à SillyTavern ou Janitor AI. Elle est gratuite, s'exécute localement sur macOS, Linux et Windows, et ne nécessite aucune infrastructure complexe comme Docker ou des serveurs de base de données. Les utilisateurs peuvent interagir via une interface web ou un terminal. L'application prend en charge les backends LLM locaux (llama.cpp, KoboldCpp, Ollama, oMLX, LM Studio) ainsi que les fournisseurs d'API cloud (OpenRouter, NanoGPT et tout serveur compatible OpenAI). L'installation s'effectue via une commande unique utilisant le gestionnaire de paquets uv ou Homebrew. Fonctionnalités clés : - Contrôle du contexte : Maintient une prose cohérente en envoyant systématiquement les 20 premiers et les 150 derniers messages tels quels. Les messages intermédiaires sont automatiquement divisés en scènes et remplacés par des résumés modifiables pour gérer les contextes longs. - Reconnaissance des personnages : Extrait automatiquement les personnages introduits dans l'histoire. Chaque personnage conserve un journal individuel de ses expériences. - Personas flexibles : Les utilisateurs peuvent incarner n'importe quel personnage et utiliser les commandes /me et /you pour guider le LLM sur les rôles des personnages. - Contexte transparent : La commande /context permet aux utilisateurs de voir exactement ce qui est envoyé au LLM. - Importation de contenu : Prend en charge l'importation de chats SillyTavern, de fichiers texte brut (divisés par tours) et de cartes de personnages (PNG ou JSON). Les Lorebooks peuvent être importés dans le message système. - Gestion des histoires : Les utilisateurs peuvent parcourir, continuer à partir de n'importe quel message ou créer des embranchements (forks) d'histoires. Le forking copie toutes les scènes, personnages et journaux vers une nouvelle branche. - Support D&D : Inclut une commande /roll pour les lancers de dés (ex: 2d6+3, 2d20kh1) qui envoie les résultats avec les actions. Les données sont stockées localement dans une base de données SQLite avec des instantanés quotidiens. Le chiffrement au repos (AES-256-GCM) est optionnel et peut être activé via la configuration. Les clés API des fournisseurs sont toujours stockées de manière sécurisée, la clé étant conservée dans le trousseau d'accès du système d'exploitation. Les fichiers de configuration sont gérés de manière chirurgicale pour préserver les modifications de l'utilisateur lors des mises à jour, et des environnements séparés peuvent être exécutés en utilisant la variable OTAKU_CONFIG_DIR.