Skip to content

ページとテンプレート

レンダリングモデル

main_routers/pages_router.pytemplates/ の Jinja2 テンプレートを描画します。共通コンテキストにはアセットバージョンが含まれ、VRM を初期化できるページにはバックエンド管理のライティング既定値も渡されます。

アセット URL はルート相対(/static/...)にしてください。Electron ウィンドウやネストしたルートでは URL の深さが異なるため、相対アセットパスは別の場所に解決される可能性があります。

公開ページルート

ルートテンプレート用途
//{lanlan_name}index.htmlメイン UI とアバターレンダラー
/model_manager、旧 /l2dmodel_manager.htmlLive2D、VRM、MMD、PNGTuber のモデル管理
/live2d_parameter_editorlive2d_parameter_editor.htmlLive2D パラメーター編集
/live2d_emotion_managerlive2d_emotion_manager.htmlLive2D モーション/表情マッピング
/vrm_emotion_managervrm_emotion_manager.htmlVRM 表情マッピング
/mmd_emotion_managermmd_emotion_manager.htmlMMD モーフマッピング
/character_card_manager、旧 /chara_managercharacter_card_manager.htmlキャラクターカードと設定
/api_keyapi_key_settings.htmlProvider と API キー設定
/voice_clonevoice_clone.htmlボイスクローンフロー
/cloudsave_managercloudsave_manager.htmlクラウドセーブ管理
/memory_browsermemory_browser.html最近の会話メモリの確認と処理設定
/cookies_logincookies_login.htmlCookie ログインフロー
/chatchat.htmlcompact の独立 React チャット UI
/chat_fullchat.htmlfull の独立 React チャット UI
/web_chat_compactindex.htmlcompact チャットモードを強制したメインページ
/subtitlesubtitle.html独立字幕ウィンドウ
/agenthudagenthud.htmlAgent タスク HUD
/card_makercard_maker.htmlキャラクターカード作成
/jukebox/jukebox/managerjukebox.htmljukebox_manager.htmlジュークボックスと管理画面
/toasttoast.html独立 toast UI
/soccer_demo/badminton_demo対応する demo テンプレートミニゲーム開発ページ

/chara_manager/character_card_manager にリダイレクトします。/l2d は互換ルートにすぎず、別の Live2D 実装ではありません。

メモリブラウザーが編集するのは、メインサーバーが公開する最近の会話ファイルだけです。メモリシステムが管理する facts、reflections、persona、archive shard、検索インデックスは直接編集しません。

チャットと字幕ウィンドウ

index.htmlchat.html は同じ React チャットバンドルを #react-chat-window-root にマウントします。残りの非表示 DOM は共通の音声、セッション、スクリーンショット用スクリプトの互換性のためであり、第二のチャット UI ではありません。

Electron は preload 提供 API でネイティブウィンドウを制御します。chat.htmlwindow.nekoChatWindow を確認し、subtitle-window.js は存在する場合に window.nekoSubtitle を使い、なければ Web ページとして動作します。ページ間状態には BroadcastChannel('neko_page_channel') と同一オリジンの postMessage フォールバックを使います。Electron のメインプロセスと preload 実装はこのリポジトリの外にあります。

テーマ

static/theme-manager.js は表示のちらつきを避けるため、ほとんどのページ内容より先にテーマを初期化します。テーマスタイルは static/css/dark-mode.css にあり、ダークモード対応ページは両方を読み込み、共通の data 属性/CSS 変数を使います。

静的マウント

URL プレフィックス内容
/staticバージョン付き JS、CSS、画像、同梱ライブラリ、locale JSON
/user_live2d現在のユーザー Live2D ディレクトリ
/user_live2d_localLive2D の配信元が異なる場合の書き込み可能なローカルシャドウ
/user_vrm/user_vrm/animationユーザー VRM モデルと VRMA アニメーション
/user_mmd/user_mmd/animationユーザー MMD モデルと VMD アニメーション
/user_pngtuber正規化された PNGTuber パッケージ
/user_mods設定されたローカル mod ディレクトリ
/workshopSteam Workshop コンテンツ。利用可能な場合に起動時マウント

マウントはバックエンドディレクトリの存在に依存します。API 応答はすでに公開 URL を返すため、ローカルパスから再構築しないでください。