このプロジェクトについて
Storyloomは、リアルタイムでナラティブを生成するAI搭載のビジュアルノベルエンジンです。バッファリングせずにLLMの出力を1行ずつパースするストリーミングXMLパイプライン(StreamParser → StateManager → EventDispatcher)を使用し、段落の途中で次のAPIコールを発火させるブリッジプリフェッチメカニズムにより、読み取り時間の裏側でレイテンシを隠します。
主な機能:
- 2つのゲームモード:テキストとグラフ。シーン内の選択肢に加えて、チェックポイントでのアウトラインレベルのルートフォークがあります。
- キャラクタースプライトとシーン背景は、O(1)カタログマッチング、LLMフォールバック、非同期AI生成を行うアセットパイプラインを使用します。
- LLMが書き込みを提案し、エンジンが適用前に型チェックを行うステートバリデーション。却下された書き込みはモデルにフィードバックされます。
- スライドウィンドウ、永続的なシステムプロンプトアンカー、チェックポイント圧縮(約50Kトークン)によるコンテキスト管理。
- 世界、キャラクター、プロットを生成する前に、AIがユーザーのアイデアについてインタビューを行う共創フロー。
- モードに依存しないアトミックなJSONセーブ。これにより、いつでもテキストモードとグラフモードを切り替えることができます。
- gettextを使用した英語、簡体字中国語、繁体字中国語のi18nサポート。
- FastAPI + SSE + バニラJS SPAで構築されたWeb UI。オプションでpywebviewによるネイティブデスクトップウィンドウも利用可能。
インストールオプションには、スタンドアロンバイナリ(Python不要)、PyPIホイール(Python ≥ 3.10)、ソースからのビルドがあります。オプションのエクストラでは、onnxruntimeを使用したネイティブデスクトップウィンドウサポートと生成画像の背景削除が追加されます。このプロジェクトはMITライセンスで、Conventional Commitsに従ったstdlib-firstのPython規則に従っています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.