akira399 / dsh-novel-writer

Listed

大肥鱼的小说工坊 — DSH 网络小说创作插件:九阶段门禁式创作流程 + 世界书设定注入 + 本地书籍导入 + AI 一键润色 + 去AI味 + 黄金三章诊断 + 百万字一致性 + 市场调研与模板复制。

mainOther View source

Installation

npm pack # 生成 dsh-external-dsh-novel-writer-0.1.1.tgz

This command is generated from the GitHub repository address. Inspect the upstream README and source before running it; pin a release or commit when reproducibility matters.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 60042d6Synced Aug 18, 2026

大肥鱼的小说工坊 — DSH 网络小说创作插件

大肥鱼的小说工坊(dsh-novel-writer)

一个面向 DeepSeek Harness(DSH)的网络小说创作插件: 九阶段门禁式创作流程 + 世界书(lorebook)设定注入 + 本地书籍导入 + AI 一键润色 + 去 AI 味 + 黄金三章诊断 + 百万字一致性保障

大肥鱼的小说工坊 Logo

让 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 润色与手动编辑,还原到任意历史状态

一键写章界面 一键润色 + diff 标亮预览

本地导入 & 配套工具

  • 导入本地书籍:txt/md 自动识别章节并建书(含 md frontmatter 题材/书名)
  • 27 类题材标签(玄幻/仙侠/武侠/西幻/都市/现实/科幻/悬疑/言情/轻小说/流派向…)
  • 修订(校对/节奏/文风三模式)、导出(txt/markdown/平台排版)
  • 市场调研辅助(web_search 引导 + 落盘 reports/market.md)、模板复制(克隆完本品为模板)、灵感库/伏笔/术语表/账本查询

GUI 工作台 + 41 个 agent 工具

  • 侧边栏「大肥鱼的小说工坊」抽屉:项目列表 / 创建 / 详情 / 一键写章 / 润色 / 诊断 / 导入 / 世界书管理
  • 抽屉可展开、自动避让聊天框条;润色预览清晰展示
  • 内置 60 个提示词模板(创作/文风 8 套/去味/润色/诊断/引导/世界书),novel_prompts 可浏览渲染

大肥鱼的小说工坊工作台(项目面板)

🎭 小说创作模式预设(agent 预设)

插件随包装载一个 「大肥鱼的小说工坊」agent 预设,在 DSH 新建会话时的模式选择器里即可选用——选中即"一键进入创作模式",不需要每次手动交代要写小说、要走流程。

三通道协同,约束模型行为

  1. 模式锚定(本预设)——预设锚定创作 persona(名称为「大肥鱼的小说工坊」,描述声明确创作的九阶段门禁方法),新建会话即进入目标模式;
  2. 软引导(技能)——随 enabling 自动注册的 novel-writing-workflow 技能,进入会话后加载完整创作方法论(阶段定义、模板用法、工具写法、写作规范),即使你不用 GUI 也知道每一步该怎么做;
  3. 硬轨道(工具)——host 注册的 41 个 novel_* / lorebook_* 工具随预设全程可调,阶段推进、产物提交、校验、写章都必须走工具,防止模型"口头跳阶段"。

为什么用预设

  • 零初始化成本:选它开新会话即锚定"资深网文作者"视角,直接开聊「创建项目,写本玄幻小说」就能跑通全流程;
  • 不丢流程:阶段门禁、世界书纪律、账本一致性这些硬约束靠工具与技能自动织入,你只需提出创作意图;
  • 与 GUI 互补:预设适合"对话驱动"创作(说一句写一章、给一段去 AI 味),GUI 工坊适合"可视化操作"(看项目列表、点按钮写章/润色/导入),两者共用同一份项目数据与流程。

使用方式:新建会话 → 预设选择器选「大肥鱼的小说工坊」→ 直接开始创作;或安装后自动同步到本地 ~/.dsh/.agent-presets/novel-writer/(升级插件自动更新)。

DSH 主界面(大肥鱼的小说工坊预设工作空间)


🎯 使用场景

场景怎么做
从零开一本新书打开工坊 → 输入书名/选题材 → 或用「五步向导」逐步引导
已有完本/定好的设定用「模板复制」克隆一本带完整设定骨架的新书,直接开写正文
想要热门题材方向「市场调研」→ 引导 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 下载安装(动手型)

  1. 打开 Release 页:访问 https://github.com/akira399/dsh-novel-writer/releases ,找到最新版本(如 v0.1.1)。

  2. 下载安装包:在列表里点开「Assets」,下载 dsh-external-dsh-novel-writer-0.1.1.tgz(注意不是 Source code 那两个 zip/tar.gz,是名字以 dsh-external- 开头、结尾是 .tgz 的那个)。

  3. 打开终端

    • Windows:按 Win 键输入 powershell 回车,或打开「Git Bash」(若你装过 Git)。
    • macOS:打开「终端」应用(Launchpad 里搜索 Terminal)。
    • Linux:打开任意终端。
  4. 执行安装命令(把 <文件路径> 换成你刚下载文件的实际位置,例如桌面上的 ~/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。

  5. 确认装好

    dsh plugin list
    

    看到 dsh-novel-writer 即成功;若显示「已禁用」,执行 dsh plugin enable dsh-novel-writer(或到 DSH 设置里打开开关)。

  6. 回到 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 分钟)

  1. 打开侧边栏「大肥鱼的小说工坊」→ 点「一键导入示例《青云问道》」(或输入书名创建)
  2. 进入项目详情 → 「一键写章」→ 按上下文包自动出正文 → 已存盘;不满意可「一键润色」
  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_research mode=prompt 给你一组 web_search 检索词 → 模型检索后以 mode=report 把榜单热词/读者偏好/同类卖点落盘 reports/market.md → 选题报告里引用。
  • 模板复制(克隆设定骨架):对话「以《青云问道》为模板开本新书」→ novel_clone_project 复制字数目标/风格/禁用词 + 已完成的阶段设定文档(选题/设定/人设/大纲/分卷/细纲),正文不复制,状态机重置——直接对着现成设定写正文。

1️⃣1️⃣ 灵感 / 术语表

  • 对话「记个灵感:雨夜剑冢」「建个术语表:玄天宗——地域宗门」→ novel_idea / novel_glossary(选题拉取聚合、术语注入防用词漂移)。

1️⃣2️⃣ 用「创作模式预设」开新会话

  • 新建会话 → 预设选择器选「大肥鱼的小说工坊」→ 直接对话「创建项目,写本玄幻小说」即进入创作模式(persona + 技能方法 + 41 个工具自动就位)。

💡 提示:几乎每个功能都有对应的 novel_* 工具,模型在创作模式下会自己调用并提示你确认(写操作)。你不必记命令,用大白话提需求即可;想知道有哪些能力,对话里说「小说工坊能做什么」。


⚙️ 配置

设置默认说明
enabledtrue插件总开关(关闭即注销工具/技能,数据保留)
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

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected
DocumentationDetected

Repository information

Language
TypeScript
License
MIT
Latest release
v0.1.3
Last updated
Aug 17, 2026, 5:03 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.