Об этом проекте

WildReality DreamEngine — это открытый движок симуляции ИИ, предназначенный для ролевых игр и симуляции миров на основе LLM. Созданный как приложение Electron NodeJS, он выходит за рамки простых LLM-клиентов, реализуя полноценную систему управления игровым состоянием с постоянной логикой мира. Ключевые особенности включают: - **Постоянство предметов**: Объекты, размещенные в мире, остаются на своих местах на протяжении тысяч сообщений, если их явно не переместить. - **Эволюция персонажей**: Персонажи имеют сложные системы связей, которые заставляют их развиваться на основе взаимодействий с пользователем и другими персонажами, с полностью настраиваемой динамикой отношений. - **Пользователь как персонаж**: Пользователь рассматривается как персонаж в симуляции, без особых привилегий или всеведения. - **Правила мира**: Правила мира (например, отсутствие магии в научно-фантастических сеттингах, физические ограничения) соблюдаются, и персонажи им следуют. - **Динамические черты персонажей**: Персонажи определяются чертами, скрытыми ментальными/эмоциональными состояниями и триггерами окружения, все настраивается через JavaScript-скрипты. - **Индивидуальные перспективы**: Каждый персонаж воспринимает мир по-разному, обладая собственными знаниями, памятью и восприятием. - **Отсутствие всеведения**: Персонажи не могут знать события, на которых они не присутствовали, включая действия пользователя. - **Динамическое изменение контекста**: Окно контекста автоматически подстраивается по мере развития истории, сохраняя свежесть повествования и ограничивая повторения. - **Масштабирование силы**: Встроенная и расширяемая система масштабирования силы предотвращает нереалистичное доминирование персонажей. - **Совместимость с моделями**: Работает с любой совместимой базовой моделью (Llama, Mistral, GLM и т.д.). - **Поддержка NSFW**: Поддерживает явный контент с условным ограничением отношений на основе прочности связей. - **Принудительная структура мира**: Детальное определение мира, включая позиции предметов, позы персонажей и физические свойства. - **Объем и вес**: Физическая симуляция, где предметы имеют вес/объем, а персонажи — силу/грузоподъемность. Движок использует JavaScript-скрипты (в песочнице) для определения персонажей, миров и предметов вместо традиционных карточек персонажей. Эта система скриптов не основана на внимании и не потребляет токены, что позволяет реализовывать сколь угодно сложное поведение персонажей. **Технические требования**: Движок использует дополнительные LLM-выводы для отслеживания состояний персонажей и логики мира. Для лучших результатов рекомендуются модели с параметрами не менее 120B+, работающие на оборудовании, таком как RTX 6000 Blackwell с 4-битными квантованными версиями. Меньшие модели могут привести к повреждению состояния или «призрачным действиям». **Варианты развертывания**: - Electron-приложение: `npm run start` - Веб-версия: `npm run web` (создает однопользовательский защищенный сервер, доступный через браузер) - Локальный сервер: Совместим с DreamServer (https://github.com/onzag/de-server) для запуска движка на пользовательском оборудовании Проект в настоящее время отмечен как работа в процессе (WIP).