v3.9.5
📚 dsh-novel-writer v3.9.5 — 全量缺陷整修版
基于 3.9.1 对 7 路代码审查确认的 81 项缺陷(高6/中26/低23/提示级可修项)做全量修复,并完成回归验证。完整明细见仓库 CHANGELOG.md。
🔴 高危(6)
- schema 契约:novel_sentence_analysis 关闭分支补齐必填 totalChars(不再出现 "undefined 字")
- novel_settings 参数 schema 补齐 bannedWords/recommended(此前按文档调用必被拒绝)
- e2e 测试不再触碰用户真实 ~/.dsh 配置(env 隔离 + 系统临时目录)
- 连续句末标点不再拆成孤立标点句(太好了!!!=1 句)
- 隐性意象双计修复(细雨+雨/灯火+灯/苦笑+笑 不再重复)
- 意象歧义裁决量纲修复(占比/次数不再混算)
🟠 主要中危修复(节选)
- 语义增强全面受功能开关控制;语义隐性情感缓存残留清理
- 世界观 bannedWords/speechStyle 分条目选取;语用冲突不再输出 undefined
- 无 BOM UTF-16(含纯 ASCII)编码探测顺序修正
- 分析缓存键纳入 top/curveSegments 等参数;指纹改用内容哈希
- novel_new_chapter wx 原子写入;伏笔/摘要/设定读改写事务化
- timeline 定位/改名语义说明;settings scan 按类别分派
- 仪式用词正则补"炷/两"(上炷香/上两炷香可检出);称谓仅规范禁用"小姐"时扫描
- 版本比较剥离 +build 元数据;语义对比基准等距抽样;缓存文本 120→200 字
- 依赖对齐 onnxruntime-web 1.24.3(lock/node_modules 一致)
- 客户端:初次加载 rev 竞态守卫、保存后回读完整状态、报告 catch 守卫、面板重建先卸载 React root
🟡 其他
- 死代码/死变量清理(metricBaseline/lastSettingName/cjkChars/QUESTION_WORDS/EMOTION_EXCLUDE 等)
- numberToCjk 支持至 9999;导入改名不再产生同章号;summary delete 假成功修复
- 祈使句判定重写(别走!/请坐。→imperative);第一人称补 俺/咱;五感词去重;修饰密度排除名词"地";剥 Markdown 标题行
- 新增 CHANGELOG.md;release.yml 加 tag/version 守卫并移除 npm install 降级
✅ 验证
- unit 14/14、pattern ALL PASS、client CLIENT OK、e2e ALL PASS(含新增 3.9.5 回归断言)
- 本 Release 由 GitHub Actions 自动完成:测试 → npm publish → 打包 zip
zip 内含 node_modules(CI 环境 npm ci 产物),解压即用。