Skip to content

页面与模板

渲染模型

main_routers/pages_router.py 使用 templates/ 中的 Jinja2 模板渲染页面。公共模板上下文包含资源版本;可能初始化 VRM 的页面还会收到后端维护的光照默认值。

资源 URL 应使用根相对形式(/static/...)。Electron 窗口和嵌套路由的 URL 深度不同,相对资源路径可能解析到不同位置。

公开页面路由

路由模板用途
//{lanlan_name}index.html主界面与角色渲染器
/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 morph 映射
/character_card_manager、旧 /chara_managercharacter_card_manager.html角色卡与角色设置
/api_keyapi_key_settings.htmlProvider 与 API Key 设置
/voice_clonevoice_clone.html声音克隆流程
/cloudsave_managercloudsave_manager.html云存档管理
/memory_browsermemory_browser.html最近对话记忆审阅与处理设置
/cookies_logincookies_login.htmlCookie 登录流程
/chatchat.htmlcompact 独立 React 聊天界面
/chat_fullchat.htmlfull 独立 React 聊天界面
/web_chat_compactindex.html强制使用 compact 聊天模式的主页面模板
/subtitlesubtitle.html独立字幕窗口
/agenthudagenthud.htmlAgent 任务 HUD
/card_makercard_maker.html角色卡制作
/jukebox/jukebox/managerjukebox.htmljukebox_manager.html点歌机及其管理页
/toasttoast.html独立 toast 界面
/soccer_demo/badminton_demo对应 demo 模板小游戏开发页面

/chara_manager 会重定向到 /character_card_manager/l2d 只是兼容路由,不是另一套 Live2D 实现。

记忆浏览器只编辑主服务器暴露的最近对话文件,不会直接编辑记忆系统维护的事实、反思、人格数据、归档分片或检索索引。

聊天与字幕窗口

index.htmlchat.html 都把同一份 React 聊天产物挂载到 #react-chat-window-root。其余隐藏 DOM 节点只用于兼容公共的语音、会话与截图脚本,并不是第二套聊天 UI。

Electron 通过 preload 提供的 API 控制原生窗口。chat.html 检查 window.nekoChatWindowsubtitle-window.js 在存在时使用 window.nekoSubtitle,否则仍可作为 Web 页面运行。跨页面状态使用 BroadcastChannel('neko_page_channel') 与同源 postMessage 后备通道。Electron 主进程和 preload 实现在本仓库之外。

主题

static/theme-manager.js 在大部分页面内容之前初始化主题,避免闪烁。主题样式位于 static/css/dark-mode.css;需要深色模式的页面必须同时加载两者,并使用共享的数据属性/CSS 变量。

静态挂载点

URL 前缀内容
/static带版本的应用 JS、CSS、图片、内置库与 locale JSON
/user_live2d当前用户 Live2D 目录
/user_live2d_local当前 Live2D 目录不同时使用的本地可写影子目录
/user_vrm/user_vrm/animation用户 VRM 模型与 VRMA 动画
/user_mmd/user_mmd/animation用户 MMD 模型与 VMD 动画
/user_pngtuber规范化 PNGTuber 包
/user_mods配置的本地 mod 目录
/workshopSteam 创意工坊内容;可用时在启动阶段挂载

挂载点取决于后端目录是否存在。API 响应已经返回公共 URL;客户端不得根据本地路径重新拼接。