前言¶
在 DeepSeek Harness(DSH)里用模型写同人,常见做法是直接丢原文和要求,等模型吐出一篇新文。问题在于:设定冲突、人物 OOC、伏笔失收往往要改完才发现,成本高且难追溯「当时模型忽略了什么」。二创工坊(dsh-fanwork)把流程拆成可审查的步骤:先对原文做结构抽取与逻辑风险体检,每条风险带原文引证和修复选项;你在界面上逐条裁决后,再并行生成多篇立意不同的候选稿,每稿由独立审稿提示词给出六维评分与问题清单,定稿时可导出正文与审计附录。插件不内置模型、不带额度,需自备 OpenAI 兼容接口与 API Key。
这是什么¶
dsh-fanwork 是维护者 gothepharnayadlsos-cyber 发布的 DeepSeek Harness 插件,在 SkillHub 目录中归类为工作流。它将「让模型写二创」变成可裁决的流水线:结构 digest → 逻辑风险报告 → 人工决策 → 并行多稿 → 逐稿审核 → 导出。社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
逻辑风险体检¶
体检阶段使用 4 族 17 类风险分类(完整定义见仓库 lib/prompts.js),每条风险需有原文引证,无引证不成立。节选示例:
| 族 | 编号 | 类别 | 判定问题 |
|---|---|---|---|
| 冲突 | C1 | 设定冲突 | 同一规则或能力是否被两次不同地陈述 |
| 冲突 | C2 | 时间冲突 | 事件先后、年龄、季节能否同时成立 |
| 缺口 | G1 | 动机缺口 | 关键行为是否有与其分量匹配的铺垫 |
| 结构 | S1 | 伏笔失收 | 已埋伏笔是否被遗忘或突兀回收 |
| 体验 | E1 | OOC | 行为是否偏离人物既定性格与关系 |
| 体验 | E4 | 合规风险 | 是否触及版权、敏感内容或平台规则 |
决策台账与多稿生成¶
用户对每条风险选择修复方案,或在「更多要求」中手写约束;选择写入决策台账,并作为约束注入生成。生成阶段默认并行 2–3 稿,立意可区分(如正面推进、侧面切片、反向假设)。每篇候选稿经六维审核:原作一致性、人物保真、内部逻辑、需求覆盖、合规、文笔。
长文与采样¶
- 原文 ≤ 1.2 万字:一次调用抽取骨架(人物 / 设定 / 时间线 / 事件 / 伏笔)。
- 原文 > 1.2 万字:按 1.2 万字切块,并发解析后合并去重(并发数可在配置中调整)。
- 体检阶段对超过 1 万字的原文按段落均匀采样(保留原句,引证仍可定位),界面会标注「采样」。
README 中给出的实测参考(4.2 万字原文、2 篇候选、800 字目标篇幅):骨架 4 块并发约 70 s,体检约 70–110 s,整段约 2.5–3 分钟;2 万字以内体验最好。
隐私与数据落盘¶
API Key 仅保存在本机 <dataDir>/settings.json(默认 ~/.dsh/fanwork,权限 0600),页面只显示掩码;项目数据在 ~/.dsh/fanwork/projects/<id>/,不做遥测。导入原文支持拖入 .txt / .md、选择文件,或填写本地路径(支持 ~,≤ 4 MB)由服务端读取,文件不进浏览器、不上传。
安装与启用¶
插件要求 DSH 版本 >=0.2.0-rc.2 || >=0.2.1-rc.2(见 package.json 的 engines.dsh)。安装后 /fanwork 路由自动挂载,无需改配置文件。
方式 A:插件市场(推荐)¶
在 DeepSeek Harness 中打开 设置 → 插件,搜索 dsh-fanwork,安装并按提示重启。
方式 B:命令行¶
dsh plugin --profile <你的 profile> add dsh-fanwork
装完重启 DSH。
卸载¶
dsh plugin --profile <profile> remove dsh-fanwork
本地 link 安装时使用仓库脚本加 --uninstall(见 README「方式 C」)。
典型用法¶
准备: OpenAI 兼容的接口地址、模型名、你自己的 API Key。未配置时生成类接口返回 403 NOT_CONFIGURED。
- 打开
http://127.0.0.1:<DSH 端口>/fanwork,或在 DSH 输入框执行/fanwork获取当前地址(端口随启动可能变化;插件也会写入<dataDir>/last-url.txt)。 - 第 0 步 · 配置 API:填写接口地址(如
https://api.deepseek.com)、模型名(如deepseek-chat)、Key,可先「测试连接」,再「保存并开始」。 - 导入原文并填写创作要求(方向、篇幅、视角、风格、禁忌、补充要求),点「开始体检」。
- 逐条裁决风险:选修复方案或展开「更多要求」。
- 点「应用裁决并生成」,得到多篇候选及六维审核报告;不满意可用「按新要求换一批」,满意则「采用此稿」。
- 导出:项目目录下的
export.md(正文 + 风险报告附录 + 决策台账)。
工作流概览:
原文 + 创作要求 → 骨架抽取 → 风险体检 → 用户裁决 → 多稿生成 → 六维审核 → 定稿导出
↑ 不满意时「更多要求」可回到多稿生成
配置¶
在插件行或 profile 的 cordis.patch.yml(id: fanwork)中修改 config::
| 字段 | 默认值 | 含义 |
|---|---|---|
candidates |
3 |
每次生成几稿(1–4) |
concurrency |
4 |
长文分块解析并发(1–6) |
reasoningEffort |
low |
推理强度;长文本建议保持 low,否则推理易占满 token 预算 |
callTimeoutMs |
600000 |
单次模型调用超时(毫秒) |
dataDir |
~/.dsh/fanwork |
项目数据目录 |
接口地址、模型名、Key 不在上述 YAML 中,仅通过页面写入 settings.json。
适用场景与注意¶
适合: 需要在二创前系统排查原文逻辑与设定风险、希望保留「为何这样改」的决策记录、并对比多篇不同立意稿件的同人作者或工作流爱好者。
注意:
- 插件以当前 DSH 进程的权限运行;安装前应自行查看 GitHub 源码 与 MIT 许可证,确认可接受其行为(含读本地文件、调用你配置的远程 API)。
- 二创请自行确认原文使用权;导出文件已附原作信息与二创声明。
- 体检长时间无响应时,可查看
<dataDir>/fanwork.log(JSON 行日志);常见原因是reasoningEffort过高。
结尾¶
二创工坊把「写二创」从单次 prompt 变成可审查、可裁决、可导出的流水线,适合在意设定一致性与改写可控性的场景。插件目录页:SkillHub · dsh-fanwork;源码与完整 HTTP 接口说明:github.com/gothepharnayadlsos-cyber/dsh-fanwork。