跳过主要内容
F

novelAssist-dsh (plugin)

fenghuolinshan/novelassist-dsh/plugin

长篇小说写作插件:每本书一个 git 仓库,当前 39 个 DSH 领域工具 + Web 写作台;深度导入产候选草稿、AI 采用类写入正式资产前必过审批、确定性连续性检查(报告型)。独立开源(MIT),非 DeepSeek 官方产品;需 Node ≥ 24.11.0,当前适配 DSH 0.1.2-rc.1。

安装

dsh plugin --profile web add github:fenghuolinshan/novelassist-dsh

该插件位于仓库的 plugin 子路径下。

README

novelAssist-dsh

NovelCraft M4 —— 「自主智能式作家助手」的 DSH 插件族 monorepo。旧 FastAPI/PG/Vue 引擎 已于 2026-08-14 退役(归档于 annotated tag old-engine); 本仓库只承载 M4 纯 TS 确定性 核心 + DSH 挂载适配 + web 客户端。

结构

目录内容
packages/novelcraft/16 个纯 TS 包: vault/store/llm-step/writing/imports/world/outline/memory/context/rag/rag-bge(可选 BGE 嵌入后端, N22)/assistant(13 核心)+ dsh(唯一 DSH 接触面)+ client(双面包 UI)+ trace(trace contract 框架)+ preset
plugin/公开 npm bundle novelcraft-dsh: 预构建宿主插件 + Web client + cordis.patch.yml
specs/R0 规格: assets(资产 schema)/ prompts(catalog 34 spec)/ rules(store-rules R1–R64 + policy-defaults)/ adjudications(二十一批裁定, N1–N61)
docs/adr/ADR-0016~0025(M4 重写、仓库/共享层、结构关系、map atlas、事务/恢复、生命周期、capability 与源码分发)
docs/agent/dsh-rebuild/M4 交接/设计/验收文档(单一事实入口: 跨会话交接.md; 总进度: STATUS-M4.md)
starter/一键安装 starter

核心原则

  • 文件是唯一真相: 每书一个 git 仓库(vault), 资产 = frontmatter 文件 + git commit; 派生 索引任何时刻可全量重建; git 本身就是回滚面。
  • 核心包零 DSH 运行时依赖: 内容手/编排为纯 TS 确定性库, DSH 接触面唯一收敛在 @novelcraft/dsh
  • adopt 必过 approval: 采用类资产写入由助手 agent 经 DSH approval(fail-closed, allowed-once 只放行一次); 客户端 RPC 通道(loopback)只读信号 + 记录决定, 不写资产。
  • 内容手受控: 每个 llm_step 带 output_schema/预算/超时/journal, 由确定性工作流编排。

快速开始

运行时要求 Node >=24.11.0。推荐从 npm 安装已预构建的 DSH bundle:

dsh plugin --profile web add novelcraft-dsh
dsh --profile web

公开发布面只有 novelcraft-dsh;16 个内部 workspace 继续保持 private: true,由发布构建合并为单个可安装包,不暴露内部包拓扑。

源码开发

默认 profile 不安装可选 BGE/Transformers 链:

npm ci --omit=optional
npm run build       # 固定依赖拓扑构建
npm test            # 全仓测试全绿
npm run typecheck   # 零错误
npm run check:distribution
npm run check:audit-gate && npm run audit:default
npm run pack:plugin # 构建并检查可安装 tarball
npm run bench:continuity # 结构维护连续性基准(错误注入→检测器捕获率矩阵, 仅报告不设门禁; --json 可选)

仅在需要本地 BGE 嵌入时显式安装 optional profile,并单独验证:

npm ci --include=optional
node --input-type=module -e "const m=await import('@huggingface/transformers'); if(typeof m.pipeline!=='function'||!m.env) throw Error('invalid runtime')"
npm test -w @novelcraft/rag-bge
npm run audit:bge

默认 embedding: off;可选包缺失或加载失败时检索降级到文本链并记录 embedding_failed,不会阻断写作。

文档

  • 架构事实/安全边界/坑清单/复现命令: docs/agent/dsh-rebuild/跨会话交接.md
  • 总进度: docs/agent/dsh-rebuild/STATUS-M4.md
  • seam 契约: packages/novelcraft/README.md + dsh/README.md + client/README.md
  • 工具清单: docs/TOOLS.md
  • 数据与隐私: docs/PRIVACY.md
  • 设计: docs/agent/dsh-rebuild/自主智能式作家助手设计.md(D1–D25)

相关插件