前言¶
在 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这个插件包安装并启用
手动安装等价步骤如下。
- 将仓库放到固定路径(路径不要含空格),例如 Windows 上
%USERPROFILE%\deepseek\dsh-novel-companion。 - 编辑当前 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"
]
}
}
- 在该 profile 目录执行
pnpm install,使 link 包进入node_modules。 - 完全退出 DSH Desktop(含托盘与残留进程)后重新打开——Host 半仅在启动时加载一次。
- 左侧边栏出现书本图标,点开即为小说面板。
注意事项(摘自 README):
- 插件以 link(junction) 安装进 profile,Host 半只能
importnode:*、相对路径或@deepseek-ai/*内置包;勿引入 profile 私有依赖(否则会ERR_MODULE_NOT_FOUND)。 - 不要用 PowerShell 直接改写含中文的源文件(编码可能损坏中文)。
- 修改
lib/index.js(Host 半)须完全重启 DSH Desktop;修改 Client 半刷新页面即可。
数据默认位置:%DSH_HOME%\storages\novel_companion.json(DSH_HOME 默认为 ~/.dsh),可直接备份该文件。
典型用法¶
- 安装并重启后,从侧边栏打开小说面板,新建项目或载入「雾港钟楼」示例。
- 在对话中让模型使用
novel工具,按七个阶段推进;设定板块在draft与final之间收敛后,再进入分章大纲。 - 每章先在面板或工具中写好 / 改好大纲并定稿,再进入正文阶段;需要查伏笔时用
action=search。 - 需要把固定话术发给模型时,用面板底部按钮填入草稿栏,确认后发送。
维护者在仓库提供 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。