このプロジェクトについて

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規則に従っています。