作者的话:发动鬼脑做的一个小软件......
非常擅长于联想和做梦,发散思维用到这了,做的可以说是一整坨屎山,但是量真的很大。有一小部分是认真做的,但是不少也可以说有将近一半的,都是贤者时刻随便做一做凑凑数放上去的。
用心做的真的我觉得已经挺完美的,但是凑凑数的那种,也是真的懒得做了......
内容警告(Content Warning):本软件及本仓库包含成人 / 性内容,仅面向年满 18 周岁的成人用户。涉及题材均为虚构文字作品。
深度-叙事引擎 是一款 AI 驱动的成人内容创作桌面工具。它以 AI 为核心、以角色卡为核心载体,帮助创作者围绕角色快速构建、持续深化虚拟人物,并产出各类文体与题材的虚构内容。
- 面向人群:有成人虚构文字创作需求的成年用户。
- 技术栈:Electron + 原生 JavaScript + 本地文件存储。
- 界面:全中文、深色主题。
请在使用本软件前,仔细阅读并理解以下条款。使用本软件即视为您已接受并同意全部内容。
- 仅限成年人:本软件包含成人 / 性相关内容,仅面向年满 18 周岁的成年人。未成年人禁止使用。
- 虚构性质:本软件产出的全部内容均为虚构文字作品,不指向任何真实人物、机构或事件,不构成对任何真实的建议、教唆或影射。
- 禁止内容:
- 严禁用于生成、传播任何涉及未成年人的性内容;
- 严禁用于生成未经同意的亲密图像 / 内容(NCII);
- 严禁用于骚扰、诽谤、仇恨言论或任何违反法律法规的内容。
- 法律合规:请遵守您所在国家 / 地区的相关法律法规。因使用者不当使用而产生的法律责任,由使用者自行承担。
- 第三方服务:本软件依赖云端大模型 API 与本地模型。模型服务商的政策、费用与可用性由各方自行负责,本软件不承担相关责任。
整个项目的核心是围绕「角色卡」展开的。 角色卡是塑造虚拟人物的核心数据载体,承载角色的身份、背景、体貌、性格、服饰、性癖、人生经历与性爱明细等结构化信息。几乎所有功能模块都以同一套角色数据作为上下文,实现跨模块一致、可复用的创作体验。
角色卡的获取方式(两种):
| 方式 | 说明 |
|---|---|
| AI 生成 | 按方向 / 参考灵感,由 AI 完整生成角色概要并填充全部字段(信息、服饰、配饰、体貌特征、性癖标签等),支持深化、扩充、混搭、候选方向等模式。 |
| 从小说提取 | 把已有小说文本交给 AI,自动提取出其中的角色列表及结构化数据(姓名、性别、年龄、种族、职业、性格、性爱明细等),再一键导入为角色卡。 |
角色卡支持多种性别模板(女性 / 男性 / 扶她 / 伪娘),每种性别按自身模板渲染全部字段;并可与灵感角色库(灵感板)、世界观模块联动,实现角色 - 世界观 - 场景的统一构建。
软件按「区块 → 顶层模块 → 子模块 → 叶子模块」四级嵌套组织(见 renderer/)。功能主要由 renderer/业务容器/ 下的各「区块」承载:
包括:角色台本、性爱台本、淫诗艳曲、浪语骚歌、锦绣文章、文学改编、影视动画、新闻媒体、学术春宫、书信社交、蒙学艳典、点评赏析、黄图淫册、黄游拔作。
- 按不同文体 / 题材组织创作,共享统一的「题材、露骨度、意象、AI 字段」等配置,支持多档尺度(含蓄隐晦 / 唯美风雅 / 直白露骨 / 粗俗露骨)。
包括:角色卡(核心)、世界观、灵感板、玩法参考、文风分析。
- 世界观提供多级下钻设定;灵感角色库 / 灵感板提供角色灵感收集;文风分析对文本做结构化技法拆解。
包括:记录文书、生活消费、闲情小品、宣传发布。
- 围绕「杂物 / 场景 / 文案」类创作,复用同一套题材、意象与 AI 字段体系。
包括:成人小说、情色短章、系列写作、生活纪实。
- 面向叙事型长 / 短篇创作,提供大纲、章节生成、正文阅读、系列关联等完整链路。
包括:互动小说、角色聊天、性癖问答、生活观赏。
- 以「选择 → 分支」的互动叙事与模拟对话为主,可实时分支、可多角色互动。
包括:生图词典、生图识图、配音配乐(音色库、语音合成、已生成列表)等。
- 面向图像 / 声音生成,提供 NSFW / 正常 / LoRA 分区词库,支持本地与云端生图 API。
参考语料集中存放于 renderer/数据库/,用于给 AI 提供风格与范例:
- 淫诗艳曲:现代诗 / 俳句 / 打油诗 / 艳曲 / 古体诗 / 近代诗 / 淫诗 / 浪词。
- 经史子集:经、史、子、集、蒙学等古典文本。
- 浪语骚歌:民歌山歌 / 影视金曲 / 酒桌欢歌 / 嘻哈说唱 等。
- 文学改编:童话改编 / 历史改编 / 神话改编 / 名著改编 / 寓言改编。
- 经典名篇、书信社交、玩法参考(female / femboy 等)、生图词典(sfw / nsfw / lora)。
renderer/ 下另有「区块-**」作为基础层:区块-存储 / 大模型 / 界面 / 数据 / 提示词 / 系统 / 样式 / 仪表盘 / 引擎。其中:
- 区块-大模型:云端与本地多提供商接入、配置管理、模型数据模板。
- 区块-提示词:全局提示词注册表(
registerPrompt)与全局函数(renderPrompt)。 - 区块-界面:通用弹窗选择器(角色选择器
stcdOpenCharPicker、作品选择器stcdOpenWorkPicker)、LLM 配置、用量面板。 - 区块-引擎 / 系统 / 存储:命令、工具、本地文件系统、任务进度、用量追踪、本地读写(
LocalFS)。
- 零锁定原则:任何页面在任何状态下内容全部可见且可编辑,无前提条件;空白状态也展示可编辑表单并提供「让 AI 生成」入口。
- AI 优先:AI 先生成完整提案,人再修改确认;所有输入字段都应有 AI 建议入口。
- 即时保存:输入即保存(防抖 300–500ms),无需手动点「保存」;AI 返回结果自动写入 Store;跨 Tab 读取一致。
- 云端优先:云端大模型为主要生成引擎(充分利用大上下文与高能力),本地 LLM 为补充 / 备份。
- 二元模板:同时满足「UI 层(AI 字段注册 + 弹窗 + 回填)」与「Prompt 结构层(提示词模板)」才算完整;不硬编码 prompt。
- 四级嵌套:模块目录为「区块 → 顶层模块 → 子模块 → 叶子模块」严格四级相套。
- 数据落盘:所有用户数据持久化到磁盘
saves目录,不依赖浏览器缓存;本地存储(localStorage)仅用于设置类项。
main.js Electron 主进程
preload.js 预加载脚本
storage.js 本地文件存储
package.json 依赖与打包脚本
renderer/
区块-*/ 基础区块(存储/大模型/界面/数据/提示词/系统/样式/仪表盘/引擎)
声图创作/ 生图 / 配音配乐
业务容器/ 功能模块容器(情欲工坊/创作辅助/情色杂物/情欲文学/互动创作)
数据库/ AI 生成参考语料库(部分大文件走 Git LFS)
- Node.js(含 npm)。
- git。
- Git LFS:仓库中超过 100 MB 的大文件(如
renderer/数据库/淫诗艳曲/📖 淫诗/淫诗.csv)通过 Git LFS 管理,克隆 / 下载需要先安装 git-lfs。 - 云端模型 API Key(如 DeepSeek / Anthropic 等)或本地 LLM(按需配置,见软件内「大模型」区块)。
# Windows(任选其一)
winget install Git.LFS
# 或官网下载 https://git-lfs.com
# macOS
brew install git-lfs
# 安装后,进入仓库运行(或在全局启用)
git lfs install若不安装 git-lfs,克隆下来时那 170MB 的
淫诗.csv只会是几 KB 的「指针」,其真实内容不会下载,依赖该语料的功能可能不完整。
git clone https://github.com/2540581291/deep-narrative-engine.git
cd deep-narrative-engine
# 若 clone 时未自动拉取 LFS 大文件,补一句:
git lfs pullnpm install
npm start启动后即为 Electron 桌面应用。
- 打开软件,进入 创作辅助 → 角色卡。
- 选择性别模板(女性 / 男性 / 扶她 / 伪娘)。
- 点击 「让 AI 生成」:输入一段方向 / 设定,AI 生成角色概要并填充全部字段;或粘贴一段小说文本,选 「从小说提取」,自动提取角色数据并导入。
- 在表单中自由修改、补充各字段(信息、服饰、配饰、体貌特征、性癖标签、人生经历、性爱明细等)。
- 在其它模块(性爱台本、成人小说、互动创作等)中,将这张角色卡作为生成上下文,即可围绕该角色持续产出内容。
- 为什么启动后报
保存/为空? 运行数据(保存/、日志/、crash-logs/)是运行时自动生成的,首次使用后就会出现,无需预置。 - 为什么
npm install后没有 node_modules? 是正常的——node_modules被.gitignore排除,npm install会重新生成。 - LFS 大文件没下来? 确保已安装 git-lfs 并执行
git lfs install,然后git lfs pull。
① 角色卡 · 小说提取 角色卡这个板块虽然做得还行,但是 bug 不少。在做小说提取(尤其是长篇章的提取)的时候,尽量还是保持在原地不动,不要随意切换界面,防止出现问题,这一块我做了个提示音,所以也不用担心忘记。有的时候,大模型的调用可能会出现问题,导致输出为空。这个时候可以在设置里边,在调试那个地方查看情况。
② 即时储存机制 整个项目生成的时候,因为我当时图方便,都设计的是即时储存机制。这带来了两个情况:首先它肯定是好的,不用点保存。那另一方面带来的问题就是,你在生成一个地方的时候,在一个顶层模块内部不要随意切换位置;在区块与区块之间可以随意切换,但是在某一个顶层模块内部不要互相切换。这样会导致信息出问题,因为 AI 输入的时候很多模块当时都没有做这个模块检验,导致了它们会存储到另一个与它不相关的板块里面,所以这一块需要注意一下。
③ 模型建议 模型这一块,建议用 DeepSeek。第一个是便宜,玩了这么久,我今天查了下给他分配的api才花了不到三百;第二个是因为我的破甲词比较抽象,对于那种高护甲的,基本起不到什么破甲的作用。也或者可以用本地部署的千问 3.8 27B。有无甲的分支,虽然无甲的话对于工程能力有削弱,但是对于文字能力可能还算增强了,可以试试用那个。缺点就是耗时长,我用的 5090D 感觉不如直接调 DeepSeek API。不过,偶尔想换换文风的话可以试试切一个模型。
④ 关于"不那么合情合理"的部分 如果想自己加一些不那么合情合理的部分的话,可以自行找 AI 添加。我个人已经把这些给移除掉了。这种东西小范围享受就可以了.jpg
node_modules、运行时用户数据(保存/、日志/、crash-logs/)与自动备份(*.bak_*、_备份*)已被.gitignore排除。- 超过 100 MB 的大文件(如
renderer/数据库/淫诗艳曲/📖 淫诗/淫诗.csv)通过 Git LFS 管理,克隆 / 下载需要安装 git-lfs。