deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:akira399/dsh-novel-writer
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
一个面向 DeepSeek Harness(DSH)的网络小说创作插件: 九阶段门禁式创作流程 + 世界书(lorebook)设定注入 + 本地书籍导入 + AI 一键润色 + 去 AI 味 + 黄金三章诊断 + 百万字一致性保障。
让 DSH 像一位专业的网文编辑与你协同:从选题、设定、人设、大纲到分章、正文、修订、完本,每一步有模板、有门禁、可校验、可回滚;并有世界书把你的设定固化下来,确保百万字不崩设定。
选题 → 设定 → 人设 → 大纲 → 分卷 → 细纲 → 正文 → 修订 → 完本
versions/<phase>/v<n>,可回退任意历史版本audit.jsonl
<JSONPatch> 自动落账(人物境界/物品/地点状态),冲突检测与巡检
reports/market.md)、模板复制(克隆完本品为模板)、灵感库/伏笔/术语表/账本查询novel_prompts 可浏览渲染
插件随包装载一个 「大肥鱼的小说工坊」agent 预设,在 DSH 新建会话时的模式选择器里即可选用——选中即"一键进入创作模式",不需要每次手动交代要写小说、要走流程。
三通道协同,约束模型行为:
novel-writing-workflow 技能,进入会话后加载完整创作方法论(阶段定义、模板用法、工具写法、写作规范),即使你不用 GUI 也知道每一步该怎么做;novel_* / lorebook_* 工具随预设全程可调,阶段推进、产物提交、校验、写章都必须走工具,防止模型"口头跳阶段"。为什么用预设:
使用方式:新建会话 → 预设选择器选「大肥鱼的小说工坊」→ 直接开始创作;或安装后自动同步到本地 ~/.dsh/.agent-presets/novel-writer/(升级插件自动更新)。
| 场景 | 怎么做 |
|---|---|
| 从零开一本新书 | 打开工坊 → 输入书名/选题材 → 或用「五步向导」逐步引导 |
| 已有完本/定好的设定 | 用「模板复制」克隆一本带完整设定骨架的新书,直接开写正文 |
| 想要热门题材方向 | 「市场调研」→ 引导 web_search 查榜单热词 → 落盘选题参考 |
| 把本地网文 txt/md 收进 DSH 续写 | 「导入本地书籍」→ 自动建书分章 → 可直接继续润色/续写 |
| 保证不崩设定 | 世界书固化设定 + 账本巡检 + 一致性校验在写作时自动织入 |
| 写完投稿 | 「导出 txt」或 Markdown / 平台排版下载 |
准备好这些就能开始:一台装好 DeepSeek Harness(DSH) 的电脑(DSH 快速上手)、一个能打开「终端 / 命令提示符」的入口即可。版本不挑系统,Windows / macOS / Linux 都支持;运行时需 Node.js ≥ 18(发布包为已编译产物,无需你构建)。
如果你在用某个能执行命令的 AI 助手(例如 DSH 里的智能体、或你的 AI 工具),直接复制下面这段话发给它,它会帮你下载、安装、并确认装好:
请帮我安装「大肥鱼的小说工坊」(dsh-novel-writer)这个 DSH 插件,并确认它启用成功。步骤: 1)下载安装包:访问
https://github.com/akira399/dsh-novel-writer/releases/download/v0.1.1/dsh-external-dsh-novel-writer-0.1.1.tgz下载这个.tgz文件(这是已编译好的安装包,不需要构建)。如果该版本不可用,就打开https://github.com/akira399/dsh-novel-writer/releases找到最新版dsh-external-dsh-novel-writer-*.tgz下载。 2)安装:在终端执行dsh plugin --profile web add <上一步下载的 tgz 绝对路径>。如果是首次用 DSH,先确认dsh命令在 PATH 里;若提示没有这个命令,告诉我,我改用绝对路径或帮你配置。 3)确认启用:执行dsh plugin list(或你能用的查看已装插件命令),确认dsh-novel-writer在列且已启用。 4)收尾提醒:告诉用户「在 DSH 网页上刷新页面(必要时强制刷新 Ctrl+Shift+R),侧边栏出现『大肥鱼的小说工坊』就装好了;若没出现,检查 DSH 插件列表里该插件的『启用』开关是否为开」。 遇到权限/网络问题(下载失败、写权限不足、命令不存在)时,先告诉我具体报错,再动手,不要静默跳过。**
打开 Release 页:访问 https://github.com/akira399/dsh-novel-writer/releases ,找到最新版本(如 v0.1.1)。
下载安装包:在列表里点开「Assets」,下载 dsh-external-dsh-novel-writer-0.1.1.tgz(注意不是 Source code 那两个 zip/tar.gz,是名字以 dsh-external- 开头、结尾是 .tgz 的那个)。
打开终端:
Win 键输入 powershell 回车,或打开「Git Bash」(若你装过 Git)。执行安装命令(把 <文件路径> 换成你刚下载文件的实际位置,例如桌面上的 ~/Desktop/dsh-external-dsh-novel-writer-0.1.1.tgz):
dsh plugin --profile web add <文件路径>
💡
--profile web表示装到默认网页 profile。如果你用的不是web(例如自己建的 profile),把web换成你的 profile 名;不确定就先跑dsh plugin list看看当前 profile。
确认装好:
dsh plugin list
看到 dsh-novel-writer 即成功;若显示「已禁用」,执行 dsh plugin enable dsh-novel-writer(或到 DSH 设置里打开开关)。
回到 DSH 网页:
Ctrl+Shift+R 强制刷新一次,确保加载最新界面)⚠️ 小白注意事项
- 报错「command not found / 不是内部或外部命令」= 终端没找到
dsh,先确认 DSH 已安装、或改用 DSH 的安装目录里的dsh。- 报错「Permission denied / 权限不足」= 当前用户没有写入权限,Windows 右键「以管理员身份运行」终端再执行;macOS/Linux 可尝试
sudo dsh plugin --profile web add ...。- 只要
dsh plugin add成功,不需要额外装任何依赖,插件自带的框架依赖由 DSH 提供。
适合想改源码 / 参与开发的人。需要先装有 Node.js ≥ 22(构建 toolchain 用较新 Node;仅使用发布包则 ≥18 即可)与 Git。
git clone https://github.com/akira399/dsh-novel-writer.git
cd dsh-novel-writer
npm install
npm run verify # 自检:类型检查 + 291 个单元测试 + 构建,全过才继续
npm run build # 编译 host + client
npm pack # 生成 dsh-external-dsh-novel-writer-0.1.1.tgz
dsh plugin --profile web add ./dsh-external-dsh-novel-writer-0.1.1.tgz
⚠️ 源码构建需要联网装依赖与较新 Node;若
npm run build因缺bash报错,Windows 用户请用 Git Bash(项目构建脚本是 Shell)。
不论用哪种方式,装完都应看到👇,即可正常使用本项目所有功能:
~/.dsh/dsh-novel-writer)novel-writing-workflow(创作全流程指导)💡 若某块没出现:先刷新页面;不行就重启 DSH,再在「设置 → 插件」里确认该插件「启用」开关是打开的。
--
novel-writing-workflow(创作全流程方法)数据目录默认 ~/.dsh/dsh-novel-writer/:
lorebook/ 世界书(entries/groups/settings)
projects/ 项目(book.json + docs/ + chapters/ + audit.jsonl + ledger.json + ...)
下面按功能逐个说明「在界面哪里点 / 在对话里怎么说」,两种方式共用同一份数据与流程,随你习惯。
topic 选题)与各阶段状态。也可以先点「一键导入示例《青云问道》」,一步得到一本带世界书条目的示例书,边看边学。
选题 → 设定 → 人设 → 大纲 → 分卷 → 细纲 → 正文 → 修订 → 完本,前一阶段未批准不能进入下一阶段(门禁)。novel_commit → 校验通过即批准解锁下一阶段。novel_phase / novel_commit),舞台右上角会显示当前阶段与门禁状态。docs/<阶段>.md + 留历史版本(versions/<阶段>/v<N>),随时可回退。lorebook_import_entries(Operit / SillyTavern / 角色卡格式,可直接发文件)。Lorebook)。.txt / .md 网文文件 → 自动识别章节标题(含"第一章/楔子/番外"等)并建书 → 全部正文按章同步,可直接续写/润色。novel_depolish 检测并改写(内置 234 词 5 类词库)。novel_validate。<JSONPatch> 自动落账(人物境界/物品/地点状态)。novel_consistency_audit 查账本冲突、时间线倒挂、伏笔超期,并给出世界书沉淀建议。novel_ledger。novel_foreshadow / novel_timeline。novel_revise(校对/节奏/文风三模式,产出新版本不覆盖原稿)。novel_export(txt / markdown / 平台排版)。novel_market_research mode=prompt 给你一组 web_search 检索词 → 模型检索后以 mode=report 把榜单热词/读者偏好/同类卖点落盘 reports/market.md → 选题报告里引用。novel_clone_project 复制字数目标/风格/禁用词 + 已完成的阶段设定文档(选题/设定/人设/大纲/分卷/细纲),正文不复制,状态机重置——直接对着现成设定写正文。novel_idea / novel_glossary(选题拉取聚合、术语注入防用词漂移)。💡 提示:几乎每个功能都有对应的
novel_*工具,模型在创作模式下会自己调用并提示你确认(写操作)。你不必记命令,用大白话提需求即可;想知道有哪些能力,对话里说「小说工坊能做什么」。
| 设置 | 默认 | 说明 |
|---|---|---|
| enabled | true | 插件总开关(关闭即注销工具/技能,数据保留) |
| dataDir | ~/.dsh/dsh-novel-writer |
数据根目录 |
项目级(创建时/模板复制保留):27 题材、每章字数目标(默认 2000-4000)、风格(视角/禁用词/AI 味词)、阶段门禁开关。
novel_*(项目/阶段/写章/校验/诊断/去味/巡检/账本/克隆/导出/市场调研…)+ lorebook_*(世界书 CRUD)+ novel_prompts(提示词库)novel_write_chapter 返回上下文包 → 模型输出正文 → novel_commit_chapter 落盘(统计/账本/审计)novel-writing-workflow(流程纪律与方法指导)/api/novel-writer/*(项目/章节/上下文/诊断/润色/导入,fence 头校验)Q:为什么要先发起一次对话才能写章/润色?
A:本插件复用你的主模型路由(llm/stream 捕获),不持有独立密钥。首次请先在会话里发一句话让模型路由就绪。
Q:导入的书正文会丢吗? A:不会。txt/md 按章节标题自动切分(含粘连标题、楔子/番外等),无法识别的按段落分块,内容完整同步。
Q:润色/写章会覆盖我的原稿吗? A:一键写章自动落盘(可撤销);一键润色先预览 diff,确认才保存,放弃可还原原文。
Q:世界书 AI 生成的内容安全吗? A:生成后是「待确认」的条目,写入前你可编辑/删除;注入时按书隔离。
npm run typecheck # host + client 双段
npm test # vitest(291 例)
npm run build # tsc host + tsdown client
node scripts/simulate-1m.mjs # 百万字一致性压测
模块开发纪律:每模块 → 单测 → 复盘(见 docs/MODULE-LOG.md)。
~/.dsh/dsh-novel-writer/,不联网上传MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。