Об этом проекте
Storyloom — это движок визуальной новеллы, работающий на основе ИИ и генерирующий повествование в реальном времени. Он использует потоковый XML‑конвейер (StreamParser → StateManager → EventDispatcher), который построчно разбирает вывод LLM без буферизации, а также механизм предварительной выборки (bridge pre‑fetch), который запускает следующий вызов API посередине абзаца, скрывая задержку за время чтения.
Основные возможности:
- Два игровых режима: "Text" и "Graph", с выбором внутри сцены и ветвлением маршрутов на уровне контура в контрольных точках
- Спрайты персонажей и фоновые сцены с конвейером ресурсов, выполняющим сопоставление каталога за O(1), запасной вариант LLM и асинхронную генерацию ИИ
- Валидация состояния: LLM предлагает записи, а движок выполняет тип‑проверку перед применением; отклонённые записи возвращаются модели
- Управление контекстом с помощью скользящего окна, постоянного якоря системного подсказки и сжатия контрольных точек (~50K токенов)
- Поток совместного творчества: ИИ интервьюирует пользователя о его идее перед генерацией мира, персонажей и сюжета
- Атомарные сохранения JSON, не зависящие от режима, позволяющие переключаться между текстовым и графическим режимами в любой момент
- Поддержка i18n для английского, упрощённого и традиционного китайского через gettext
- Веб‑интерфейс на FastAPI + SSE + чистом JS SPA, с возможностью нативного desktop‑окна через pywebview
Варианты установки включают автономный бинарник (Python не требуется), колесо PyPI (Python ≥ 3.10) и установку из исходников. Дополнительные опции добавляют поддержку нативного desktop‑окна и удаление фона сгенерированных изображений через onnxruntime. Проект распространяется под лицензией MIT и следует соглашению stdlib‑first для Python с использованием Conventional Commits
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.