| name | novelist-rewrite |
| description | 重写小说章节。入参 mode=detect|fix(默认 fix): detect=只读诊断, 扫描全书产「建议重写章清单+理由+建议模式A/B/C」, 不改文件; fix=执行三模式——(A) 按 novelist-check 报告定点修复冲突; (B) 从指定章起清空该章及之后重写; (C) 连续重写多个指定章节。当用户说"重写第N章/从第N章开始重写/这几章重写/按检查报告改/第N章之后全删重写/诊断哪些章需重写"时调用。清空是破坏性操作, 执行前必须显式确认。本 skill 独占 章节/ 目录的覆盖写入。 |
novelist-rewrite — 章节重写(三模式, 一站式)
入参 mode=detect|fix(默认 fix):
mode=detect — 只读诊断: 扫描全书, 产「建议重写章清单 + 理由 + 建议模式 A/B/C」, 不改任何文件(不派 chapter-writer, 不删章)。用于动手前先评估。
mode=fix(默认) — 执行三模式 A/B/C(现状), 走完整收尾链。
修复或重来。无论哪种模式, 重写的本质 = 让正文重新满足四要素与一致性约束。重写也是一站式: 重写正文后同样走完整收尾链(检查→审查→校对→去AIGC→定稿, 见工作流 step 4), 用户只需调 rewrite, 不必再分别调 check/proofread/humanize。涉及删除时, 破坏性操作必须先确认、先备份。
三模式的逐步操作细则见 references/rewrite-modes.md; 核心约束速览如下。
关键约束速览
| 场景 | 约束 |
|---|
| 模式A选章范围 | 只重写「冲突直接涉及」的章/段落, 禁无关章漫扩 |
| 模式B操作顺序 | 确认 → 备份(移入 .废弃/) → 清索引 → 回退状态源 → 重写; 任一步缺=未完成 |
| 模式C每章必做 | 重取/重定该章四要素, 禁跳章直接写 |
| 备份格式 | 移入 元数据/.废弃章节-<YYYYMMDD>/, 文件名不变便于恢复 |
| 收尾链(三模式通用) | 重写后必过 check→proofread→humanize→棘轮分门控; 不可跳 |
mode=detect — 诊断模式(只读)
扫描全书, 评估每章是否需重写(而非单点修), 产「建议重写章清单 + 理由 + 建议模式 A/B/C」。禁动任何文件(不派 chapter-writer, 不删章, 不改 章节/ 正文)。用户据此决定是否进 mode=fix。详细字段见 references/rewrite-modes.md。
三种模式(均归入 mode=fix)
模式 A — 按检查报告定点修复
- 读最新
元数据/检查报告/<...>.md(或先跑 novelist-check 生成)。
- 对每条 致命/重要 冲突, 定位涉及章节。
- 逐条派 chapter-writer 重写受影响段落/章节, prompt 附: 冲突点 + 正确事实(从事实源) + 修复要求。
- 重写后回写状态变更, 重跑 novelist-check 确认冲突清零。
模式 B — 从第 N 章起清空重写(破坏性)
- 硬停 确认 — 用
AskUserQuestion 明确: "将删除第 N 章及之后全部章节(共 X 章), 不可逆, 确认?"。未确认不动手。
- 先备份 — 把待删章节移到
元数据/.废弃章节-<日期>/(不是直接 rm), 留后悔余地。
- 清空 — 从
章节/_索引.md 移除第 N 章起的行; 对应正文文件已移入备份。
- 回滚状态源 — 把人物关系/世界观/伏笔回退到第 N-1 章末的状态(依据第 N-1 章四要素的事后状态)。
- 重写 — 从第 N 章起, 逐章走
novelist-write 完整流程(四要素 → chapter-writer → 回写)。
模式 C — 连续重写多章(第 A-B 章)
- 确认区间 [A, B]。
- 对区间内每章按顺序: 取该章原四要素(或与用户重定) → 派 chapter-writer 重写 → 回写状态。
- 区间外章节不动; 重写完跑 novelist-check 核对区间与上下文衔接。
工作流(统一)
- 解析 mode — 首 token 为
detect → mode=detect(进诊断分支, 见上「mode=detect 诊断模式」, 完成后直接 step 5 回报, 不走 step 2-4); 首 token 为 fix 或其他 → mode=fix(默认, 进 A/B/C)。判模式 — mode=fix 时从用户措辞判 A/B/C。不明确 → AskUserQuestion 让用户选模式 + 范围。
- 破坏性前置闸门 — 模式 B(或 C 含清空)必须先确认 + 先备份, 见上。
- 派 chapter-writer 重写 — 真实
Agent tool_use, 不亲自改正文。
- 生成后收尾链(同 write, 不可跳)+ 重写棘轮 — 重写的正文同样过三环才算定稿: a. 回写事实源 → b.
novelist-check 一致性(派 continuity-auditor, 致命冲突回 step 3 重写) → c. novelist-proofread 校对 → d. novelist-humanize 去 AIGC → e. 算定稿分(一致性×0.5+文字×0.2+人味×0.3, 纯算术)。棘轮(满分零容忍): 重写后定稿分必须 > 重写前那版(否则重写无效甚至改坏 → 回退或重做), 且 ==100 才定稿。==100 等价于一致性/文字/人味三项全满分(因加权和==100 ⟺ 各项==100); 任一项非满分 → 定稿分<100 → 不定稿。连续 3 次重写未达 ==100 → 硬停 转人工裁决。
- 回报 — mode=detect: 报告建议重写章清单+理由+建议模式; mode=fix: 列重写了哪些章、状态回退/更新、收尾链结果(检查/校对/去AIGC 各是否过, 定稿分是否 ==100)。
失败模式(触发 → 一线修复 → 仍失败兜底)
| 触发 | 一线修复 | 仍失败兜底 |
|---|
| 模式不明确 | AskUserQuestion 让用户选 A/B/C + 范围 | 仍不明 → 不动手 |
| mode=detect 误动文件 | detect 禁派 chapter-writer / 禁删章 / 禁改正文, 只产诊断报告 | 已动 → 撤回, 改为只产建议 |
| 模式 B 用户未明确确认删除 | 硬停, 必须显式确认才执行 | 不确认 → 取消, 一字不删 |
| 删错/删多了 | 从 元数据/.废弃章节-<日期>/ 恢复 | 备份也无 → 报告用户, 禁谎称已恢复 |
| 重写后与上下文衔接断裂 | 调整衔接段, 重跑 check | 断裂大 → 扩大重写区间 |
| chapter-writer 重写仍带原冲突 | 把冲突点更显式地写进 prompt 重派 | 连续 2 次未修复 → 硬停 转人工 |
| 模式A: check 仍有致命冲突(重写后未清零) | 遗漏冲突逐条加入 prompt 重派(一次只修一条) | 连续2次清零失败 → 硬停, 事实源本身矛盾, 需人工解设定冲突 |
| 重写棘轮不过(定稿分≤原版 或 <100) | 逐环定位拖分处: check低→补修; proofread低→重校; 人味低→重去AI(目标三项全 ==100) | 连续 3 次未满分 → 硬停 转人工 |
| 模式C: 某章与前章衔接断裂 | 调整该章四要素使衔接自然 → 重写该章 | 反复断裂 → 缩短区间逐章推进 |
反例黑名单(命中=错, 重来)
| # | 禁做 | 改为 |
|---|
| 1 | 模式 B 不确认就删章节 | 删除前必 AskUserQuestion 显式确认 |
| 2 | 直接 rm 删除, 无备份 | 先移入 .废弃章节-<日期>/ 再清 |
| 3 | 删章后不回退状态源 | 人物/世界观/伏笔回退到 N-1 章末 |
| 4 | main 自己改写正文 | 派 chapter-writer(真实 Agent tool_use) |
| 5 | 重写后不重跑 check | 收尾必跑 novelist-check 确认 |
| 6 | 谎称已恢复但实际无备份 | 如实报告, 禁幻觉式合规 |
| 7 | mode=detect 派 chapter-writer / 删章 / 改正文 | detect 只产诊断建议, 不动文件 |
| 8 | 定稿分 <100 就谎称定稿 | 棘轮 ==100(三项全满分) 才定稿; 否则 硬停 转人工 |
修复依据 novelist-check 报告; 重写派 chapter-writer; 破坏性删除先确认先备份; 收尾回 check 闭环; mode=detect 只读不动文件; 棘轮定稿分 ==100 才定稿。独占 章节/ 覆盖写入。