安装
npm pack # 生成 dsh-external-dsh-novel-writer-0.1.1.tgz此命令根据 GitHub 仓库地址生成。运行前请检查上游 README 与源代码;需要可复现安装时,请固定 release 或 commit。
README
维护者编写的文档快照。
大肥鱼的小说工坊(dsh-novel-writer)
一个面向 DeepSeek Harness(DSH)的网络小说创作插件: 九阶段门禁式创作流程 + 世界书(lorebook)设定注入 + 本地书籍导入 + AI 一键润色 + 去 AI 味 + 黄金三章诊断 + 百万字一致性保障。
- 中文 | English
让 DSH 像一位专业的网文编辑与你协同:从选题、设定、人设、大纲到分章、正文、修订、完本,每一步有模板、有门禁、可校验、可回滚;并有世界书把你的设定固化下来,确保百万字不崩设定。
✨ 功能特性
九阶段门禁式创作流程
选题 → 设定 → 人设 → 大纲 → 分卷 → 细纲 → 正文 → 修订 → 完本
- 阶段门禁:未批准不能跳阶段(可用户显式放行/回退),杜绝模型"口头跳阶段"
- 产物版本快照:每阶段每次提交留档
versions/<phase>/v<n>,可回退任意历史版本 - 审计日志:每次 commit / 放行 / 回滚写入
audit.jsonl
世界书(lorebook)设定注入
- 关键词 / 正则触发 + 常驻注入,条目按书绑定(每本书独立栏目)
- 导入支持 Operit / SillyTavern / 角色卡 三格式,自动兼容警告
- AI 一键生成设定:按书名+题材自动生成 4-6 条核心设定并绑定本书
- 注入 token 预算裁剪,长上下文不爆窗
质量保障
- AI 味检测与去除:内置 234 词 5 类词库 + 密度评分 + 一键改写
- 黄金三章诊断:规则层离线必出分(钩子/开场/冲突/灌输/字数/对话)+ 可选模型层深度诊断
- 四族校验:结构/内容/剧情/一致性,提交即检(字数/标题/禁用词/视角/钩子/细纲覆盖/账本冲突)
百万字一致性
- 事实账本:章节内
<JSONPatch>自动落账(人物境界/物品/地点状态),冲突检测与巡检 - 时间线:书内时间归一 + 倒挂检测;伏笔登记与回收跟踪;世界书自动沉淀建议
- 上下文包三层记忆(L1 全书设定 + L2 卷章细纲前文 + L3 摘要/变量/世界书)预算恒定(压测 100 万字 0 超限)
一键写作与润色
- 一键写章:host 直写(上下文包 → 正文 → 自动落盘),章节统计/账本/审计联动
- 一键润色:AI 优化文笔(不改情节/人物/走向),diff 标亮修改处 + 确认保存/放弃
- 逐步撤销:可撤销 AI 润色与手动编辑,还原到任意历史状态
本地导入 & 配套工具
- 导入本地书籍:txt/md 自动识别章节并建书(含 md frontmatter 题材/书名)
- 27 类题材标签(玄幻/仙侠/武侠/西幻/都市/现实/科幻/悬疑/言情/轻小说/流派向…)
- 修订(校对/节奏/文风三模式)、导出(txt/markdown/平台排版)
- 市场调研辅助(web_search 引导 + 落盘
reports/market.md)、模板复制(克隆完本品为模板)、灵感库/伏笔/术语表/账本查询
GUI 工作台 + 41 个 agent 工具
- 侧边栏「大肥鱼的小说工坊」抽屉:项目列表 / 创建 / 详情 / 一键写章 / 润色 / 诊断 / 导入 / 世界书管理
- 抽屉可展开、自动避让聊天框条;润色预览清晰展示
- 内置 60 个提示词模板(创作/文风 8 套/去味/润色/诊断/引导/世界书),
novel_prompts可浏览渲染
🎭 小说创作模式预设(agent 预设)
插件随包装载一个 「大肥鱼的小说工坊」agent 预设,在 DSH 新建会话时的模式选择器里即可选用——选中即"一键进入创作模式",不需要每次手动交代要写小说、要走流程。
三通道协同,约束模型行为:
- 模式锚定(本预设)——预设锚定创作 persona(名称为「大肥鱼的小说工坊」,描述声明确创作的九阶段门禁方法),新建会话即进入目标模式;
- 软引导(技能)——随 enabling 自动注册的
novel-writing-workflow技能,进入会话后加载完整创作方法论(阶段定义、模板用法、工具写法、写作规范),即使你不用 GUI 也知道每一步该怎么做; - 硬轨道(工具)——host 注册的 41 个
novel_*/lorebook_*工具随预设全程可调,阶段推进、产物提交、校验、写章都必须走工具,防止模型"口头跳阶段"。
为什么用预设:
- 零初始化成本:选它开新会话即锚定"资深网文作者"视角,直接开聊「创建项目,写本玄幻小说」就能跑通全流程;
- 不丢流程:阶段门禁、世界书纪律、账本一致性这些硬约束靠工具与技能自动织入,你只需提出创作意图;
- 与 GUI 互补:预设适合"对话驱动"创作(说一句写一章、给一段去 AI 味),GUI 工坊适合"可视化操作"(看项目列表、点按钮写章/润色/导入),两者共用同一份项目数据与流程。
使用方式:新建会话 → 预设选择器选「大肥鱼的小说工坊」→ 直接开始创作;或安装后自动同步到本地 ~/.dsh/.agent-presets/novel-writer/(升级插件自动更新)。
🎯 使用场景
| 场景 | 怎么做 |
|---|---|
| 从零开一本新书 | 打开工坊 → 输入书名/选题材 → 或用「五步向导」逐步引导 |
| 已有完本/定好的设定 | 用「模板复制」克隆一本带完整设定骨架的新书,直接开写正文 |
| 想要热门题材方向 | 「市场调研」→ 引导 web_search 查榜单热词 → 落盘选题参考 |
| 把本地网文 txt/md 收进 DSH 续写 | 「导入本地书籍」→ 自动建书分章 → 可直接继续润色/续写 |
| 保证不崩设定 | 世界书固化设定 + 账本巡检 + 一致性校验在写作时自动织入 |
| 写完投稿 | 「导出 txt」或 Markdown / 平台排版下载 |
📦 安装
准备好这些就能开始:一台装好 DeepSeek Harness(DSH) 的电脑(DSH 快速上手)、一个能打开「终端 / 命令提示符」的入口即可。版本不挑系统,Windows / macOS / Linux 都支持;运行时需 Node.js ≥ 18(发布包为已编译产物,无需你构建)。
✅ 方式一:一句话让 AI 替你装(小白首选)
如果你在用某个能执行命令的 AI 助手(例如 DSH 里的智能体、或你的 AI 工具),直接复制下面这段话发给它,它会帮你下载、安装、并确认装好:
请帮我安装「大肥鱼的小说工坊」(dsh-novel-writer)这个 DSH 插件,并确认它启用成功。步骤: 1)下载安装包:访问
https://github.com/akira399/dsh-novel-writer/releases/download/v0.1.1/dsh-external-dsh-novel-writer-0.1.1.tgz下载这个.tgz文件(这是已编译好的安装包,不需要构建)。如果该版本不可用,就打开https://github.com/akira399/dsh-novel-writer/releases找到最新版dsh-external-dsh-novel-writer-*.tgz下载。** 2)安装:在终端执行dsh plugin --profile web add <上一步下载的 tgz 绝对路径>。如果是首次用 DSH,先确认dsh命令在 PATH 里;若提示没有这个命令,告诉我,我改用绝对路径或帮你配置。** 3)确认启用:执行dsh plugin list(或你能用的查看已装插件命令),确认dsh-novel-writer在列且已启用。** 4)收尾提醒:告诉用户「在 DSH 网页上刷新页面(必要时强制刷新 Ctrl+Shift+R),侧边栏出现『大肥鱼的小说工坊』就装好了;若没出现,检查 DSH 插件列表里该插件的『启用』开关是否为开」。** 遇到权限/网络问题(下载失败、写权限不足、命令不存在)时,先告诉我具体报错,再动手,不要静默跳过。**
🛒 方式二:从 Release 下载安装(动手型)
-
打开 Release 页:访问 https://github.com/akira399/dsh-novel-writer/releases ,找到最新版本(如 v0.1.1)。
-
下载安装包:在列表里点开「Assets」,下载
dsh-external-dsh-novel-writer-0.1.1.tgz(注意不是 Source code 那两个 zip/tar.gz,是名字以dsh-external-开头、结尾是.tgz的那个)。 -
打开终端:
- Windows:按
Win键输入powershell回车,或打开「Git Bash」(若你装过 Git)。 - macOS:打开「终端」应用(Launchpad 里搜索 Terminal)。
- Linux:打开任意终端。
- Windows:按
-
执行安装命令(把
<文件路径>换成你刚下载文件的实际位置,例如桌面上的~/Desktop/dsh-external-dsh-novel-writer-0.1.1.tgz):dsh plugin --profile web add <文件路径>💡
--profile web表示装到默认网页 profile。如果你用的不是web(例如自己建的 profile),把web换成你的 profile 名;不确定就先跑dsh plugin list看看当前 profile。 -
确认装好:
dsh plugin list看到
dsh-novel-writer即成功;若显示「已禁用」,执行dsh plugin enable dsh-novel-writer(或到 DSH 设置里打开开关)。 -
回到 DSH 网页:
- 刷新页面(建议
Ctrl+Shift+R强制刷新一次,确保加载最新界面) - 侧边栏出现「大肥鱼的小说工坊」即完成安装 ✅
- 刷新页面(建议
⚠️ 小白注意事项
- 报错「command not found / 不是内部或外部命令」= 终端没找到
dsh,先确认 DSH 已安装、或改用 DSH 的安装目录里的dsh。- 报错「Permission denied / 权限不足」= 当前用户没有写入权限,Windows 右键「以管理员身份运行」终端再执行;macOS/Linux 可尝试
sudo dsh plugin --profile web add ...。- 只要
dsh plugin add成功,不需要额外装任何依赖,插件自带的框架依赖由 DSH 提供。
🛠 方式三:从源码构建安装(进阶)
适合想改源码 / 参与开发的人。需要先装有 Node.js ≥ 22(构建 toolchain 用较新 Node;仅使用发布包则 ≥18 即可)与 Git。
git clone https://github.com/akira399/dsh-novel-writer.git
cd dsh-novel-writer
npm install
npm run verify # 自检:类型检查 + 291 个单元测试 + 构建,全过才继续
npm run build # 编译 host + client
npm pack # 生成 dsh-external-dsh-novel-writer-0.1.1.tgz
dsh plugin --profile web add ./dsh-external-dsh-novel-writer-0.1.1.tgz
⚠️ 源码构建需要联网装依赖与较新 Node;若
npm run build因缺bash报错,Windows 用户请用 Git Bash(项目构建脚本是 Shell)。
✅ 三种方式装完后,确认「能用全部功能」
不论用哪种方式,装完都应看到👇,即可正常使用本项目所有功能:
- 侧边栏出现「大肥鱼的小说工坊」入口(工作台抽屉:项目/创建/写章/润色/诊断/导入/世界书…)
- 设置 → 插件配置出现「大肥鱼的小说工坊」卡片(启用开关 + 数据目录,默认
~/.dsh/dsh-novel-writer) - 新会话自动带出技能
novel-writing-workflow(创作全流程指导) - 新建会话的模式选择器里可选中预设「大肥鱼的小说工坊」(对话驱动创作)
💡 若某块没出现:先刷新页面;不行就重启 DSH,再在「设置 → 插件」里确认该插件「启用」开关是打开的。
--
装好后
- 侧边栏出现「大肥鱼的小说工坊」入口(工作台抽屉)
- 设置 → 插件配置 → 大肥鱼的小说工坊(启用开关 + 数据目录)
- 新会话出现技能
novel-writing-workflow(创作全流程方法) - agent 预设「大肥鱼的小说工坊」可选(新建会话模式选择器)
🚀 快速开始(3 分钟)
- 打开侧边栏「大肥鱼的小说工坊」→ 点「一键导入示例《青云问道》」(或输入书名创建)
- 进入项目详情 → 「一键写章」→ 按上下文包自动出正文 → 已存盘;不满意可「一键润色」
- 或直接在对话里说:
- 「创建项目,写本玄幻小说」
- 「帮我写下一章」
- 「把这段去 AI 味」「诊断一下开头」
- 「克隆《青云问道》当模板」「调研下仙侠市场行情」
- 「导入本地 txt」
数据目录默认 ~/.dsh/dsh-novel-writer/:
lorebook/ 世界书(entries/groups/settings)
projects/ 项目(book.json + docs/ + chapters/ + audit.jsonl + ledger.json + ...)
📖 功能使用指南
下面按功能逐个说明「在界面哪里点 / 在对话里怎么说」,两种方式共用同一份数据与流程,随你习惯。
1️⃣ 创建一本书(九阶段流程的起点)
- 界面:打开「大肥鱼的小说工坊」抽屉 → 顶部输入书名 → 选题材(27 种,按分组排列)→ 点「创建」。
- 对话:「创建项目,写本玄幻小说」「新书,仙侠」「开本都市文」。
- 创建后进入项目详情,看到当前阶段(初始为
topic选题)与各阶段状态。
也可以先点「一键导入示例《青云问道》」,一步得到一本带世界书条目的示例书,边看边学。
2️⃣ 走完九阶段(选题→…→完本)
- 阶段链:
选题 → 设定 → 人设 → 大纲 → 分卷 → 细纲 → 正文 → 修订 → 完本,前一阶段未批准不能进入下一阶段(门禁)。 - 怎么推进:
- 对话:说「生成世界观设定」「设计人设」「写全书大纲」,模型会用相应模板产出该阶段文档;完成后说「提交设定」走
novel_commit→ 校验通过即批准解锁下一阶段。 - 界面:目前阶段推进主要通过对话里的 agent 工具完成(
novel_phase/novel_commit),舞台右上角会显示当前阶段与门禁状态。
- 对话:说「生成世界观设定」「设计人设」「写全书大纲」,模型会用相应模板产出该阶段文档;完成后说「提交设定」走
- 产物自动存
docs/<阶段>.md+ 留历史版本(versions/<阶段>/v<N>),随时可回退。
3️⃣ 写正文(一键写章)
- 界面:项目详情 → 选章节号 → 点「一键写章并保存」→ 模型按「全书设定+本卷/本章细纲+前文+世界书命中等」的上下文包自动写一章 → 已自动存盘,统计/账本/审计联动。
- 对话:「帮我写下一章」「写第 5 章」「继续写」。
- 写好后左侧编辑框/B 面板可看到正文与字数(达标徽标)。不满意就点「一键润色」或手动改。
4️⃣ 润色与撤销
- 一键润色:点「一键润色」→ 模型优化文笔(不改情节/人物/走向)→ 下方「润色预览」用黄色=润色后文、红色删除线=被替换原文标出改动处 → 点「确认保存」(写入章节)或「放弃还原」(恢复原文)。
- 撤销:编辑区上方「↶ 撤销(N)」按钮。手动编辑、写章回填、润色应用都会记录历史,可连续点击逐步还原到任意之前的状态。
5️⃣ 建世界书(固化设定,不崩设定)
- 入口:项目详情右下「本书世界书」,或抽屉列表里书籍行的「世界书」按钮。
- AI 一键生成:世界书面板先在上方「栏目」下拉选一本书 → 点「AI 一键生成设定」→ 按书名+题材自动生成 4-6 条核心设定(世界观/主角/宗门/境界等)并绑定本书。
- 手动:点「+ 新建条目」→ 填名称/内容/触发关键词(逗号分隔)/是否常驻/优先级,并「绑定到本书」。
- 导入已有设定:
lorebook_import_entries(Operit / SillyTavern / 角色卡格式,可直接发文件)。 - 写作时命中的条目会自动注入上下文包(每书独立栏目,
Lorebook)。
6️⃣ 导入本地书籍
- 界面:项目列表「导入本地书籍」→ 选一个本地
.txt/.md网文文件 → 自动识别章节标题(含"第一章/楔子/番外"等)并建书 → 全部正文按章同步,可直接续写/润色。 - 对话:「导入本地 txt」。
7️⃣ 质量体检(诊断 / 去 AI 味 / 校验)
- 结构诊断:项目详情底部「结构诊断」→「诊断本章」→ 得分与问题(钩子/开场/冲突/灌输/字数/对话)。
- 去 AI 味:对话「把这段去 AI 味」→
novel_depolish检测并改写(内置 234 词 5 类词库)。 - 四族校验:提交时自动跑结构/内容/剧情/一致性;也可对话「校验这章」手动触发
novel_validate。
8️⃣ 保持一致性(长文不崩设定)
- 事实账本:章节内
<JSONPatch>自动落账(人物境界/物品/地点状态)。 - 巡检:对话「跑一遍一致性巡检」→
novel_consistency_audit查账本冲突、时间线倒挂、伏笔超期,并给出世界书沉淀建议。 - 查账本:「林远现在什么境界」「查一下账本」→
novel_ledger。 - 伏笔/时间线:对话「登记个伏笔,第 3 章埋,第 20 章回收」「记录第 5 章书内时间『第三日』」→
novel_foreshadow/novel_timeline。
9️⃣ 修订与导出
- 修订:对话「修订第 3 章,校错别字」→
novel_revise(校对/节奏/文风三模式,产出新版本不覆盖原稿)。 - 导出:界面项目详情「导出 txt」(带 BOM,可直接投稿);对话「导出成稿」→
novel_export(txt / markdown / 平台排版)。
🔟 市场调研 & 模板复制
- 市场调研(选题用):对话「调研下仙侠的市场行情」→
novel_market_researchmode=prompt 给你一组web_search检索词 → 模型检索后以 mode=report 把榜单热词/读者偏好/同类卖点落盘reports/market.md→ 选题报告里引用。 - 模板复制(克隆设定骨架):对话「以《青云问道》为模板开本新书」→
novel_clone_project复制字数目标/风格/禁用词 + 已完成的阶段设定文档(选题/设定/人设/大纲/分卷/细纲),正文不复制,状态机重置——直接对着现成设定写正文。
1️⃣1️⃣ 灵感 / 术语表
- 对话「记个灵感:雨夜剑冢」「建个术语表:玄天宗——地域宗门」→
novel_idea/novel_glossary(选题拉取聚合、术语注入防用词漂移)。
1️⃣2️⃣ 用「创作模式预设」开新会话
- 新建会话 → 预设选择器选「大肥鱼的小说工坊」→ 直接对话「创建项目,写本玄幻小说」即进入创作模式(persona + 技能方法 + 41 个工具自动就位)。
💡 提示:几乎每个功能都有对应的
novel_*工具,模型在创作模式下会自己调用并提示你确认(写操作)。你不必记命令,用大白话提需求即可;想知道有哪些能力,对话里说「小说工坊能做什么」。
⚙️ 配置
| 设置 | 默认 | 说明 |
|---|---|---|
| enabled | true | 插件总开关(关闭即注销工具/技能,数据保留) |
| dataDir | ~/.dsh/dsh-novel-writer | 数据根目录 |
项目级(创建时/模板复制保留):27 题材、每章字数目标(默认 2000-4000)、风格(视角/禁用词/AI 味词)、阶段门禁开关。
🔌 与 DSH 的交互
- 41 个 agent 工具:
novel_*(项目/阶段/写章/校验/诊断/去味/巡检/账本/克隆/导出/市场调研…)+lorebook_*(世界书 CRUD)+novel_prompts(提示词库) - 两段式写章协议:
novel_write_chapter返回上下文包 → 模型输出正文 →novel_commit_chapter落盘(统计/账本/审计) - 技能:
novel-writing-workflow(流程纪律与方法指导) - GUI 数据面:
/api/novel-writer/*(项目/章节/上下文/诊断/润色/导入,fence 头校验)
❓ 常见问题(FAQ)
Q:为什么要先发起一次对话才能写章/润色?
A:本插件复用你的主模型路由(llm/stream 捕获),不持有独立密钥。首次请先在会话里发一句话让模型路由就绪。
Q:导入的书正文会丢吗? A:不会。txt/md 按章节标题自动切分(含粘连标题、楔子/番外等),无法识别的按段落分块,内容完整同步。
Q:润色/写章会覆盖我的原稿吗? A:一键写章自动落盘(可撤销);一键润色先预览 diff,确认才保存,放弃可还原原文。
Q:世界书 AI 生成的内容安全吗? A:生成后是「待确认」的条目,写入前你可编辑/删除;注入时按书隔离。
🧪 开发
npm run typecheck # host + client 双段
npm test # vitest(291 例)
npm run build # tsc host + tsdown client
node scripts/simulate-1m.mjs # 百万字一致性压测
模块开发纪律:每模块 → 单测 → 复盘(见 docs/MODULE-LOG.md)。
🛡 安全模型
- 数据仅存本地
~/.dsh/dsh-novel-writer/,不联网上传 - 所有写操作走审计日志;LLM 辅助调用复用主模型路由,无独立密钥
- GUI 路由带自定义头校验(防 CSRF/dns-rebinding);未启用返回 503
- 市场调研仅在你显式调用工具时触发搜索(复用会话 web_search)
📄 许可
MIT
项目文件与信号
以下项目是目录快照中检测到的公开仓库信号。
仓库信息
- 开发语言
- TypeScript
- 许可证
- MIT
- 最新发布
- v0.1.3
- 最后更新
- 2026年8月17日 17:03
谨慎安装
请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。