Skip to main content

novelist-pipeline

批量写小说的流水线编排: 默认 mode=write 两流水线并行批量写(Writer 流 ‖ 检测定稿流, 每章 write→三环并行检测(check/humanize/proofread)→fix串行改→定稿)。加 mode 入参支持 review(评审)/humanize(去AI味)/proofread(校对)/polish(润色=三环收尾)/rewrite(重写)/outline(大纲)。载体: write 默认 Workflow(workflow.js), 其余默认 trellisx subagent 编排(main DAG 调度派 novelist 系列 skill, 并发上限2); --workflow/--no-workflow 覆盖。当用户说'批量写N章/写到第N章/连续写多章/逐章写/评审N章/校对N章/润色N章/去AI味N章/重写N章/出大纲'时调用。

Zur Installation springen

Quellinformationen

Repository
lazygophers/ccplugin
Letzte Quellaktivität
15. August 2026 um 02:22
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
4
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
novelist-pipeline
description
批量写小说的流水线编排: 默认 mode=write 两流水线并行批量写(Writer 流 ‖ 检测定稿流, 每章 write→三环并行检测(check/humanize/proofread)→fix串行改→定稿)。加 mode 入参支持 review(评审)/humanize(去AI味)/proofread(校对)/polish(润色=三环收尾)/rewrite(重写)/outline(大纲)。载体: write 默认 Workflow(workflow.js), 其余默认 trellisx subagent 编排(main DAG 调度派 novelist 系列 skill, 并发上限2); --workflow/--no-workflow 覆盖。当用户说'批量写N章/写到第N章/连续写多章/逐章写/评审N章/校对N章/润色N章/去AI味N章/重写N章/出大纲'时调用。
user-invocable
true
argument-hint
[mode] [写到第N章 | 写N章] [--workflow | --no-workflow](mode 缺省=write;startChapter 自动取进度下一章)
arguments
target
disable-model-invocation
true
# novelist-pipeline — 多场景批量编排 默认 **mode=write**: 用 **Workflow 工具**批量写多章, **两流水线并行**(Writer 流逐章写, 检测定稿流逐章跑收尾链 + 评分门控, 两流并行)。加 **mode** 入参切换到其它场景(评审/校对/去AI味/润色/重写/大纲), 此时**默认走 trellisx subagent 编排**(main DAG 调度, 派 Agent 各执行 1 章)。 ## 入参 ``` /novelist-pipeline [mode] [写到第N章 | 写N章] [--workflow | --no-workflow] ``` - **mode**(可缺省, 缺省=`write`): `write` / `review` / `humanize` / `proofread` / `polish` / `rewrite` / `outline` - **target**(`$target`, 复用原语义): 写到第几章(绝对终点, 含「到」) / 写几章(相对数量) / 缺省单章。`outline` 模式 target = 路线图到第N章。 - **--workflow**: 强制该 mode 走 Workflow(workflow.js), 即便非 write - **--no-workflow**: 强制走 subagent 编排, 即便 write - 中文别名: 评审=review, 去AI味/去AI化=humanize, 校对=proofread, 润色=polish, 重写=rewrite, 大纲/路线图=outline ### 载体选择规则(默认 + 覆盖) | 条件 | 载体 | |---|---| | mode=write 且无 --no-workflow | **Workflow**(默认) | | mode=write 且 --no-workflow | subagent 编排 | | mode≠write 且 --workflow | Workflow | | mode≠write 且(无 flag, 默认) | **subagent 编排**(默认) | ## mode 路由表 | mode | 级 | 前置(路线图/世界观/预检) | pipeline 行为(逐章) | 子 mode 默认 | 统一 check | 载体默认 | |---|---|---|---|---|---|---| | `write`(默认) | 章 | 全跑 | write→三环→fix→定稿 | — | ✓ | **Workflow** | | `review` | 章 | 跳 | check(detect 只查一致, 不修) | detect | ✓ | subagent | | `humanize` | 章 | 跳 | humanize(去AI味+改) | fix | ✗ | subagent | | `proofread` | 章 | 跳 | proofread(校对+改) | fix | ✗ | subagent | | `polish` | 章 | 跳 | 三环(check+humanize+proofread)→fix→定稿 | — | ✓ | subagent | | `rewrite` | 章 | 跳 | rewrite(fix 模式A 报告修复; 入参可指 B/C) | fix(模式A) | ✓ | subagent | | `outline` | 批 | 仅路线图(无世界观/预检) | outliner 生成路线图(无 write/收尾) | — | ✗ | subagent | **排除**(非章节级, 不进 pipeline): character/worldview/craft/design/init/trending/lint — 一次性或被引用型, pipeline 调度无意义。 ### 各 mode 报告/评分产出 | mode | 报告路径 | 评分 | |---|---|---| | write | 检查报告/校对报告/deaigc | 综合分(现有) | | review | 元数据/检查报告/第N章.md + 统一-批.md | 一致性分 | | humanize | 元数据/校对报告/第N章-deaigc.md | 人味分 | | proofread | 元数据/校对报告/第N章.md | 文字分 | | polish | 三报告全产 | 综合分 | | rewrite | 重写后正文 + 元数据/检查报告/第N章.md | — | | outline | 情节/第NNN-NNN章路线图.md | — | ## 入参 `$target`(二选一, 自然语言即可) 调用 `/novelist-pipeline <target>`, `$target` 即字符串: - **写到第几章**(绝对终点): `写到第 40 章` / `到 40` → `endChapter = 40` - **写几章**(相对数量): `写 5 章` / `5` → `count = 5`, 脚本算 `endChapter = startChapter + 5 − 1` - **缺省**(空): 只写 1 章 `startChapter` **恒为进度下一章**, 不由入参决定。`$target` 含「到」字判为绝对终点, 否则判为数量。 ## 激活时执行 1. **定位小说根目录** `root` — 当前工作目录即小说项目根(含 `章节/ 元数据/ 世界观/ 情节/` 等)。不确定 → `AskUserQuestion` 让用户确认路径。无目录环境 → 硬停, 提示先 `novelist-init`。 2. **读 `元数据/进度.md`** 确定下一章号 = `startChapter`。 3. **解析入参** — 拆出 `mode`(首个 token 若在 7 mode 内则为 mode, 否则缺省 write)、`--workflow`/`--no-workflow` flag、剩余即 `$target`(含「到」→ `endChapter`; 否则 → `count`; 空 → 单章)。中文别名先归一为英文 mode。 4. **选载体**(按上面「载体选择规则」表): 默认 write→Workflow, 其它→subagent; `--workflow`/`--no-workflow` 覆盖。 5. **(载体=Workflow)** 调 Workflow(脚本内含 mode 分支, 按 mode 跑对应 phase 子集, write 全流程): ``` Workflow({ scriptPath: "${CLAUDE_PLUGIN_ROOT}/skills/novelist-pipeline/workflow.js", args: { root, mode, startChapter, endChapter } // mode 缺省 write; 或 { root, mode, startChapter, count } }) ``` > `root` **必传**(脚本不硬编码任何小说路径/设定); >5 章脚本内部自动分批。 6. **(载体=subagent 编排)** 见下面「subagent 编排路径」: main 按 mode 解析章节范围 → DAG 派 general-purpose Agent 各跑 1 章。 7. **等待完成通知** → 汇总输出: 每章明细 + 整体评分 + 预估耗时(Workflow 模式; subagent 模式按各 Agent 回传)。 8. **对需复审章节**单独 `novelist-rewrite` 修复重跑。 ## subagent 编排路径(mode≠write 且 --no-workflow, 或非 write 默认) main 作为编排者: 1. **解析 mode + target** → 算章节范围 `[startChapter, endChapter]`(复用 `$target` 逻辑)。 2. **DAG 调度**(并发上限 **2**, 引用 trellisx scheduling 语义): 各章写文件不相交 → 全可并行, 受并发上限约束。 ``` for 章 in DAG_order(并发上限 2): dispatch general-purpose Agent: prompt(6 字段自包含): - 目标: 对第 N 章执行 mode=<mode>, 调用 novelist-<skill> skill - 已知: 小说根 root, 章节文件路径, Active task 路径 - 工作目录与范围: 仅该章文件 - 输出格式: 报告/评分落 元数据/ 对应路径 - 验收: 该章 mode 完成 + 报告产出 - 失败处理: 标「需要:」回传 main 转达 ``` - mode→skill 映射: review→novelist-check(detect), humanize→novelist-humanize(fix), proofread→novelist-proofread(fix), polish→依次 check/humanize/proofread 三环(+fix+定稿), rewrite→novelist-rewrite(fix 模式A), outline→novelist-outline(批级路线图) 3. **统一 check**(若 mode 需要: review/polish/rewrite): 末尾串行派 1 个 Agent 跑 novelist-check 全批, 报告落 `元数据/检查报告/统一-第NNN-NNN章.md`。 4. **失败处理**: Agent 缺信息标「需要:」 → main 转达用户; 章节范围解析失败 → AskUserQuestion。 > 无 Workflow runtime 时, 所有 mode(含 write --no-workflow)都走本路径, 行为一致。 ## write 架构(mode=write 时适用) **两流水线并行**: Writer 流 ‖ 检测定稿流。第 N 章 write 完(草稿)即进检测链, **同时**第 N+1 章开始 write。用 throughput 换"基于前章草稿写下一章"的小风险(前章若检测出致命冲突重写, 下一章可能返工——已接受)。 ``` 前置(每批一次,串行): outline(路线图) → worldview(更新设定) → precheck(一致性预检) │ 两流水线并行(批内): Writer 流(逐章串行写, 读前章草稿): 写1 → 写2 → 写3 → ... │(写完即推, 不等收尾) 检测定稿流(逐章串行, 共享索引): └→ 第N章: ┌─ check ┐ ├─ humanize ┤ 三环并行检测(只读不改) → 评分 └─ proofread┘ │ 达标 → finalize(定稿+索引) │ 不足 → fix(串行改同文件) → 重走三环 (无限, 直到达标) ⇒ 第N章在检测/fix/定稿时, 第N+1章已在 write(两流并行) │ 后置(每批一次): 统一 check(一个 agent 一次性审本批全部章节 + 与全书设定/前文冲突, 非逐章) ``` > **两级串行 + 一级并行**: ① Writer 流内部逐章串行(write 读前章) ② 检测定稿流内部逐章串行(共享索引/进度) ③ 两流之间并行(write 与检测重叠)。三环检测在检测流内再并行。 ## 角色职责(关联 novelist skill/agent, 全部从小说自己的文件读设定) ### 前置(串行, 每批一次) | 角色 | agentType | 引用 skill | 职责 | 产出 | |---|---|---|---|---| | Outliner | `novelist:outliner` | novelist-outline | 读大纲/分卷/主线/伏笔 生成本批路线图 | `情节/第NNN-NNN章路线图.md` | | Worldview | `novelist:worldbuilder` | novelist-worldview/character | 更新本批涉及的世界观/人物设定 | `世界观/` `人物/` 对应文件 | | Pre-checker | `novelist:continuity-auditor`(预检模式) | novelist-check | 路线图一致性预检(与主线/伏笔对齐, 可改路线图) | 通过 / 修正路线图 | ### 每章闭环(检测定稿流内, 顺序硬性) | 序 | 角色 | agentType | 只做 | 不做 | |---|---|---|---|---| | 1 | Writer | `novelist:chapter-writer` | 按四要素 + `novelist-craft` 镜片写正文 | 不管校对/一致性 | | 2 | Checker(检测) | `novelist:continuity-auditor` | 查一致性, **只检测返回清单不改正文** | 不管文字/风格 | | 3 | Humanizer(检测) | `novelist:humanizer` | 检 AI 味(匀质/陈词/模板腔)+人味分, **只检测不改** | 不管一致性/错别字 | | 4 | Proofer(检测) | `novelist:proofreader` | 检错别字/语法/标点+质量分, **只检测不改** | 不管一致性/AI味 | | 5 | Fixer | 对应环 agent | 按三环清单**统一改**正文(多 fix 串行) | 不改风格/不重写 | | 6 | Finalizer | `novelist:indexer` | 更新索引 + 同步事实源 → 才进下一章 | 不修复/不重写 | **2-4 三环并行检测**(正交只读, 无写冲突); 5 Fixer 按三环清单**统一改**(多修复串行改同文件); fix 后重走三环并行检测, 循环**无限**(`MAX_FIX_ATTEMPTS=Infinity`, 直到达标)。**Writer 流不等本章定稿即开写下一章(两流并行)**; 检测定稿流内逐章顺序定稿。 ### 后置(每批一次): 统一检查 **一个 `novelist:continuity-auditor` agent 一次性审本批全部章节**(非逐章独立)——把本批这次变更的章节作为整体, 读全批正文 + 全书设定/前文/伏笔台账/进度, 核对: ① 本批章节**之间**矛盾 ② 违反规则.md ③ 人物一致 ④ 伏笔跨章追踪 ⑤ 与**前文**衔接/时间线 ⑥ 新设定与历史冲突。报告整批一份 `元数据/检查报告/统一-第NNN-NNN章.md`。 > **agentType 前提**: workflow.js 每个 agent() 用 `agentType` 指向本插件 `agents/` 下的专用 agent(共 8 个)——**需 novelist 插件已安装**, Agent 注册表才能解析这些 agentType。未安装时 Workflow 报 agent 解析失败, 应先装插件。 **文风**: Writer 写前必引用 `novelist-craft` 按题材+本章性质取叙事镜片。 **事实源**: 人物/世界观变更引用 `novelist-character`/`novelist-worldview` 回写。 **硬约束**: 一律从该小说的 `世界观/规则.md` 读取, 脚本不写死任何小说的具体设定。 ## 定稿标准 定稿分 = 一致性×0.5 + 文字×0.2 + 人味×0.3(保留 1 位小数)。 **综合 ==100 且 一致性 ==100 → 定稿; 否则退回最弱环修复重评。**(满分零容忍门控, 阈值是 `workflow.js` 顶部常量 `PASS_*=100`; 加权 ==100 ⟺ 一致性/文字/人味三项全 ==100。) ## 评分契约(对应 `workflow.js`) | 分量 | 来源 | 提取规则 | 缺省 | fix 触发 → 修复环 | |---|---|---|---|---| | 一致性 cScore | Checker 输出(18 子项) | 含「冲突」→80; 否则→100 | 100 | 含「冲突」 → fix-c | | 文字 tScore | Proofer 输出(12 子项) | 首个 `(\d+)\s*分` | 90 | 含「逻辑矛盾/硬伤」 → fix-t | | 人味 hScore | Humanizer 输出 | 首个 `(\d+)\s*分` | 90 | AI味「中/重」 → fix-h | **角色输出硬格式**(不合则提取失败→落缺省→误判): Checker 结论行含「通过/有冲突」; Proofer 输出 `评分:N分`; Humanizer 输出 `人味评分:N分`+「轻/中/重」。 ## 失败分支(触发 → 一线修复 → 仍失败兜底) | 触发 | 一线修复 | 仍失败兜底 | |---|---|---| | 综合分 <100(分项未满分) | 退回最弱环修复重跑 | **无限重试**(`MAX_FIX_ATTEMPTS=Infinity`)直到达标==100——一直 fix 不停; 持久达不到满分需人工 kill | | 一致性有冲突 | `novelist-check` 定位 → `novelist-rewrite` 修 | 冲突来自设定 → 先改设定再改正文 | | 路线图生成/解析失败(schema 返回 chapters 为空) | **无限重试**直到拿到 chapters | (不跳批, 一直重试) | | 多 workflow 冲突 | 立即停掉旧 workflow | 无法停 → 等结束后手动修索引 | | 索引/进度被污染 | 对照章节目录重建 | 无法重建 → 回报用户 | | agent 调用失败(网络/余额/瞬时 API) | `callAgent` **无限重试**(`MAX_AGENT_RETRIES=Infinity`)直到成功 | (永不放弃, 一直重试) | | 无 Workflow 工具(非 Claude Code) / --no-workflow | 退化为 subagent 编排: main 派 Agent 逐章跑对应 mode(同样走每章收尾链) | 同样走每章收尾链 | ## 检查点 - **路线图确认**: 生成后暂停, 确认再写正文 - **未满分章节**: 综合分 <100(非满分)的章节必须人工审后再标定稿 - **每批结束**: 展示本批成绩摘要, 确认后再启动下一批 ## 并行/串行约束(硬性) - **两流水线并行**: Writer 流 ‖ 检测定稿流。第 N 章 write 完(草稿)即推入检测流, 第 N+1 章**立即开写**(基于第 N 章草稿)。两流并行换 throughput。 - **各流内部串行**: Writer 流逐章串行(write 读前章); 检测定稿流逐章串行(finalize 共享索引/进度, 防写冲突)。 - **收尾链检测/修改分离**: check/humanize/proofread 三环**只检测不改正文**(正交→**并行**, 无写冲突); 问题由 **fix 统一改**, 多 fix **串行**(都改同一章文件)。fix 后重走三环并行检测(无限, 直到达标)。 - 后置统一 check = **单 agent 一次性审整批**(读全批正文+全书设定/前文, 非逐章并行)。 - 禁止多个 pipeline 同时运行。 - 每批最多 5 章(`BATCH_SIZE=5`; 超过自动分批; 批间串行, 批内两流并行)。 - **全程无限重试(用户强制)**: fix 循环 / agent 调用 / 路线图生成三处均**无上限**(`Infinity`/`while(true)`), 一直重试到成功/达标。⚠️ 持久错误(余额耗尽/永久达不到阈值)会**死循环**, 需人工 kill workflow——这是用户明确要求的强制行为, 不设兜底。 - ⚠️ **草稿依赖风险**: 第 N+1 章基于第 N 章草稿写; 若第 N 章检测出致命冲突需重写 → 第 N+1 章可能要返工。这是 throughput 与一致性的权衡(已选 throughput)。 ## 反例黑名单 | # | 禁做 | 改为 | |---|---|---| | 1 | 跳过收尾链标「定稿」 | 三环全过才定稿 | | 2 | 无路线图直接批量写 | 先产路线图再写 | | 3 | 多 workflow 同时改索引 | 索引更新串行 | | 4 | 不更新事实源就下一章 | 定稿后同步索引+进度+人物/情节 | | 5 | **硬编码某本小说的路径/设定** | `root` 入参传; 设定一律读该小说 `世界观/规则.md` 等 | | 6 | agent 异常低分不审直接标定稿 | 异常分数必须人工复核 | | 7 | 让用户自己分别调 write/check/humanize | 本 skill 一站式编排, 用户只调 pipeline | | 8 | 检测定稿流并发改同一章 / finalize 并发改索引 | 检测定稿流逐章串行(共享索引/进度); 仅三环检测内部并行(只读) | ## 文件约定 | 内容 | 路径(相对小说根 `root`) |
Auf GitHub ansehen
Diese SKILL.md ist sehr gross, daher zeigt SkillsMP hier nur den ersten Abschnitt. Auf GitHub ansehen