AI 小说 → 视觉小说转换工具 · AI-powered Novel to Visual Novel Converter
导入小说 txt,AI 全自动转换为可玩的视觉小说,导出 PC exe / 手机 APK / 网页版。
Tauri 2 + Vue 3 + WebGAL · 轻量快速 · API 全自定义
| 说明 | |
|---|---|
| 📖 AI 全自动管线 | ① 提取角色/场景/物品卡 → ② 分章剧本(自动编排 CG / 物品演出 / 登场资料卡 / 视频推荐位)→ ③ 生成立绘/背景/CG/物品图 → ④ TTS 配音 → ⑤ 渲染组装 |
| 🎨 无背景立绘 | AI 生成 + 色度键自动抠图(透明底,零依赖零费用) |
| 😊 表情差分 | 每角色 5 种表情立绘(normal 图做参考保持一致),对话按情绪自动切换 |
| ✨ 画面感增强 | 名场面自动生成整幅 CG;重要物品特写演出;角色首次登场资料卡 |
| 🎬 视频推荐位 | AI 标记名场面位置 + 生成视频提示词,人工在即梦/可灵生成后按命名放入即自动启用(零 API 费用) |
| 🎙️ 配音 + 音色可控 | TTS 逐句配音,音色库可配置,AI 自动为角色挑选音色,失败自动降级 |
| 🎵 BGM | 音乐文件按氛围关键词自动匹配播放 |
| 🔌 API 全自定义 | LLM / 图像 / TTS 三通道各自 base_url + api_key + model(OpenAI 兼容协议),多套配置切换 + 测试按钮 |
| 🗂️ 素材优先 | 导入人物参考图/物品图/背景图,支持手动映射,管线优先用你的素材,缺失才 AI 生成;支持图生图 |
| ♻️ 成本可控 | 全链路磁盘缓存、断点续跑、章节级重跑、中止按钮、token/费用统计 |
| 💾 状态持久化 | 小说/素材/选项/结果随项目自动保存,重开恢复,最近项目历史一键切换 |
| 🎯 成本控制 | 生成前预算上限(超限自动中止)、失败任务清单与定位重试、日志落盘 |
| 📦 三端导出 | 网页版 zip 一键打包(自动排除缓存)/ 导出前检查(Lint)/ 导出设置(标题·Game_key·多语言)/ PC exe / 手机 APK |
| 🔒 安全 | LLM 输出注入防护、CSP、依赖审计零已知 CVE |
| 导入小说 | API 配置 | 生成项目 |
|---|---|---|
![]() |
![]() |
![]() |
| 导出 | 游戏标题 | 游戏剧情 |
|---|---|---|
![]() |
![]() |
![]() |
- Node.js 18+ · pnpm
- Rust(仅开发/打包需要):https://rustup.rs
- Windows / macOS / Linux
- Linux 用户建议安装中文字体(界面中文显示):
sudo apt install fonts-noto-cjk
pnpm install
pnpm prepare:template # 下载 WebGAL 引擎模板(仅首次,约 75MB,自动裁剪)
pnpm tauri devpnpm prepare:template # 如未执行过
pnpm tauri build产物在 src-tauri/target/release/bundle/(Windows exe / macOS dmg / Linux AppImage)。
- 导入小说:选择 txt(自动识别 GBK/UTF-8),章节自动切分;可导入自定义素材
- API 配置:填文本 LLM 的 base_url + key + model(DeepSeek 约 ¥1-2/百万 token 最便宜);图像/TTS 可后补
- 生成项目:配置开关(图像/表情差分/配音/视频位/BGM/登场资料卡)→ 开始生成 → 进度日志 + 费用统计
- 预览:内嵌 WebGAL 引擎实时试玩
- 导出:网页版直接部署;exe/APK 按生成的「导出说明.txt」操作
没有 API key 也能体验:自动进入演示模式(内置示例小说),完整跑通全流程。
| 服务 | 类型 | Base URL | 模型示例 |
|---|---|---|---|
| DeepSeek | LLM | https://api.deepseek.com |
deepseek-chat |
| 硅基流动 | 图像 | https://api.siliconflow.cn/v1 |
black-forest-labs/FLUX.1-schnell |
| 硅基流动 | TTS | https://api.siliconflow.cn/v1 |
FunAudioLLM/CosyVoice2-0.5B |
| OpenAI | LLM | https://api.openai.com/v1 |
gpt-4o-mini |
| Kimi | LLM | https://api.moonshot.cn/v1 |
moonshot-v1-8k |
| Ollama(本地) | LLM | http://localhost:11434/v1 |
qwen2.5:7b |
npm run dev # 或 pnpm dev,浏览器打开 http://localhost:5173Web 版与桌面版功能一致,浏览器内自动启用等价实现:
| 桌面(Tauri) | Web 版 |
|---|---|
| 本地文件系统 | IndexedDB 虚拟文件系统(数据持久化在浏览器) |
| Rust HTTP 客户端(无 CORS 限制) | dev 服务器代理转发(/__novelforge/proxy) |
| 内嵌本地预览服务器 | 前端 zip 打包上传 → dev 服务器解压静态服务(同源 iframe) |
| Rust rembg 抠图 | canvas 四角 flood-fill 抠图(白/黑底自动去背景) |
| WebGAL 引擎模板随包携带 | dev 服务器按需同步 src-tauri/templates/webgal 到 IndexedDB |
| 系统文件选择对话框 | 浏览器 <input type="file"> |
| 导出 zip 到磁盘 | 导出 zip 自动触发浏览器下载 |
生产部署:
npm run build+npm run preview(preview 服务器同样提供代理/预览中间件,可反代部署); 纯静态托管(无后端)时 API 请求降级为浏览器直连(需厂商支持 CORS)。
各厂商图像与语音接口协议差异很大(OpenAI 兼容 / MiniMax 专有 / 阿里任务式异步),
NovelForge 内置配置驱动的通用适配器引擎(sync/async 两种模式 + 字段映射模板),
配置页「服务商模板」一键选用即可:
| 服务商 | 图像 | TTS |
|---|---|---|
| OpenAI 兼容(智谱 CogView / 硅基流动 FLUX / OpenAI) | ✅ openai-image | ✅ openai-tts |
| MiniMax(image-01 / speech-2.8) | ✅ minimax-image | ✅ minimax-tts(HEX 自动解码) |
| 阿里百炼(wanx-v1 / CosyVoice) | ✅ dashscope-image(任务式轮询) | ✅ dashscope-tts |
任意新厂商:在「高级 → 自定义适配器模板」粘贴 JSON 模板即可接入,无需改代码。 图像通道支持参考图(图生图)时自动用于角色一致性,不支持则自动降级文生图。
预置模板另含 Google Gemini(/v1beta/models/{model}:generateContent,inlineData 自动提取)与
Stability AI(multipart/form-data + 原始二进制响应)。引擎自动识别各厂商错误体
(base_resp / error.message / output.message 等)并转成可读信息。
输出目录/
├─ index.html, assets/ # WebGAL 引擎(内置)
├─ 导出说明.txt # exe/APK/网页版导出步骤
├─ video_plan.txt # AI 生成的视频推荐位清单(提示词)
└─ game/
├─ config.txt # 游戏配置
├─ scene/start.txt, ch*.txt # 剧本(可直接文本编辑)
├─ background/ figure/ vocal/ bgm/ video/
└─ .novel2vn/ # 缓存与中间产物(可删除)
# 单元与端到端测试(Node)
npx tsx tests/unit-render.ts # 渲染注入边界
npx tsx tests/unit-chapters.ts # 章节切分边界
npx tsx tests/unit-cache.ts # 缓存/断点续跑一致性
npx tsx tests/unit-tasks.ts # 图像任务构建
npx tsx tests/unit-material.ts # 素材优先匹配
npx tsx tests/unit-features.ts # 登场资料卡/表情/BGM/视频位
npx tsx tests/unit-persist.ts # 状态持久化
npx tsx tests/unit-retry.ts # API 重试机制
npx tsx tests/unit-dedupe.ts # 场景 id 去重
npx tsx tests/e2e-demo.ts # 管线端到端
# 引擎实机验证(无头浏览器加载 WebGAL 播放生成的游戏)
npx tsx tests/engine-check.ts <项目目录>
# Rust 侧测试(色度键抠图)
cd src-tauri && cargo test┌────────────────────────────────────────────┐
│ NovelForge(Tauri 2 + Vue 3 + TypeScript) │
│ ├─ pages: 导入 / 配置 / 生成 / 预览 / 导出 │
│ ├─ core: extract → script → images → │
│ │ voice → render → project │
│ ├─ api: OpenAI 兼容适配器(LLM/图像/TTS) │
│ └─ Rust: 文件读写 / HTTP 转发 / 预览服务器 │
│ / 色度键抠图 / 配置存储 │
└───────────────┬────────────────────────────┘
▼ 产出标准 WebGAL 项目
┌────────────────────────────────────────────┐
│ WebGAL 引擎(MPL-2.0,不改源码) │
│ 预览(内嵌)/ exe(Terre)/ APK(官方工具) │
└────────────────────────────────────────────┘
- WebGAL —— 视觉小说引擎(MPL-2.0),详见 THIRD_PARTY_NOTICE
- NovelForge 本体采用 MIT 许可
- 使用 NovelForge 发布作品时须保留 WebGAL 版权声明;游戏内容版权归创作者所有
- 表情差分图生图增强(更多表情/服饰差分)
- AI 音乐生成通道(BGM 全自动)
- 转场动画演出
- 游戏内角色图鉴





