← 返回列表
✓ 可直接安装
DeepSeek Harness…
自动检查通过:npm 包已发布且 engines 声明满足基线;该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/24 · 已提供中文文档
DeepSeek Harness 的「单核写作」插件:面向量化小模型做了充分的工具瘦身与输出加固,适合在本机用本地模型跑长篇小说流水线。
综合分
35.4
GitHub 分
35.4
用户评分
—
★ Stars
8
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-novel-solonpm 包 dsh-novel-solo 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 4 天前真实安装成功(L4 · 真实安装)
- 是什么
- dsh 原生插件 · other
- 装得上吗
- 本站已真实安装成功(L4 · 真实安装,非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 1 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/22
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/25(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-novel-solo @ 0.1.6
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/20 11:27:52
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-locale@deepseek-ai/schemastery用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-novel-solo
DeepSeek Harness 的「单核写作」插件:一个 子 agent 并发数量设置 + 一套完整的小说创作预设(persona)。面向量化小模型做了充分的工具瘦身与输出加固,适合在本机用本地模型跑长篇小说流水线。
特性
- GUI 设置:在插件页提供「子 agent 数量(1-12)」设置卡片(0.1.7 在左侧栏「插件」,0.1.6 在「设置 → 插件」),随插即用,支持中/英双语。
- 完整创作预设:随插件附带 novel-solo 预设,内置自驱写作 persona——按固定流水线完成 叙事方法 → 核心世界观 → 名词索引 → 大纲 → 章节目录 → 人物档案 → 逐章写作 → 章节审核 → 全书终审与合订。
- 量化安全协议:输出只用常用汉字/普通标点、禁 JSON、禁转义、少用易崩 token;非必要不调工具、一次只调一个。
- 审核闭环:每章必审(绿黄红三色),A–G 七个维度(设定/人物性格/目录/叙事/正文规则/禁AI腔/剧情逻辑),审核报告落盘为 md;全书完成后统一终审并合订为单本书。
- 禁AI腔:按六维度判定(句式模板/词汇套话/情绪直给/结构雷同/信息稀释/人物失真),区分叙述层重复与人设层一致,写作与审核共用。
- 工具瘦身:预设内行级禁用 shell/jobs/skills/goals/web 等整行工具,压缩工具目录 schema。
- 版本化写作:每章 第N章-章节名字-vX.md,整章重写先复制 v(X+1)、旧版永不覆盖。
安装
dsh plugin --profile web add "dsh-novel-solo"
dsh web
打开插件页——0.1.7 是左侧栏的「插件」,0.1.6 是「设置 → 插件」——即可看到 dsh-novel-solo 的「子 agent 数量」卡片。
0.1.7 之前的宿主还会把 template/ 里的预设幂等铺设到 /.agent-presets/novel-solo/(那是旧宿主唯一的预设入口;目标已存在则跳过,绝不覆盖你已编辑的预设)。0.1.7 起不再铺设,预设就是 profile patch 里的一行声明。
宿主版本兼容性
本插件同时支持 DSH 0.1.6 与 0.1.7,按宿主自身版本二选一走哪条路。版本探测由两半各做一次、口径一致:cordis.patch.yml 里 preset-novel-solo 行的 disabled: !!js,以及 lib/index.js 的 isLegacyHost,都从 ctx.profileContext.installAnchor 读宿主版本,读不出来一律退回 0.1.6 路径。
| | 0.1.6 | 0.1.7 |
|---|---|---|
| 预设交付 | 铺设 template/ 到 /.agent-presets/novel-solo/ | patch 里的声明行 @deepseek-ai/dsh-agent-preset |
| N 存哪里 | 插件自己向 settings 服务注册的 dsh-novel-solo 命名空间 | 本包的 Config(count 标了 volatile),由宿主投影进 profile patch |
| 卡片挂载 | settingsScope + settings.plugin.item 插槽 | configForms + plugins.item 插槽 |
两条路都在真宿主上跑过:0.1.7 一侧用 0.1.7-rc.1 验证(卡片出现在「插件」页、保存落进 cordis.patch.yml、预设进入选择器);0.1.6 一侧因为本机没有 0.1.6 的宿主可执行文件,只做了同一版本门控的离线验证。
0.1.5 起 persona 使用 @deepseek-ai/dsh-persona 的新配置字段 prefix(0.1.2-rc.1 的旧字段 text 已移除),更老的宿主需要手工把 persona 行的 text: 改名成 prefix:(complete / includeRuntimeContext 不变)。每个宿主 home 各持一份铺设副本,旧 home 的 text: 副本切回旧宿主仍可用。
子 agent 数量如何影响行为
DSH 的 agent/request 瀑布只允许插件改写 LLM 路由/config,不能注入或改写 system/messages,所以「GUI → 模型提示」的动态注入不能走请求瀑布。本插件改用文件中转:
1. 设置卡片把 N 存进宿主设置(见上表),那里才是事实源。
2. 装载时 node 半区把它镜像到 /.dsh-novel-solo-data/agent-count.json。
3. persona 行在预设装载时用 !!js 读 template/persona.md,把文件里的同步锚点 并发上限 N= 换成镜像里的数字。persona 据此决定:N=1 全部由主代理一人完成;N>1 写作/审核交给子代理、主代理只派活并静默等待。
注意:镜像和 persona 都是在宿主装载插件的过程中解析的,所以改完数量要重启宿主才会进到提示词。0.1.7 的 volatile 设置在 node 侧没有变更回调,实时推送做不了。
预设内容速览
persona 正文在 template/persona.md;template/agent.cordis.yml(同步进 cordis.patch.yml)负责它周围的工具行。内容:
| 区块 | 内容 |
|---|---|
| 分工模式 | 并发上限锚点 N=1(默认),N=1 / N>1 两种执行路径 |
| 量化安全铁律 | 输出与工具调用的最优先级约束 |
| 六类文档标准结构 | 叙事方法 / 核心世界观 / 名词索引 / 大纲 / 章节目录 / 人物档案 逐字段模板 |
| 写作与审核规范 | 正文规则、禁AI腔清单、章节审核 A–G + 绿黄红、审核报告 md、全书终审与合订 |
| 工具使用标准 | read/write/edit/glob/grep/subagent 等逐工具铁律 |
| 项目与纪律 | 项目目录 {{cwd}}/项目名/、一次只做一件事等 |
工具瘦身
预设通过行级 disabled: true 硬禁用:tool-bash、tool-jobs、skill-filesystem、tool-skill、tool-goal、plan-mode、subagent_codex、subagent_claude_code、workflow-worker-thread、tool-workflow、tool-ralph、tool-todo、tool-web。保留 tool-fs(read/write/edit)、tool-fs-search(glob/grep)、str-replace-editor(view/create/str_replace/insert)、tool-pwsh(已解禁,仅做文件系统管理:改文件夹/文件名、删除文件夹/文件)、subagent/subagent_fork、list_agents 等。
随包还携带一个 preset 作用域的 vendored 插件(仅对挂载 novel-solo 预设的会话生效):
- template/plugins/llm-tool-choice-pin/index.mjs(出口名 dsh-novel-solo/plugins)— 把 llama provider 的 toolChoice 钉为 auto,让 edit 等保留工具可被调用(小模型下避免每次请求都做工具决策)。
文件结构
lib/index.js node 半区:宿主版本探测、数量镜像、设置接缝(0.1.7 volatile Config 表单 / 0.1.6 命名空间)、旧宿主预设铺设
lib/client.js 浏览器半区:「子 agent 数量」卡片,分别挂到 plugins.item(0.1.7)与 settings.plugin.item(0.1.6)
cordis.patch.yml 安装进 web profile 的层:插件行 + 声明式 novel-solo 预设行(0.1.7 以下禁用该行)
cordis.yml 开发用 overlay:只插插件行、不带预设
template/ novel-solo 预设(agent.cordis.yml + persona.md + preset.yml + vendored 插件),随包分发
scripts/sync-preset-patch.mjs 把 template/agent.cordis.yml 同步进 patch 的生成区,--check 校验一致性
package.json dsh.bundle / dsh.client 元数据,使插件可被插件市场/清单识别
npm run check 会语法检查两半区,并重跑上面的 patch/模板一致性校验。
环境变量
| 变量 | 作用 | 默认 |
|---|---|---|
| DSH_HOME | dsh 根目录 | ~/.dsh |
| DSH_NOVEL_SKIP_DEPLOY | 1 时跳过预设铺设(只影响旧宿主路径) | 无 |
| DSH_NOVEL_REDEPLOY | 1 时强制覆盖已存在的预设(慎用) | 无 |
特殊说明
本插件在以下环境使用本地模型完成完整测试:
- 运行框架:llama.cpp(llama-b10615-bin-win-cuda-13.3-x64)
- 测试模型:Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-IQ4_XS.gguf
- 上下文:ctx=65536,reasoning on
- 设备:笔记本 RTX 4060 8G + 32G 内存 + AMD 7840H CPU
- 实测成绩(约 1 万字文本小说):22 token/s,缓存命中 98%;输入 78.8k / 输出 36.9k / 缓存 2.3M;22 轮 63 步,总耗时 1 小时 03 分 42 秒
关键启动参数(llama-server):
llama-server.exe -m --no-mmproj --load-mode none --n-cpu-moe 30 -c 65536 -ngl 999 -t 12 -b 1024 -ub 512 -ctk q8_0 -ctv q8_0 -fa on --fit off --no-warmup --poll 0 --temp 0.85 --top-k 20 --top-p 0.95 --min-p 0.05 --repeat-penalty 1.35 --presence-penalty 0.2 --frequency-penalty 0.2 --dry-multiplier 0.8 --dry-base 1.75 --jinja --reasoning on --reasoning-effort medium --reasoning-budget 2048 --reasoning-format deepseek --reasoning-preserve --cont-batching -np 1 --alias "qwen3.6-novel-nsfw-reason" --port 8090 --host 127.0.0.1 --ui --keep -1 --cache-ram 4096 --ctx-checkpoints 64
参考来源
本插件的设计参考自 sailoumili/novel-writer。
许可证
MIT License
Copyright (c) 2026 Tkingxiao
特此免费授予任何获得本软件及相关文档文件(以下简称「软件」)副本的人,无限制地处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件的副本,并允许向其提供本软件的人这样做,前提是满足以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或实质性部分中。
本软件按「原样」提供,不提供任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权持有人均不对因本软件或本软件的使用或其他交易而产生、或与之相关的任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他方式。