dsh-novel-writer:在 DSH Desktop 里用对话打磨长篇小说的工作流插件

前言

在 DSH Desktop 里写长篇小说,常见做法是直接在对话里让模型续写。设定、人物和伏笔散落在多轮消息里,改大纲和改正文往往混在一起,作者很难在「定稿大纲」和「写正文」之间卡住节奏。社区维护者 ling-long-ling 发布的 dsh-novel-companion(仓库 ling-long-ling/dsh-novel-writer,目录分类为工作流)把流程拆成阶段:先通过提问补全世界观、人物、情节,每章先出大纲由作者改定,再写正文;面板与对话共用一份 JSON 项目数据。本文介绍其定位、能力与在 DSH Desktop 上的安装启用方式。说明:这是第三方插件,不是 DSH 官方组件;社区目录 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系。

这是什么

小说创作搭档(包名 dsh-novel-companion,当前版本 1.2.1,MIT 许可证)是面向 DSH Desktop Web GUI 的第三方插件。它像编辑一样分阶段向作者提问(世界 → 人物 → 情节),一次只问一个问题;每一章维护 outline → writing → final 三态,大纲须由作者修改定稿后,模型才写正文。所有项目落在存储域 novel_companion 的 projects 表(single JSON),侧边栏小说面板与对话里的 novel 工具读写同一份数据,而不是两套副本。

核心功能

小说面板与自动保存

左侧边栏书本图标打开主区域。作者可自行修改设定、大纲、正文;约 1.2 秒防抖自动保存。侧边栏显示每本书字数。面板底部按钮会把写好的提问或指令放进对话框草稿栏(不会冒充作者发消息),确认后发送即可。

novel 工具与创作阶段

对话中由模型通过 novel 工具操作同一项目:列出 / 创建 / 切换阶段 / 写设定 / 存大纲 / 存正文 / 检索。

七个创作阶段依次为:了解作者 → 世界观 → 人物 → 情节 → 分章大纲 → 写正文 → 收尾。未就绪时拒绝切换阶段(可用 force 跳过)。

六个设定板块:内核、世界观、人物、情节、设定规则、文风;每块有 draft / final 状态与待问问题清单。

读全文、续写与检索

模型 get 可拿到六个板块全文、全部大纲,以及在预算内的正文;每章标题后带 chapterId,写回大纲或正文时照抄 id(或使用 chapterIndex)。默认展开上一章全文与最近 8 章首尾节选,写第 N 章时能看到前文笔触;context 可取 none / recent / all。

检索示例:novel action=search query=… 在设定、大纲、正文里查找道具、伏笔、人名,返回命中章节的 chapterId 与片段。

冲突保护与示例

面板保存带版本号 rev,旧快照不会覆盖模型刚写入的内容;半份文档(缺少 title / blocks / chapters / stage)会直接拒写。

内置示例项目「雾港钟楼」,面板中点「载入示例」可查看完整项目结构。

环境要求

  • DSH Desktop(Web GUI;README 注明 2026-10 在 DSH Desktop 上开发与验证)
  • Node.js ≥ 20(用于跑自检脚本;插件运行本身不依赖 Node)

peerDependencies 要求 @deepseek-ai/dsh 版本 >=0.2.0-rc.2 <0.3。

安装与启用

推荐让 DSH 智能体代装(通过插件管理器的 install_bundle 完成注册),对智能体说:

把 dsh-novel-companion 这个插件包安装并启用

手动安装等价步骤如下。

  1. 将仓库放到固定路径(路径不要含空格),例如 Windows 上 %USERPROFILE%\deepseek\dsh-novel-companion。
  2. 编辑当前 profile 的 package.json(DSH Desktop 默认 %USERPROFILE%\.dsh\profiles\desktop\package.json),增加依赖与 bundle:
"dependencies": {
  "dsh-novel-companion": "link:C:/Users/<you>/deepseek/dsh-novel-companion"
},
"dsh": {
  "profile": {
    "bundles": [
      // …已有的 bundle…
      "dsh-novel-companion"
    ]
  }
}
  1. 在该 profile 目录执行 pnpm install,使 link 包进入 node_modules。
  2. 完全退出 DSH Desktop(含托盘与残留进程)后重新打开——Host 半仅在启动时加载一次。
  3. 左侧边栏出现书本图标,点开即为小说面板。

注意事项(摘自 README):

  • 插件以 link(junction) 安装进 profile,Host 半只能 import node:*、相对路径或 @deepseek-ai/* 内置包;勿引入 profile 私有依赖(否则会 ERR_MODULE_NOT_FOUND)。
  • 不要用 PowerShell 直接改写含中文的源文件(编码可能损坏中文)。
  • 修改 lib/index.js(Host 半)须完全重启 DSH Desktop;修改 Client 半刷新页面即可。

数据默认位置:%DSH_HOME%\storages\novel_companion.json(DSH_HOME 默认为 ~/.dsh),可直接备份该文件。

典型用法

  1. 安装并重启后,从侧边栏打开小说面板,新建项目或载入「雾港钟楼」示例。
  2. 在对话中让模型使用 novel 工具,按七个阶段推进;设定板块在 draft 与 final 之间收敛后,再进入分章大纲。
  3. 每章先在面板或工具中写好 / 改好大纲并定稿,再进入正文阶段;需要查伏笔时用 action=search。
  4. 需要把固定话术发给模型时,用面板底部按钮填入草稿栏,确认后发送。

维护者在仓库提供 node scripts/verify.mjs(17 项检查)及分项脚本;改 Client 须编辑 lib/client.js.tpl 后执行 node scripts/build-client.mjs。更细的面板用法与数据格式见仓库内 使用说明.md。

适用场景与注意

适合在 DSH Desktop 里写长篇、希望「设定—大纲—正文」分层、且愿意在对话与面板之间切换的作者。不适合只想单次即兴续写、不需要结构化项目的场景。

插件在当前 DSH 进程权限下运行,安装前应阅读 GitHub 源码 与 MIT 许可证,自行判断是否信任维护者 ling-long-ling。仓库 README 标明为第三方插件;DSH 与 DeepSeek 为 DeepSeek 商标。

结尾

dsh-novel-writer(包名 dsh-novel-companion)把长篇小说创作收成阶段化工作流:提问补设定、章纲作者定稿后再写正文,面板与 novel 工具共享一份 JSON。目录页:https://www.skillhub.cn/plugins/ling-long-ling/dsh-novel-writer;源码与安装说明:https://github.com/ling-long-ling/dsh-novel-writer。

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

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

小夜