dsh-novel-workbench:DSH 一页式小说创作工作台

前言

在 DeepSeek Harness(DSH)里做长篇创作,难点往往不在「能不能生成一段文字」,而在上下文是否跟得上:人物是否前后一致、伏笔有没有丢、前几章写了什么需要反复翻文件。社区插件 dsh-novel-workbench(小说工坊)把章节进度、素材整理、候选稿流程和情节检查收进同一页界面,用约定目录下的普通文件承载数据,便于用 Git 管理。下面介绍它做什么、怎么装、典型怎么用。

这是什么

dsh-novel-workbench 是维护者 ShanJun-pro-max 发布的 DSH 工作流类插件,在 SkillHub 目录 与 GitHub 仓库 均可找到。定位是「给 DeepSeek Harness 用的一页式小说创作工作台」:不替作者代写全书,而是把写某一章时需要的前文、大纲、人物卡和检查项拼成写作包,并支持从认可的成品书里提炼写法、写进偏好档案,生成候选稿时带着用。

旧做法常常是每开新章就翻大纲、人物卡、前几章正文和伏笔清单等多个文件,上下文容易散。这个插件在「开新章」时按规则选材(例如近 10 章剧情总结全文、更早章节一句话摘要、本章及相邻章大纲、上一章正文结尾约 1400 字、仅加载本章会出现的人物卡等),并说明读了哪些材料、省了多少,避免黑盒。

核心功能

开新章与候选稿

侧栏「小说工坊」里,候选稿流程大致为:

  1. 编辑本章设定(目标、禁止发生、出场人物、要求)。
  2. 由模型给出多个写法方向,勾选要写的。
  3. 逐篇生成候选稿,可看进度、可随时停。
  4. 在候选稿里对段落标 👍/👎,再合稿定稿。

弹窗右侧有「开章体检」(默认展开):张力曲线、与本章相关的结构问题、本章注意事项、未收伏笔欠账等多块信息;部分块为本地规则计算,调用模型给走向等操作才会消耗 LLM。

写作包与章节管理

章节页可看全书进度、编辑标题,并用「总结」生成剧情总结。写作包组装策略在 README 中有完整列表(近章总结、例外升级全文、大纲裁剪、人物卡按名字与别称出现才加载等)。

剧情总结带索引头

生成的剧情总结可在 Markdown 头部带 YAML 索引(如 chapter、characters、location、planted、paid),便于机器查询「某角色在第几章退场」等;正文部分仍按作者习惯书写。characters 等字段用规则从正文与已知角色名提取,不额外调模型。

别称识别

扫描文中「李哥」「萧先生」等称呼,结合共现窗口(出现位置前后约 50 字)给出推测依据;同姓不强行排除。作者确认后写入角色卡 别称 字段,索引、一致性检查与写作包选人都会认。

情节体检

包括张力曲线(按正文冲突信号估分)、伏笔欠账(大纲「埋/收」配对)、一致性(如总结漏人、有卡未出场、缺少索引头等,README 标明部分检查为纯规则、不花模型费用)。

偏好档案与类型跨书继承

标注过的段落可压成可复用的写作规律,存入作品下的偏好档案;按「类型」绑定后,类型库位于 ~/.dsh/novel-studio-types/,同类型新书可继承规律。

成品书库(作品分析)

偏好档案页的「作品分析」可把 .txt、.md、.docx、.epub 等成品书导入,经粗扫、精读、汇总、跨书融合等步骤得到可执行的写法标准;可「写进偏好档案」。写作包中会带对标写法结论(不喂成品书原文全文,避免上下文膨胀与抄袭风险)。成品书相关数据落在 ~/.dsh/novel-learn/ 下。

设定、回收站与安全

可浏览编辑设定目录下的文件;删除先进回收站。改正文、总结、设定前会自动备份到 .dsh-novel-studio/备份/;接口仅接受本机回环请求,读写限制在作品目录内的约定扩展名。插件以当前 DSH 进程权限访问本机文件,安装前建议在 GitHub 阅读源码与 MIT 许可证,确认符合你的使用环境。

安装与启用

安装分两步:装包与挂进 profile 组合层;只做第一步,界面里可能看不到入口。--profile 必须写在 add 前面(新版 dsh 要求),例如 Web 端用 web,桌面客户端用 desktop,不确定时可查看 ~/.dsh/profiles/ 下目录名。

1. 装包

推荐 npm(README 称国内可配镜像):

dsh plugin --profile web add dsh-novel-workbench

若走 GitHub 源(与 npm 为同一包):

dsh plugin --profile web add github:ShanJun-pro-max/dsh-novel-workbench

若写成 dsh plugin add --profile web …,可能报错 error: required option '--profile <name>' not specified,因为 --profile 属于 plugin 子命令,写在 add 之后会被转给 pnpm。

2. 挂进组合

node ./node_modules/dsh-novel-workbench/install.mjs web

脚本会把 dsh-novel-workbench 写入 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles;也可手动在该 JSON 的 bundles 数组里增加一行 dsh-novel-workbench。README 强调:dsh plugin add 只安装到 node_modules,cordis.patch.yml 要靠 bundles 才会生效。不要手抄文件进 node_modules 下的插件目录,以免与 pnpm 账本不一致导致宿主无法启动。

3. 重启与更新

重启 DSH Web 后,侧栏底部应出现「小说工坊」;可在界面左侧导航底部查看当前版本号。

更新时应用 update 而非重复 add:

dsh plugin --profile web update dsh-novel-workbench

然后重启 DSH Web。bundles 里只需配置一次。

运行环境:package.json 要求 Node >=20;开新章、总结、别称识别等依赖 DSH 已配置的 LLM,可在插件设置里指定模型或沿用 dsh 默认模型。

典型用法

作品目录约定

最小结构示例(缺项会在界面标红提醒,并非全部强制):

你的小说/
├─ 大纲.md
├─ 正文/
│  ├─ 第001章-标题.txt
│  └─ 第002章-标题.txt
└─ 剧情/
   ├─ 第1章 剧情总结.md
   └─ 第2章 剧情总结.md

推荐补充 设定/(立项、世界观、人物设定、_口径.md 等)与 人物/*.json 人物卡。

插件内设置

侧栏 → 小说工坊 → 设置:

字段 说明
候选目录 候选稿目录,如 …/作品/.dsh-novel-studio/候选稿/第12章
作品根 留空则从候选目录向上自动探测
模型 留空则用 dsh 当前默认模型

日常流程

  1. 在「章节」维护正文与剧情总结。
  2. 用「开新章」生成方向与多篇候选,合稿定稿后写入正文目录。
  3. 在「情节」查看张力、欠账与别称。
  4. 用「偏好档案」积累规律;需要对标文风时用「作品分析」导入成品书并写进档案。
  5. 误删内容可从「回收站」恢复。

候选稿与标注等落在 <作品>/.dsh-novel-studio/ 下;正文、剧情、人物卡仍在作品目录,均为普通文件。

适用场景与注意

适合在 DSH Web 端写中文网文、长篇连载,且愿意用固定目录结构管理大纲、正文、总结和人物卡的作者。不适合期望「零文件、全自动代写」的场景:插件核心是整理上下文与流程,模型调用仍由你触发并承担费用。

DeepSeek Harness 生态强调「一切皆插件」;SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。本插件在 GitHub 上可见星标与 issue 入口,具体活跃度以仓库为准。

若侧栏无入口,先完整执行安装两步并重启;仍无效可硬刷新浏览器缓存。从 GitHub 安装时若出现 ERR_PNPM_GIT_RESOLVE_FAILED,多为网络无法访问 github.com,需代理或改用 npm 源,与插件逻辑无关。

结尾

dsh-novel-workbench 把开章选材、候选稿抽卡、剧情索引、别称与情节体检、偏好档案和成品书写法融合收进 DSH 一页界面,数据留在本地文件里。欲了解分类与简介,可打开 SkillHub 插件页;安装命令、目录约定与故障说明以 GitHub README 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye