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

Liyuan — это приложение для ролевых игр с AI-агентом в основе, где различные функции агента адаптированы под ролевой процесс (RP), чтобы обеспечить пользователям качественный ролевой опыт. Ключевые особенности: 1. Оптимизация памяти: путём модификации harness повышается предел памяти на уровне источника; на архитектурном уровне каждый ход заново обрезается контекст, фильтруются промежуточные избыточные операции, сохраняется только текст повествования и снимки. Применяется четырёхуровневая структура памяти: чистый контекст (рабочая память) → структурированный реестр (боковая модель ведёт учёт каждый ход: предметы, симпатия, время, предзнаменования) → поисковые активы (книга мира + база знаний, извлекаются по необходимости) → сюжетное сжатие (генерация краткого содержания предыдущих событий по логике повествования). 2. Режим запросов агента: в ключевых сюжетных точках (формирование нового персонажа, важные повороты и т.д.) агент выводит карточку выбора с несколькими направлениями сюжета и полем свободного ввода, позволяя пользователю глубоко участвовать и определять направление сюжета, избегая многократной регенерации. 3. Система панелей: агент может генерировать и обновлять в реальном времени различные панели, такие как инварь снаряжения, SVG-карты и т.д., визуализируя ролевой процесс. 4. Расширение: поддерживает классические механизмы skill и MCP для агентов, упрощая реализацию сложных расширений вроде генерации изображений по тексту. 5. Система мировых линий: предоставляет функции сохранения на уровне игры (/store — закрепить сохранение, /back — откат, /line — обзор панорамы мировых линий). При откате весь мир (текст сюжета, реестр состояний, карта, инвентарь, подключённая база знаний) согласованно возвращается к этой временной точке, сохранение без потерь. 6. База знаний и библиотека материалов: поддерживается пользовательская база знаний, совместно создаваемая агентом и пользователем; библиотека материалов хранит загруженные файлы и изображения в папке VPS, в сообщениях указывается только путь, что снижает нагрузку на контекст. 7. Разделение на двух агентов: сюжетная модель сосредоточена на отыгрыше, отдельный «ассистент»-агент обрабатывает системные задачи (диагностика качества ответов, настройка конфигурации, исправление реестра и т.д.), для ассистента можно указать отдельную модель, он никогда не пишет текст сюжета вместо основной модели. Совместимость: поддерживается прямой импорт PNG- и JSON-карточек (включая встроенные в карточку книги мира), импорт JSON книг мира (активация по постоянному синему фонарю / зелёному фонарю по ключевым словам), импорт старых чатов в jsonl для продолжения игры (автоматическая очистка и удаление старых панелей состояния и цепочек рассуждений), импорт пресетов (включая движок переменных), регекс-скрипты (совместимость с классами для美化 отображения), запуск программных карточек HTML/JS в песочнице. Не совместимо с полным STscript, прямым переписыванием текста в интерфейсе, фронтенд-плагинами, зависящими от DOM/тем Tavern. Проект не использует код SillyTavern, парсинг форматов реализован независимо по открытым спецификациям. Способы развёртывания включают скрипт установки в один клик (сервис systemd), Docker Compose, ручную упаковку и загрузку; требуются Node.js≥22 и OpenAI-совместимый API Key. Лицензия — PolyForm Noncommercial 1.0.0, исходный код открыт для личного и некоммерческого использования.