DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

ggghhh-11 /

ggghhh-11/dsh-novel-studio

Verified

DeepSeek Harness 小说创作工作台:模板、大纲/章纲/正文流水线、32 子智能体并行审稿、AI 味扫描、右栏故事图谱与钩子管理。

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@6a0e3539

dsh-novel-studio · 小说创作工作台

DeepSeek Harness 的小说创作插件:当你想写小说时主动询问是否启用,给出创作模板,驱动「设定卡 → 大纲 → 章纲 → 正文 → 多子智能体审稿 → 改写复扫」的完整流水线,并用确定性扫描压低 AI 味与晦涩度,最后在可视化故事图谱里回看整本书的结构。

安装

方式一:从 GitHub 安装(普通 web profile)

dsh plugin --profile web add github:ggghhh-11/dsh-novel-studio

然后重启 dsh web。仓库里的 cordis.patch.yml 会自动注册插件行,不需要手改 profile 补丁。

方式二:DSH Desktop(desktop profile)

desktop profile 由应用独占管理,CLI 的 dsh plugin --profile desktop ... 会被拒绝。可以:

  1. 克隆仓库到本地:
git clone https://github.com/ggghhh-11/dsh-novel-studio.git
  1. 在 DSH「设置 → 插件 → 安装本地 bundle」里选择克隆目录;或让 plugin_manager 用 install_bundle 指向该目录。

安装后刷新一次页面,让 Client 半加载:侧边栏「插件」按钮正下方出现小说图标;也可以直接回到对话里说「我想写小说」。

使用

路径 A:对话自动触发

在会话里说「我想写小说」「帮我写部小说」「开个新坑」等,插件会在模型调用前弹出询问:

  • 选「启用」:进入工作台,展示创作模板精简版;
  • 选「暂不启用」:不创建任何文件,按普通对话继续,本会话不再询问。

已有项目时会询问「继续该项目 / 新建项目 / 暂不启用」。

路径 B:侧边栏手动启用

点侧边栏小说图标 → 点「启用小说创作工作台」。若当前只有一个活跃会话,插件会直接把启用通知送进该会话;否则登记启用请求,下一回合生效。

面板里还可以:

  • 查看最近项目;
  • 调整审稿轮次(0–4)、每章字数(800–8000)、AI 味阈值(50–95);
  • 开关「生成后自动打开图谱」「启用时自动显示说明」;
  • 打开故事图谱与使用说明。

首次启用问卷(平台 → 自动搜索 → 偏好)

选「启用」后(包括从侧边栏手动启用),插件分两次提问:

第一次:书名 + 发表平台(已有项目时只问平台)

  • 平台:番茄 / 起点 / 晋江 / 知乎盐选 / 纯文学 / 暂不指定。

确定平台后,插件自动联网检索该平台的公开信息(热门题材、新书榜、潜力赛道),把来源与素材摘要写入上下文;随后问第二次:

  • 篇幅、每章字数、审稿子智能体、跳脱值(这些与题材方向无关,才用平台默认值预填)。

题材和文风不再给预设方向:插件把检索素材交给模型,模型必须:

  1. 先问用户是否调用「平台趋势分析师」子智能体(用户同意就用 subagent 跑);
  2. 基于检索素材 + 自己的判断,给出该平台当前的热门方向与有潜力方向(区分事实与判断,不编造榜单);
  3. 再让用户确认题材 / 文风;
  4. 调用 brief 保存设定卡。

若用户跳过第一次问卷,模型会按同一清单补问;已有平台的项目再次启用时不会重复问卷。

模板怎么填

模板只保留作者能主观决定的内容。作者生平、创作意图、读者接受史、批评史、市场与版本传播、文学史定位等,已从模板中剔除。

可以:

  1. 选一个或多个路线预设(都市现实 / 悬疑推理 / 玄幻修仙 / 科幻思辨 / 言情 / 规则怪谈 / 纯文学);
  2. 按编号回答维度(例如 A1 朴素、冷峻;B1 第三人称限知);
  3. 用自己的话描述;
  4. 直接提供你写好的大纲(novel_studio(action='brief', outlineText=...) 或 outlinePath=...)。

冲突(第一人称 + 全知、纯文学平台 + 爽文题材、短篇 + 超长单章等)会被标出来,交给用户裁决。

工具

novel_studio

action 作用
status 项目阶段、章节进度、下一步
list 列出工作区里的项目
start 创建/载入项目,返回模板精简版
template 模板(full=true 返回完整版)
brief 保存设定卡(路线/维度/自由描述/自带大纲/字数/轮次)
outline 返回全书大纲的生成指令与落盘路径
chapter_outline 批量章纲:from + count(1–500,任意章数),如一次 30 章
draft 正文生成指令:chapter,可 count(1–3),chapterWords
review_plan 本轮审稿角色、完整提示词、workflow 并行脚本、整合规则(默认用面板勾选的角色集)
record 记录一轮审稿结果到 reviews/
chart 提交故事图谱数据(章节/人物/关系/指标)
hooks 记录/回收钩子:hooks 数组 + resolved id 列表;右栏「钩子」视图可自查
custom_review 用户多轮后仍不满意:按 issue 生成专项审稿子智能体提示词
resume 读取暂停检查点,返回是否在 5 分钟窗口内与询问选项
checkpoint 保存当前进度(checkpoint.md/json),下次说「继续写」恢复
discard 放弃本次写作并删除项目目录(需 confirm=true 二次确认)
output_done 登记刚写入的 TXT(file + kind),触发右栏文本预览并记录版本
settings 读写面板快捷设置(含输出方式/目录/自动预览/主题/跳脱值)

novel_scan

确定性扫描(不调用模型):

  • 套话命中(带行号);
  • 平均句长、句长标准差、短句/长句占比、对话占比;
  • 四字成语密度、比喻标记密度、指代密度;
  • 可读性指标:>60 字长句占比、嵌套、生僻词、指代;
  • 综合 AI 味得分(0–100,越高越好)、可读性得分、必须重写段落、字数与目标偏差。

每次改写后都应复扫,直到得分达到阈值。

长度控制

  • 每章字数:默认 2500,范围 800–8000;章纲按它分配情节点密度,正文按它 ±10% 生成,扫描会检查偏差。
  • 章纲数量:任意(1–500),例如「一次生成 30 章」「一次 100 章」;插件会把整批写进一个 TXT。
  • 批量正文:1–3 章,默认 1;批量正文会稀释质量,插件会提示。
  • 总量规划:大纲阶段可给总字数/总章数,自动反推卷章规模(例如 100 万字 ÷ 2500 字 ≈ 400 章)。

输出与预览

  • 大纲/章纲/正文自动写成 TXT(大纲.txt、第001-030章-章纲.txt、第001章.txt)。
  • 默认保存到项目目录;面板「保存目录」或 outputDir 参数可自定义到工作区内的任意位置。
  • 登记输出后优先在右侧栏的「小说创作」标签页打开文本视图(图谱/钩子/文本/说明四个子页);右栏不可用时才退回弹窗。
  • 「输出方式」选「对话直出」时,文本仍保存 TXT,但模型会把全文贴回对话框。

钩子自查

  • 生成章纲/正文后,模型会把本章埋设与回收的钩子提交给 novel_studio(action='hooks')。
  • 右侧栏「钩子」页按「未回收 / 已回收」分组展示:章号、类型(悬念/伏笔/反转/谜题)、内容与状态。
  • 面板统计卡显示「钩子 未回收/总数」,方便在长线连载里防止伏笔烂尾。

跳脱值(反套路)

  • 启用工作台或面板里可设 跳脱值 0–100(默认 30):0 稳定遵循类型预期,100 强烈反套路但要求每个反转都有伏笔支撑。
  • 生成大纲/章纲/正文时会把该值写进指令,控制桥段选择与反转力度。
  • 保护机制:≥85 时,正文登记后会提示「跳脱值偏高,注意甄别」,并给用户选项是否检查内容;检查即在右侧栏打开全文,用户提出修改意见后再进入审稿。

暂停、恢复与放弃

  • 写作中途暂停(中断回合)时,插件保留检查点;仅当距上次操作在 5 分钟内 才给出选择,否则直接继续。
  • 下次说「继续写小说 / 继续上次进度」:模型调用 novel_studio(action='resume') 并询问:
    • 放弃本次写作(discard,需二次确认,会删除项目目录);
    • 补充信息(等用户输入后继续);
    • 继续生成;
    • 当前结果够用;
    • 下次再来(checkpoint 保存进度,下次恢复)。
  • checkpoint 会把进度写入项目目录的 checkpoint.md / checkpoint.json,并用运行时状态记住项目与最近文件。

多轮后仍不满意

  • 继续下一轮审稿:再调 review_plan(round 递增)。
  • 或指出具体问题:novel_studio(action='custom_review', issue='...') 会生成「专项修改顾问」子智能体提示词(独立视角比主模型自审更客观),返回后由主模型整合改写。

审稿角色(32 个)

用户提供的 30 个平台/运营角色,外加两个专属角色:

  • 通顺度与可读性审校员:查逻辑断裂、指代不清、跳跃、晦涩长句、术语堆砌;
  • AI 味猎手:查套话、空泛抒情、机械转折、比喻堆砌、总结陈词、句式整齐划一。

每次审稿必须包含这两个角色。默认子集:

  • 大纲:签约编辑、赛道评委、竞品分析、差异化、逻辑、生命周期、AI 味、通顺度;
  • 章纲:标题钩子、爆款节奏、追读率、合规、读者心理、AI 味、通顺度;
  • 正文:签约编辑、爆款节奏、逻辑、追读率、合规、读者心理、读者体验、标题钩子、双受众、AI 味、通顺度。

可选 lean(降本)、standard(默认)、all(32 个全开),或显式指定角色 id。纯文学路线会自动剔除付费/算法/运营类角色。

自由选择角色:侧边栏「小说创作」面板里有「审稿角色(自由勾选)」区块,按平台/商业/工艺分组勾选;勾选结果作为之后 review_plan 的默认角色集:

  • 不勾选(清空)= 使用默认子集;
  • 「全选」= 32 个全开(成本最高);
  • 两个工艺角色(通顺度与可读性审校员、AI 味猎手)无论怎么选都会保留,避免漏掉最关键的检查;
  • 也可以直接对模型说「这轮只用逻辑、合规、读者体验和 AI 味猎手」。

审稿流程:主模型写稿 → review_plan → 用 workflow 工具并行子智能体 → 主模型整合(同一问题 ≥2 角色提出或合规/逻辑硬伤 = 必修)→ 改写 → novel_scan 复扫 → 未达标则下一轮。轮次默认 2,可设 0–4。

并行审稿

review_plan 返回的 workflow 脚本使用 parallel() 同时启动全部审稿子智能体并等待全部完成,不是逐个串行。注意:

  • 只有 workflow 工具能这样 fan-out;subagent 是单次调用,逐个调会串行;
  • 并发调用过多可能触发模型供应商的速率限制,失败由重试策略处理;被限流时用 roleSet='lean' 或把角色分两批;
  • 若会话没有 workflow 工具,只能降级为逐个 subagent(串行),插件会在返回里说明。

故事图谱

生成数据后(novel_studio(action='chart'))自动在右侧栏打开,也可以在面板点「查看故事图谱」:

  • 故事线 / 情绪曲线:张力折线 + 章末钩子标记 + 低张力提醒;
  • 人物关系图:节点大小=出场量,连线粗细=关系强度,虚线=对立;
  • 节奏与篇幅:每章字数柱状 + 钩子折线;
  • 审校指标:AI 味/可读性随轮次变化 + 阈值线。

右侧栏「小说创作」标签页内含图谱 / 钩子 / 文本 / 说明四个子页,可点 tab 或「‹ ›」按钮循环切换;右栏不可用时自动退回弹窗(同样支持 tab 与「上一个 / 下一个」)。

右侧栏

插件注册了独立的 novel-studio-panel 右栏标签页(在宿主右栏的 tab 列表里可见):

  • 图谱、钩子、文本、说明都在这里,不占对话;
  • 生成后自动打开的是这个标签页;
  • 侧边栏工作台面板的「图谱 / 文本 / 钩子 / 说明」按钮都指向它;
  • 右栏服务不可用(旧宿主)时退回系统弹窗。

配置

在 cordis.patch.yml 的插件行 config 中调整:

- id: dsh-novel-studio
  config:
    enabled: true
    autoAsk: true          # 对话里主动询问是否启用
    defaultRounds: 2       # 默认审稿轮次
    roleSet: standard      # lean | standard | all
    scanThreshold: 70      # AI 味得分阈值
    projectDir: novel      # 项目根目录
    maxChaptersPerOutline: 500
    autoChart: true        # 生成后自动打开图谱
    autoHelp: true         # 启用时自动显示说明
    language: zh

数据位置

<工作区>/novel/<项目>/
  project.json          项目状态(含 outputs/outputVersion)
  template.md           完整模板
  brief.md              设定卡
  outline.md            旧版大纲(兼容)
  chapters/             旧版章节文件(兼容)
  charts.json           图谱数据
  reviews/round-N-*.json
  history/              改写前旧版
<输出目录(默认项目目录)>/
  大纲.txt
  第001-030章-章纲.txt
  第001章.txt

插件自身运行状态(侧边栏设置、输出方式、激活请求)保存在 profile 目录的 .novel-studio/runtime.json。

开发与测试

node --test --test-isolation=none test

(沙箱环境禁止测试运行器 spawn 子进程,因此用单进程隔离模式。)

已知限制

  • 故事图谱/钩子数据由模型在生成后归纳提交,插件不解析正文;数据缺失时显示空状态。
  • AI 味扫描是启发式的,给的是修改方向,不自动改稿。
  • 右栏标签页依赖宿主提供 sidebarRight 服务;旧宿主会自动退回弹窗。
  • 暂停恢复只在「中断/保存进度后」的下一次继续消息里询问,不会主动打断对话。
  • 插件安装或更新后需要刷新一次页面才能看到 Client 入口。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 6a0e35392ae1

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout