À propos du projet

WildReality DreamEngine est un moteur de simulation IA open-source conçu pour le jeu de rôle et la simulation de monde propulsés par LLM. Construit comme une application Electron NodeJS, il va au-delà des simples clients de chat LLM en implémentant un système complet de gestion d'état de jeu avec une logique de monde persistante. Principales fonctionnalités : - **Persistance des objets** : Les objets placés dans le monde restent à leur emplacement sur des milliers de messages, sauf s'ils sont explicitement déplacés. - **Évolution des personnages** : Les personnages disposent de systèmes de liens complexes qui les font évoluer en fonction des interactions avec l'utilisateur et d'autres personnages, avec des dynamiques relationnelles entièrement personnalisables. - **L'utilisateur en tant que personnage** : L'utilisateur est traité comme un personnage de la simulation, sans privilèges spéciaux ni omniscience. - **Règles de l'histoire** : Les règles du monde (par exemple, pas de magie dans un univers de science-fiction, limitations physiques) sont appliquées et les personnages s'y conforment. - **Traits dynamiques des personnages** : Les personnages sont définis par des traits, des états mentaux/émotionnels cachés et des déclencheurs environnementaux, tous personnalisables via des scripts JavaScript. - **Perspectives individuelles** : Chaque personnage vit le monde différemment, avec ses propres connaissances, sa mémoire et sa perception. - **Pas d'omniscience** : Les personnages ne peuvent pas connaître des événements auxquels ils n'étaient pas présents, y compris les actions de l'utilisateur. - **Redimensionnement dynamique du contexte** : La fenêtre de contexte s'ajuste automatiquement au fil de l'histoire, gardant les récits frais et limitant la répétition. - **Échelle de puissance** : Un système d'échelle de puissance intégré et extensible empêche la domination irréaliste d'un personnage. - **Compatibilité des modèles** : Fonctionne avec tout modèle sous-jacent compatible (Llama, Mistral, GLM, etc.). - **Compatible NSFW** : Prend en charge le contenu explicite avec un contrôle d'accès conditionnel basé sur la force des liens. - **Disposition du monde imposée** : Définition granulaire du monde incluant les positions des objets, les postures des personnages et les propriétés physiques. - **Volume et poids** : Simulation physique où les objets ont un poids/volume et les personnages ont une force/capacité de portage. Le moteur utilise des scripts JavaScript (en sandbox) pour définir les personnages, les mondes et les objets plutôt que des cartes de personnages traditionnelles. Ce système de script n'est pas basé sur l'attention et ne consomme pas de jetons, permettant des comportements de personnages arbitrairement complexes. **Exigences techniques** : Le moteur utilise une inférence LLM supplémentaire pour suivre les états des personnages et la logique du monde. Pour de meilleurs résultats, il recommande des modèles d'au moins 120B+ paramètres fonctionnant sur du matériel comme une RTX 6000 Blackwell avec des versions quantifiées en 4 bits. Des modèles plus petits peuvent entraîner une corruption de l'état ou des « actions fantômes ». **Options de déploiement** : - Application Electron : `npm run start` - Version Web : `npm run web` (crée un serveur sécurisé mono-utilisateur accessible via navigateur) - Serveur local : Compatible avec DreamServer (https://github.com/onzag/de-server) pour faire fonctionner le moteur sur du matériel personnalisé Le projet est actuellement marqué comme travail en cours (WIP).