Skip to content

Releases: siweina/dsh-novel-writer

v1.0.1

Choose a tag to compare

@siweina siweina released this 16 Aug 20:36

dsh-novel-writer v1.0.1(中式世界观支持)

补齐中式语用规范,实现"中式禁用欧式风格"闭环。

新增

  • SPEECH_STYLE_RULES.eastern 中式语用规范:中式称谓(老爷/夫人/姑娘/小姐;禁 Miss+名)、禁西式客套(Miss/先生/阁下/Thank you)、禁西式仪式(点烛/蜡烛/礼拜/弥撒)、中式仪式规范(焚香/上香/跪拜)、中文言客套语气;
  • add 分支自动注入:basis 含"中/东/中式/古装/客栈/老爷/江湖"等 → 自动注入 eastern speechStyle(镜像欧式 west 注入逻辑);
  • 中式禁用欧式闭环:中书中出现"教堂/蜡烛/礼拜/点烛"会被 continuity 标记为语用冲突并建议改"庙/寺/焚香"。

实测

  • detect 识别中式文章 → eastern 置信度 95%;
  • 中式世界观登记自动带 speechStyle;
  • 中书中含"蜡烛/教堂/礼拜" → 3 条语用冲突,建议改庙/寺、禁点烛。

修复

  • add 分支 culture 判断改用关键词+detect 组合(避免 basis 字符串单独过 detectCulture 误判 unknown)。

安装(npm)

dsh plugin --profile web add dsh-novel-writer

或 npm install dsh-novel-writer

v1.0.0

Choose a tag to compare

@siweina siweina released this 16 Aug 20:28

dsh-novel-writer v1.0.0(语用级世界观版本)

把「世界观审查」从词级升级到语用级——不只管"哪些词不能用",还管"人物怎么称呼、怎么客气、怎么祈祷、怎么说话"。

新增能力

  • worldview 表新增 speechStyle(说话方式规范)
    • title:称谓规范(欧式贵族女性称 Miss+名,不用"XX小姐");
    • honorBad / honorGood:中式客套禁词(提点/赐教/承蒙/在下/大人…)+ 替代映射;
    • ritualBadPatterns:仪式通配正则(含"上[一二三四五六七八九十百千]*柱?香",抓住"上柱香/上三炷香");
    • ritualGoodNote:正确仪式说明(点烛跪祷);
    • tone:语气指导(口语化、禁文言客套)。
  • basis 含 "west" 时自动注入默认欧式语用规范
  • continuity 新增语用扫描:三类「语用冲突」候选——客套(honorBad 命中+建议替换)、仪式(烧香/上X柱香通配)、称谓("XX小姐"计数);
  • 续写提示词:新增"语用一致性"检查步骤。

实测(《穿越》)

  • 语用冲突·客套:「大人」×1 → 先生/阁下;「提点」×1 → 提醒;
  • 语用冲突·仪式:检测到"给母神上柱香"(通配正则命中);
  • 语用冲突·称谓:「XX小姐」×11 → Miss+名——说话语气像中国古代的根因已定位。

修复

  • ritualBadPatterns 正则对象 JSON 序列化丢失 → 统一存 source 字符串(String(x)),扫描时 new RegExp 重编译;
  • continuity 取最近含 speechStyle 的 worldview(避免被旧条目覆盖)。

工具清单(13 个)

novel_books · novel_chapters · novel_read · novel_keywords · novel_new_chapter · novel_import · novel_sentence_analysis · novel_sentence_config · novel_style_check · novel_plot · novel_settings · novel_summary · novel_continuity_check

安装(npm)

dsh plugin --profile web add dsh-novel-writer

或 npm install dsh-novel-writer

v0.9.0

Choose a tag to compare

@siweina siweina released this 16 Aug 20:16

dsh-novel-writer v0.9.0(世界观层版本)

解决「世界观在续写时难以分明」——设定表增加第五张表「世界观/用语规范」,AI 可自动判断文化基准并对照词表写作。

新增能力

  • novel_settings 第五张表「世界观/用语规范」(category=worldview)
    • \detect\ 动作:扫描全书自动判断文化基准(western/eastern/mixed/unknown)+ 置信度 + 证据词表(中西词表按"时代错置分类"组织:器物/称谓/计量/宗教仪式/市井风貌/服饰/食物/制度);
    • 登记条目:name / basis / bannedWords(禁用词表)/ recommended(替代词映射)/ ritual(仪式规范);
    • 文化基准不预设东西方,由 AI 自行判断。
  • novel_continuity_check 用语风格扫描:对照 worldview 禁用词表自动扫描全书,输出「用语冲突」候选(每条带建议替换词;未登记时用默认欧式基准并提示先 detect)。
  • 续写提示词:新增"世界观一致性检查"步骤。

实测(《穿越》)

  • detect:\western 置信度 93%\(教堂×23 神甫×12 公爵×11 vs 老夫×3 上香×1 三炷香×1);
  • 登记基准「欧式中世纪晚期」(12 禁用词/12 替代词);
  • continuity 用语冲突 12 条,全部带建议替换(老夫→我、上香→点烛、时辰→钟头、婶子→厨娘…)。

参考资料(已写入 SKILL)

Medieval Wordbook(Cosman)、The Writer's Complete Fantasy Reference、Fantasy Writers Phrase Book、凌力"错用现代词汇破坏历史氛围"论。

修复

  • readSettings catch 分支漏 worldview 字段(新书库无 settings 文件时崩溃)——已修,e2e 覆盖;
  • README 拆分为中英双版本(README.md 中文 / README.en.md 英文,顶部语言切换链接);
  • e2e 新增 worldview detect/登记/用语扫描断言,全部通过。

工具清单(13 个)

novel_books · novel_chapters · novel_read · novel_keywords · novel_new_chapter · novel_import · novel_sentence_analysis · novel_sentence_config · novel_style_check · novel_plot · novel_settings · novel_summary · novel_continuity_check

安装(npm)

dsh plugin --profile web add dsh-novel-writer

或 npm install dsh-novel-writer

v0.8.1

Choose a tag to compare

@siweina siweina released this 16 Aug 19:30

dsh-novel-writer v0.8.1(v0.8.0 修订版)

本次修订内容

  • e2e 测试完善(test/e2e-test.mjs):
    • 工具数断言错误信息更明确:expected 13 tools (v0.8.0)(带版本号,方便定位);
    • 分析报告缓存路径检查改为验证新数据目录(
      eportFile 应含 �nalysis/ 而非旧 cache/),与 v0.8.0 统一数据目录结构对齐;
  • 版本号与 README 同步更新至 v0.8.1。

功能与 v0.8.0 完全一致,仅测试断言与文档修订,无插件行为变化。

工具清单(13 个)

novel_books · novel_chapters · novel_read · novel_keywords · novel_new_chapter · novel_import · novel_sentence_analysis · novel_sentence_config · novel_style_check · novel_plot · novel_settings · novel_summary · novel_continuity_check

安装(npm)

dsh plugin --profile web add dsh-novel-writer

或 npm install dsh-novel-writer

v0.8.0

Choose a tag to compare

@siweina siweina released this 16 Aug 19:20

dsh-novel-writer v0.8.0(记忆层版本)

在 v0.7.0 全开关基础上补全「记忆层」:四张设定表、章节摘要、连贯性审计、伏笔字段化与提及追踪、细节密度指标、统一数据目录、UI 路径可视化修复。

新增工具(13 个)

  • novel_settings(设定管理):四张表——人物卡(性格/关系/别名)/ 地点卡 / 道具清单(持有者/状态)/ 时间线(第几天/事件),list/add/update/delete + scan 候选提取;
  • novel_summary(章节摘要):模型生成、插件存储(每章 200-500 字 + 关键事件 + 关键设定),长书续写先读摘要;
  • novel_continuity_check(连贯性审计):对照设定表扫描全书 → 数字口径 / 人物缺场 / 别名未用 / 重复条目矛盾候选,报告落盘 audits/。

分析增强

  • 细节密度指标(density):动作链密度 / 物件名词 / 感官词(视觉/听觉/触觉/嗅觉/温度),千字归一,进 novel_sentence_analysis 与 novel_style_check;
  • 关键词结果落盘到统一数据目录(reportFile)。

伏笔升级

  • novel_plot 字段化:type / priority / relatedCharacters / locations / payoffCondition / mentionedIn / lastMentioned;
  • 新增 scan 动作:扫描章节文本自动更新 open 伏笔的提及记录。

数据目录统一(核心)

<书库根>/.novel-writer/ 下五子目录:plots(伏笔)/ settings(设定)/ summaries(摘要)/ analysis(分析报告+关键词)/ audits(审计报告);旧伏笔位置自动迁移。

UI 修复(A6+B1+B2 连环 bug)

  • 修复 config.root 空字符串导致 ?? 不生效、路径永远不显示的问题(空串回退 lastRoot);
  • 面板新增「刷新」按钮;打开/复制按钮不再禁用;显示统一数据目录 dataDir。

修复

  • continuity 数字口径误报(两次修复):① 过滤单字数字(154→22 条);② 正则收紧为只提取带明确单位的数量表达(22→2 条,仅剩真实疑点);
  • 审计报告文件为单文件覆盖式,不会无限增长;
  • e2e 测试内置 DSH schema 规则 + lossless JSON 检查 + cordis 空字符串配置场景。

仍存问题(v0.9 候选)

  1. 世界观在续写时难以分明:设定为欧洲中世纪风时续写混入中式元素("老夫/上香/半个时辰/婶子"等)——根源是设定表缺"用语风格/文化基准"维度;v0.9 方向:第五张表「世界观/用语规范」+ 用语风格扫描 + 续写提示词用语一致性检查;
  2. continuity 数字口径修复需重启生效;
  3. 统计偏差提示偏"事后诸葛亮",尚不能前置约束写作;
  4. 分析报告按 hash 命名,缺少按书+章节可读命名的浏览视图。

工具清单(13 个)

novel_books · novel_chapters · novel_read · novel_keywords · novel_new_chapter · novel_import · novel_sentence_analysis · novel_sentence_config · novel_style_check · novel_plot · novel_settings · novel_summary · novel_continuity_check

安装(npm)

dsh plugin --profile web add dsh-novel-writer

或 npm install dsh-novel-writer

v0.7.0

Choose a tag to compare

@siweina siweina released this 16 Aug 18:41

dsh-novel-writer v0.7.0(全工具 UI 开关版)

10 个工具全部带独立 UI 开关,面板更名「写作助手功能」。

新增能力

  • 10 个工具全部独立 UI 开关(侧边栏「写作助手功能」面板):novel_books / novel_chapters / novel_read / novel_keywords / novel_new_chapter / novel_import / novel_sentence_analysis / novel_sentence_config / novel_style_check / novel_plot,默认全开,关闭后 AI 调用会收到明确提示;
  • UI 更名:侧边栏入口/面板/横幅由「句式分析」改为「写作助手功能」,设置页卡片同步;
  • 每个工具开关下带易懂说明(中/英,另带 hover 完整说明);
  • 伏笔登记路径可视化:面板显示真实存储位置(<书库根>/.novel-writer/<书名>.json)+「打开文件夹」(宿主端 reveal 接口)+「复制路径」按钮;
  • novel_sentence_config 升级:支持 tools 参数(如 { novel_plot: false })批量改开关,返回全部 10 工具开关状态;
  • lastRoot 机制:novel_plot 每次操作记录书库根到 state,供 UI 显示真实路径;
  • reveal 路由:/api/dsh-novel-writer/reveal(target 白名单仅 plots-dir,防路径注入,loopback 围栏)。

修复

  • DSH schema 兼容修复:additionalProperties 由 schema 对象改为布尔值(DSH 校验器要求),解决启动崩溃;
  • lossless JSON 修复:novel_plot 返回的伏笔条目清洗 undefined 字段,满足 DSH 工具通道要求;
  • e2e 测试内置 DSH schema 规则检查。

已知问题(待 v0.8 修复)

  1. 伏笔路径显示受 config.root ?? state.lastRoot 空字符串 bug 影响:cordis 注入未配置参数为空串 "" 时,?? 不生效 → UI 路径一直显示兜底模板、打开/复制按钮不可用(根因已定位);
  2. 面板只在页面加载时拉取一次路径,伏笔操作后不自动刷新;
  3. 按钮在路径未知时禁用,用户无法通过 UI 触发刷新。

安装(npm)

dsh plugin --profile web add dsh-novel-writer

或 npm install dsh-novel-writer

v0.6.0

Choose a tag to compare

@siweina siweina released this 16 Aug 17:08

dsh-novel-writer v0.6.0(工程化升级版)

系统性解决实战演练暴露的 12 个问题:关键词拆碎、情感噪音、无风格自检、无缓存、无伏笔管理、局域网保存失败等。

分析引擎

  • 关键词升级(novel_keywords):新增三字组(cjk-trigram)与疑似人名识别("XX说/道/问/喊"与"XX小姐/导师"模式)——人名不再被拆成"露西+西亚";
  • 情感词典去噪:单字词搭配排除("叹气"不算"气"、"笑道"不算"笑")+ 否定过滤("不害怕"不计)+ 副词距离窗口化("非常开心"才加权);
  • 分类改进:祈使句支持"快睡吧,明天还要上班"式;环境词表扩充;
  • 情感曲线粒度可调:curveSegments 参数(1-50,默认 20);
  • 修复分段缺陷:仅末尾空行的文本不再被合成一段。

新增工具(共 10 个)

  • novel_style_check(风格自检):任意章节 vs 全书其余 → 余弦相似度 + 句式/句长/情绪偏差清单 + 续写建议;
  • novel_plot(伏笔登记表):list/add/update/done/delete,持久化到书库根。

工程能力

  • 分析缓存 + 报告导出:novel_sentence_analysis 结果自动缓存,返回 reportFile/cache(hit/miss) 字段,fresh=true 强制重算;
  • novel_import 异名同书提示:scan 分组带 maybe 字段;
  • 局域网开关可选放行:config allowLanState: true 时 state 路由放行同源局域网请求;
  • 测试增强:新增 e2e 全链路测试(10 工具 + 缓存 + 伏笔 + 自检 + 路由)。

工具清单(10 个)

novel_books · novel_chapters · novel_read · novel_keywords · novel_new_chapter · novel_import · novel_sentence_analysis · novel_sentence_config · novel_style_check · novel_plot

安装(npm)

dsh plugin --profile web add dsh-novel-writer

或 npm install dsh-novel-writer

v0.5.0

Choose a tag to compare

@siweina siweina released this 16 Aug 16:19

dsh-novel-writer v0.5.0(合并版)

v0.3.0(深度句式分析 + 侧边栏开关)与 v0.4.0(批量导入 + 设置页卡片)的合并版。宿主端零第三方依赖,浏览器端仅依赖 Web GUI 自带的 react。

新增/合并

  • 句式模式分析(novel_sentence_analysis,引擎 lib/analysis.js 合并):
    • 九类句式:陈述 / 环境(v0.4.0 并入)/ 心理 / 对话 / 疑问 / 反问 / 感叹 / 祈使 / 省略留白;
    • 排列规律:句式转移 + 2/3 连句模板 + 段首/段尾句式 + 按章节的压缩节奏序列(v0.4.0 并入);
    • 深度保留:情感曲线、句长节奏、段落结构、风格指纹、例句;
    • guidance 节奏建议(v0.4.0 并入)+ maxSentences 采样上限;
    • 风险约束:"句式模式是参考节奏而非模板套用,僵硬时优先自然表达"。
  • novel_import 批量导入(v0.4.0 整体并入):scan 预览 / apply 执行,book 强制归并异名同书、files 精确导入、move 移动、子文件夹递归。
  • 开关统一:侧边栏「句式分析」面板(总开关 enabled + 子开关 autoAnalyze + 状态横幅);设置 > 插件配置 卡片只读状态 + 跳转按钮;默认开启。
  • 工程做法择优:ctx.inject(["webServer"]) 可选注入(headless 兼容);保留 loopback 安全围栏;兼容读取 v0.4.0 的 novel-writer.json / config.stylePattern;自带 test/。

工具清单(8 个)

novel_books · novel_chapters · novel_read · novel_keywords · novel_new_chapter · novel_import · novel_sentence_analysis · novel_sentence_config

安装(npm)

dsh plugin --profile web add dsh-novel-writer

或 npm install dsh-novel-writer

v0.4.0

Choose a tag to compare

@siweina siweina released this 16 Aug 16:08

dsh-novel-writer v0.4.0

DSH(DeepSeek Harness)小说写作助手 bundle 插件。零第三方依赖(仅 Node 内置模块)。

新增(v0.4.0)

  • novel_import 工具:原稿件文件夹批量导入/自动分类(scan 预览 / apply 执行,支持 book 强制归并异名同书、files 精确导入、子文件夹递归);
  • novel_style_pattern 工具(lib/pattern.js,轻量引擎):七类句式(陈述/环境/心理/对话/疑问/反问/感叹),三元组高频组合 + 按章节的压缩排列序列,用于模仿原文叙事节奏;
  • stylePattern 开关(默认关闭):控制句式模式仿写工具与提示词;官方设置页卡片(设置 > 插件配置)勾选式开关,即时生效写入 \/novel-writer.json\;
  • ctx.inject 可选注入:headless 等无 webServer 的 profile 自动跳过,不导致加载失败;
  • 自带 test/:引擎与 client 契约测试。

工具列表

novel_books · novel_chapters · novel_read · novel_keywords · novel_new_chapter · novel_import · novel_style_pattern

安装(npm)

dsh plugin --profile web add dsh-novel-writer

或 npm install dsh-novel-writer

v0.3.0

Choose a tag to compare

@siweina siweina released this 16 Aug 16:04

dsh-novel-writer v0.3.0

DSH(DeepSeek Harness)小说写作助手 bundle 插件。宿主端零第三方依赖(仅 Node 内置模块),浏览器端仅依赖 Web GUI 自带的 react。

新增(v0.3.0)

  • 句式模式分析(novel_sentence_analysis):句式分布(陈述/对话/心理/疑问/反问/感叹/祈使/省略留白)、排列规律(句式转移、2/3 连句高频模板、段首/段尾句式、纯对话段/纯心理段统计)、句长节奏、主观情感(喜/怒/哀/惧/惊情感词典 + 强度副词加权 → 主导情绪、情感曲线、主观性指数)、风格指纹;
  • Web UI 开关:侧边栏「句式分析」面板(enabled / autoAnalyze),宿主端 state 文件持久化 + 浏览器 localStorage 降级;
  • novel_sentence_config 工具:查看/修改句式分析开关,与 UI 双向同步;
  • 宿主端 /api/dsh-novel-writer/state 路由(loopback 围栏);
  • 更新 SKILL.md / 系统提示词中的句式分析工作流。

工具列表

novel_books · novel_chapters · novel_read · novel_keywords · novel_new_chapter · novel_sentence_analysis · novel_sentence_config

安装(npm)

dsh plugin --profile web add dsh-novel-writer

或 npm install dsh-novel-writer