# LittleWhiteBox

## 📁 目录结构

```
LittleWhiteBox/
├── .editorconfig                   # 编辑器格式规范
├── .eslintignore                   # ESLint 忽略规则
├── .eslintrc.cjs                   # ESLint 配置
├── .gitignore                      # Git 忽略规则
├── index.js                        # 插件入口：初始化/注册所有模块
├── jsconfig.json                   # JS/TS 编辑器提示
├── manifest.json                   # 插件清单：版本/依赖/入口
├── package-lock.json               # 依赖锁定
├── package.json                    # 开发依赖/脚本
├── README.md                       # 说明文档
├── settings.html                   # 主设置页：模块开关/UI
├── style.css                       # 全局样式
│
├── bridges/                        # 外部桥接
│   ├── call-generate-service.js    # 调用生成服务桥接
│   ├── worldbook-bridge.js         # 世界书桥接
│   └── wrapper-iframe.js           # iframe 包装桥接
│
├── core/                           # 核心基础设施
│   ├── constants.js                # 常量/路径定义
│   ├── debug-core.js               # 日志/缓存注册
│   ├── event-manager.js            # 统一事件管理
│   ├── iframe-messaging.js         # postMessage 封装
│   ├── server-storage.js           # 服务器存储封装
│   ├── slash-command.js            # 斜杠命令封装
│   ├── variable-path.js            # 变量路径解析
│   └── wrapper-inline.js           # iframe 内联脚本
│
├── docs/                           # 文档与许可
│   ├── COPYRIGHT                   # 版权声明
│   ├── LICENSE.md                  # 许可协议
│   └── NOTICE                      # 通知/第三方声明
│
├── libs/                           # 第三方库
│   ├── dexie.mjs                   # IndexedDB 封装库
│   ├── js-yaml.mjs                 # YAML 解析/序列化（ESM）
│   ├── minisearch.mjs              # 轻量搜索库
│   ├── pixi.min.js                 # PixiJS 渲染库
│   └── jieba-wasm/
│       ├── jieba_rs_wasm.js        # 结巴分词 WASM JS 包装
│       ├── jieba_rs_wasm_bg.wasm   # 结巴分词 WASM 二进制
│       └── jieba_rs_wasm_bg.wasm.d.ts # WASM 类型声明
│
├── modules/                        # 功能模块
│   ├── control-audio.js            # 音频权限控制
│   ├── iframe-renderer.js          # iframe 渲染
│   ├── immersive-mode.js           # 沉浸模式
│   ├── message-preview.js          # 消息预览/拦截
│   ├── streaming-generation.js     # 生成相关功能
│   │
│   ├── debug-panel/                # 调试面板
│   │   ├── debug-panel.html        # 调试面板 UI
│   │   └── debug-panel.js          # 调试面板逻辑
│   │
│   ├── fourth-wall/                # 四次元壁
│   │   ├── fourth-wall.html        # UI
│   │   ├── fourth-wall.js          # 主逻辑
│   │   ├── fw-image.js             # 图像相关增强
│   │   ├── fw-message-enhancer.js  # 消息增强
│   │   ├── fw-prompt.js            # 提示词/注入
│   │   └── fw-voice.js             # 语音相关
│   │
│   ├── novel-draw/                 # 画图模块
│   │   ├── cloud-presets.js        # 云端预设
│   │   ├── floating-panel.js       # 浮动面板
│   │   ├── gallery-cache.js        # 图库缓存
│   │   ├── image-live-effect.js    # 图像动态效果
│   │   ├── llm-service.js          # LLM 服务调用
│   │   ├── novel-draw.html         # UI
│   │   ├── novel-draw.js           # 主逻辑
│   │   └── TAG编写指南.md          # TAG 编写指南
│   │
│   ├── scheduled-tasks/            # 定时任务
│   │   ├── embedded-tasks.html     # 内嵌任务 UI
│   │   ├── scheduled-tasks.html    # 主 UI
│   │   └── scheduled-tasks.js      # 逻辑
│   │
│   ├── story-outline/              # 故事大纲
│   │   ├── story-outline-prompt.js # Prompt 模板
│   │   ├── story-outline.html      # UI
│   │   └── story-outline.js        # 逻辑
│   │
│   ├── story-summary/              # 剧情总结 + 记忆系统
│   │   ├── story-summary-ui.js     # UI 逻辑
│   │   ├── story-summary.css       # 样式
│   │   ├── story-summary.html      # UI（含向量设置）
│   │   ├── story-summary.js        # 主入口：事件/UI/iframe 通讯
│   │   ├── data/
│   │   │   ├── config.js           # 配置管理
│   │   │   ├── db.js               # 向量存储：L1/L2 Vectors (Dexie/IndexedDB)
│   │   │   └── store.js            # 核心存储：L2事件 + L3世界状态
│   │   ├── generate/
│   │   │   ├── generator.js        # 调度器：调用 LLM -> 解析 -> 清洗 -> 合并
│   │   │   ├── llm.js              # LLM API 与 Prompt 定义
│   │   │   └── prompt.js           # 注入层：格式化 + 预算装配
│   │   └── vector/
│   │       ├── chunk-builder.js    # L1 切分与构建
│   │       ├── chunk-store.js      # 向量 CRUD 操作
│   │       ├── embedder.js         # 向量化服务 (Local/Online)
│   │       ├── embedder.worker.js  # 本地模型 Worker
│   │       ├── entity.js           # 召回实体/辅助结构
│   │       └── recall.js           # 召回引擎：加权Query + 实体加分 + MMR去重
│   │
│   ├── template-editor/            # 模板编辑器
│   │   ├── template-editor.html    # UI
│   │   └── template-editor.js      # 逻辑
│   │
│   ├── tts/                        # TTS
│   │   ├── tts-api.js              # API 适配
│   │   ├── tts-auth-provider.js    # 鉴权提供者
│   │   ├── tts-cache.js            # 缓存
│   │   ├── tts-free-provider.js    # 免费提供者
│   │   ├── tts-overlay.html        # Overlay UI
│   │   ├── tts-panel.js            # 面板逻辑
│   │   ├── tts-player.js           # 播放器
│   │   ├── tts-text.js             # 文本处理
│   │   ├── tts-voices.js           # 语音配置
│   │   ├── tts.js                  # 主入口
│   │   ├── 声音复刻.png            # 说明图
│   │   ├── 开通管理.png            # 说明图
│   │   └── 获取ID和KEY.png         # 说明图
│   │
│   └── variables/                  # 变量系统
│       ├── var-commands.js         # 变量命令/宏/路径解析
│       ├── varevent-editor.js      # 变量编辑器/注入处理
│       ├── variables-core.js       # 变量系统核心
│       └── variables-panel.js      # 变量面板 UI
│
└── widgets/                        # 通用 UI 组件
    ├── button-collapse.js          # 按钮收纳
    └── message-toolbar.js          # 消息工具条

```

## 📄 许可证

详见 `docs/LICENSE.md`