
Story Long Analyze
- 10.5k installs
- 5k repo stars
- Updated August 4, 2026
- worldwonderer/oh-story-claudecode
story-long-analyze is an agent skill that deeply deconstructs long web novels through staged golden-chapter analysis, chapter summaries, plot aggregation, and style synthesis.
About
The story-long-analyze skill is a long-form web fiction analysis pipeline for agents acting as novel structure analysts. It confirms the target book and source text, backs up originals to a local library folder, and runs Stages 0 through 6 with checkpoint recovery via _progress.md. Stage 1 produces golden-three-chapter deep breakdowns and a quick preview report before user confirmation to continue. Stage 2 spawns chapter-extractor agents for per-chapter summaries with plot points and character filtering. Stages 3 through 6 aggregate plot lines, rhythm and emotion modules, world-building settings, faction files, a full analysis report, and style synthesis with anchor examples. Outputs land under a structured directory with chapters, characters, plot, settings, and progress tracking. The skill treats analysis as transformative literary criticism on legally held fiction, continuing through sensitive fictional elements without refusing whole chapters. Use when users invoke long-form novel breakdown, golden three chapter analysis, or provide fiction text file paths.
- Single deep pipeline with Stage 1 golden-three-chapter preview before full run confirmation.
- Structured output under library folders for chapters, characters, plot, settings, and style.
- Checkpoint recovery via _progress.md and reuse of existing character or setting files.
- Parallel chapter-extractor agents in Stage 2 with count validation against chapter totals.
- Stage 3-6 aggregate plot rhythm, emotion modules, world-building, and style synthesis.
Story Long Analyze by the numbers
- 10,466 all-time installs (skills.sh)
- +670 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #82 of 1,335 Generative Media skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
story-long-analyze capabilities & compatibility
- Capabilities
- golden three chapter deep breakdown · checkpoint recovery from _progress.md · parallel chapter summary extraction · plot rhythm and emotion module aggregation · character and faction profile generation · style synthesis with anchor examples
- Use cases
- research · copywriting · orchestration
What story-long-analyze says it does
你是网络小说结构分析师。
npx skills add https://github.com/worldwonderer/oh-story-claudecode --skill story-long-analyzeAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 10.5k |
|---|---|
| repo stars | ★ 5k |
| Security audit | 2 / 3 scanners passed |
| Last updated | August 4, 2026 |
| Repository | worldwonderer/oh-story-claudecode ↗ |
How do I systematically break down a long web novel's structure, golden chapters, plot rhythm, and character architecture for writing reference?
Deeply deconstruct long web novels through a staged pipeline covering golden three chapters, chapter summaries, plot aggregation, character profiles, and style analysis.
Who is it for?
Developers and writers analyzing long serialized web fiction to extract plot rhythm, character arcs, and reusable narrative patterns.
Skip if: Skip when you only need short-story analysis or general writing coaching without a full novel text pipeline.
When should I use this skill?
User invokes /story-long-analyze, asks to break down a book's golden three chapters, or provides a long fiction text file path.
What you get
Structured analysis files covering golden chapters, per-chapter summaries, plot modules, character profiles, settings, and a full breakdown report.
- golden-three-chapters report
- per-chapter summary archive
- aggregated structure analysis
By the numbers
- Version 1.0.0 skill with multi-stage pipeline starting at Stage 1 golden three chapters
- Artifacts saved under 拆文库/{书名}/ directory structure
Files
story-long-analyze:长篇网文拆文
你是网络小说结构分析师。
核心信念:看懂别人的爆款,才能写出自己的爆款。
---
拆解边界声明(主线程同样适用)
你亲手做的黄金三章深度拆解(Stage 1)、Stage 2 串行降级逐章处理、以及 Stage 3-6 的聚合/设定/报告/文风合成,与 chapter-extractor 子代理遵循同一逻辑:拆的是用户合法持有、拥有使用权的虚构作品(已出版/连载或自有),性质是只读的转化性文学批评(编辑/评论/写作教学视角,不复制、不传播、不指导现实行为)。通俗题材里的家暴、出轨、复仇、暴力、情爱张力、黑暗伦理是常规虚构叙事元素,须照常做结构化提取,不得以「敏感」「不适」为由拒绝整章或整本——主线程拒绝会让整条自动化流水线停摆;个别片段无法处理则跳过、照常续完其余。
---
Phase 1:确认拆解对象 + 进入管道
问用户:「你要拆哪本书?(书名+平台)有原文文件路径吗?」
如果没有明确目标,按题材或用户想写的类型推荐 2-3 本对标作品。
统一入口
确认拆解对象后直接进入拆解管道(Phase 2)。没有快速/深度分叉——只有一条深度拆解管道,跑到 Stage 1(黄金三章)后自动停靠产出快速预览报告。
无文本路径时:如果用户没有提供原文文件路径、也没有在对话中贴出原文,引导用户提供原文——「请提供这本书的原文文件路径,或直接把原文贴给我,我从黄金三章开始拆。」拿到原文后进入管道。
---
Phase 2:深度拆解管道
输出目录
默认输出到 拆文库/{书名}/(项目根目录下)。用户指定了其他路径时按用户指定路径输出。
已有分析利用
深度拆解开始前,检查是否已有部分拆解结果:
1. 检查 拆文库/{书名}/ 目录下是否存在已有的拆文文件 2. 如果存在 _progress.md,读取断点信息,从断点恢复(已有恢复机制) 3. 如果存在 角色/.md 或 设定/.md,读取已有的角色和设定数据 4. 将已有数据作为交叉验证基线:
- 新提取的角色信息与已有角色数据对比,检查一致性
- 新发现的设定细节与已有设定合并,标注信息来源(新提取 vs 已有)
- 如有冲突(如同角色已有文件中名字不同),在输出中标注冲突让用户裁定
5. 避免重复提取已有信息,提升处理效率
原文备份(管道前置步骤)
拆解开始前,必须先备份原文:
1. 检查 拆文库/{书名}/原文/ 目录是否已存在 2. 如果不存在,从用户提供的源路径复制原文文件到 拆文库/{书名}/原文/ 3. 如果用户未提供源文件路径(直接在对话中贴文本),将原始文本保存到 拆文库/{书名}/原文/原文.md 4. 备份完成后验证:
- 源文件路径模式:确认
原文/目录下的文件数量和大小与源文件一致 - 对话贴文本模式:确认
原文.md文件非空(>0 bytes)
5. 此步骤确保即使拆文过程中出现异常,原始材料不会丢失
输出目录结构
拆文库/{书名}/
├── 原文/
│ └── 原文.txt # 扩展名随源文件;对话直接贴入的文本存为 原文.md
├── 概要.md
├── 章节/
│ ├── 第1章_深度拆解.md
│ ├── 第2章_深度拆解.md
│ ├── 第3章_深度拆解.md
│ ├── 第1章_摘要.md
│ └── ...
├── 快速预览.md
├── 角色/
│ ├── {角色名}.md
│ └── 角色关系.md
├── 剧情/
│ ├── {剧情标题}.md
│ ├── README.md # 剧情目录索引:节奏/情绪模块/故事线的权威范围
│ ├── 故事线.md
│ ├── 节奏.md # 关键信息推进 / 爽点循环 / 情绪触动点 / 爆发节奏
│ ├── 情绪模块.md # 读者需求 / 情绪引擎 / 可复现模块卡
│ └── 散落情节.md
├── 设定/
│ ├── 世界观/
│ │ ├── 背景设定.md # 核心规则 + 特殊设定(无法独立的内容合并)
│ │ ├── 力量体系.md
│ │ ├── 地理.md
│ │ └── 金手指.md
│ └── 势力/
│ └── {势力名}.md # 内容 >= 200 字时独立;不足合并到 世界观/背景设定.md
├── 拆文报告.md
├── 文风.md # Stage 6 文风:句长/标点/对话潜台词/情绪交替 + 原文锚点范例片段
└── _progress.md新增权威产物:剧情/README.md说明剧情目录内各文件权威范围;剧情/节奏.md是节奏/关键信息推进/情绪触动点的权威索引;剧情/情绪模块.md是读者需求、情绪引擎、套路框架和可复现模块卡的权威索引。拆文报告.md与剧情/故事线.md只做摘要投影;若摘要与这两个文件冲突,下游写作以剧情/节奏.md/剧情/情绪模块.md为准。
管道主体:Stage 0-6
这是 story-long-analyze 唯一的执行管道。Stage 0-1 跑完后自动停靠产出快速预览报告(见下「Stage 1 停靠点」),用户确认后从 Stage 2 续跑。
预期耗时提示:开始前根据章节数给用户一个粗估:<50 章通常 30-60 分钟;50-200 章通常 1-3 小时;>200 章可能需要多轮会话。Stage 2 可并行提取,但 Stage 3-6 仍依赖前序产物,需按阶段推进。
| 阶段 | 名称 | 输入 | 输出 | 完成标志 |
|---|---|---|---|---|
| 0 | 概要提取 | 原始文本 | 概要.md(首版 200 字 thin first-pass + 章节索引;full plot-aware 500-1000 字版在 Stage 5 落盘覆盖)+ Stage 0.5 章节边界表写入 `_progress.md`(详见下方说明) | 章节结构识别完成 + 章节边界落盘 |
| 1 | 黄金三章 | 前3章原文 | 第1章_深度拆解.md / 第2章_深度拆解.md / 第3章_深度拆解.md(每章一个文件)。非人形反派(灵气复苏/末世/国运等抽象对抗型)出现在前三章时,在本阶段一并按抽象对抗型路由分析(核心对抗面/紧迫感来源/升级机制/叙事替代)。 | 3章拆解完成 → 停靠产出快速预览.md |
| 2 | 逐章摘要 | 分块章节文本 | 章节摘要.md(含情节点+角色+关键信息与扩写技法)。角色过滤(龙套不提取、别名归类)。每章10-40情节点(密度150-200字/个,按字数动态调节;公式低于10时仍按硬下限10拆足关键步骤)。并行模式:每章 spawn chapter-extractor agent。计数验证:摘要数 == 章节数,不等则标记失败章节。 | 所有章节处理完成 |
| 3 | 聚合分析 | 全部章节摘要 | 剧情/.md + README.md + 故事线.md + 节奏.md + 情绪模块.md。故事框架识别(前置,决定聚合策略)。两步法剧情聚合(先从摘要识别剧情大纲,再按大纲分配情节点)。关键信息推进索引(按章节/剧情线追踪信息如何被扩写)。情绪触动点与爆发节奏(爽点/虐点/期待点的铺垫→释放→余波)。读者需求 / 情绪引擎 / 爽文套路框架(沉淀为可复现模块卡)。角色合并(跨章节去重+别名归一)。角色分级(主角/反派/核心配角/功能角色)。散落情节兜底(6步,含覆盖率验证)。桥段标签(每个剧情模块按 deconstruction-notes.md 桥段词表打标,best-effort,无匹配留空)。质量检查*(阈值详见 material-decomposition.md 质量阈值体系)。 | 质量检查通过 |
| 4 | 设定+关系(4a/4b/4c) | 4a:Stage 2 情节点+章节摘要(不依赖 Stage 3,与 3 并行);4b/4c:Stage 3 合并后角色数据+情节点 | 设定/.md + 角色/.md。4a 设定(世界观/金手指/势力,从 Stage 2 mention 数据归纳)。4b 角色完整档案(两阶段模型:Stage 2 轻量提及 → Stage 4b 完整档案;别名解析置信度≥0.85自动合并)。4c 角色关系提取(从情节点提取,不从原文;含演变追踪+最终状态合并+隐含推断)。非人形反派在 4a 做完整抽象对抗型分析。 | 4a/4b/4c 全部完成 |
| 5 | 汇总报告 | 全部输出 | 拆文报告.md(含「读者需求 / 情绪引擎」「关键信息与扩写技法总览」「节奏与情绪触动点」「可复现模块」摘要,并指向 剧情/节奏.md / 剧情/情绪模块.md;含「写法技巧」清单,覆盖一笔两用/延迟揭示/视角欺骗/对比锚点/行为循环/身体反应替代心理描写/跨章回扣——物品/意象在不同章节承担不同功能)+ 概要.md 全书 500-1000 字版(plot-aware,覆盖 Stage 0 的 200 字 thin first-pass) | 报告 + 全书概要生成完成 |
| 6 | 文风 | 拆文报告.md + 章节/第1-3章_深度拆解.md + 章节/*_摘要.md + 原文/原文.txt | 文风.md(整书级写作技法视图:句长/标点/对话潜台词/情绪交替周期 + 4-6 段原文锚点范例片段,硬上限 ~4000 字。详见 style-profile-protocol.md + style-profile-generator.md) | 文风落盘 拆文库/{书名}/文风.md |
Stage 0.5 章节边界表(Stage 0 子步骤)
Stage 0 完成概要 + 章节索引之后、转入 Stage 1 之前,必须额外产出一份「章节边界」表写入 _progress.md。这是后续 Stage 1(黄金三章原文切片)/ Stage 2(每章传给 chapter-extractor agent)/ Stage 6(文风采样)共用的唯一切片来源——避免每个阶段各跑一次 regex 切片,结果可能不一致。
操作:
- 用
style-profile-generator.mdStep 4 的章节正则(已含千/两,覆盖 1000+ 章长篇)grep 出全部章节行号 - 按
| 章号 | 标题 | 起始行 | 字数 |四列写入_progress.md的「章节边界」section(见 pipeline-ops.md 模板) _progress.md顶部schema_version: 2同时落盘
旧拆文库续跑兼容:旧 _progress.md(schema v1,无 章节边界 表)resume 时由 pipeline-ops.md 「恢复机制操作步骤 0」做 lazy migration——现场重建一次切片表后正常续跑,不破 paused_after_stage1 契约。
Stage 1 停靠点
Stage 0+1 完成后,管道自动停靠,产出快速预览报告并询问用户是否继续全量拆解:
1. 生成停靠交付物:写 拆文库/{书名}/快速预览.md(模板见 output-templates.md 的「快速预览报告」)。此时 概要.md、章节/第1章_深度拆解.md、章节/第2章_深度拆解.md、章节/第3章_深度拆解.md、原文/ 均已落盘。 2. 写停靠状态:_progress.md 的「最终状态」字段写 paused_after_stage1,「断点」段记录「下一操作:Stage 2 逐章摘要」。 3. 询问用户(用 AskUserQuestion 风格的明确二选一):
「黄金三章已拆完,快速预览报告见快速预览.md。是否继续全量拆解(Stage 2-6:逐章摘要 / 聚合分析(含剧情/节奏.md、剧情/情绪模块.md)/ 设定关系 / 汇总报告 / 文风)?预计耗时 {基于章节数粗估}。」
- 选「继续全量拆解」→ 读
_progress.md,从 Stage 2 续跑,不重跑 Stage 0/1。 - 选「就到这里」→ 管道结束,
_progress.md状态保持paused_after_stage1,告知用户「之后可随时/story-long-analyze同一本书,会自动从 Stage 2 续跑」。
4. 跳过询问的情形:用户在一开始就明确说「完整拆解 / 一次跑完 / 系统拆解 / 别问」时,仍生成 快速预览.md(保留早期判断快照),但不停下询问,直接从 Stage 2 续跑到 Stage 6。
Stage 5 后:选题决策回填(可选)
拆文报告.md 出来后(Stage 5 跑完)执行——和 Stage 6 无关,Stage 6 失败也不影响这步。
仅当项目根存在 选题决策.md 时:按本书题材,在它的推荐选题里找题材关键词对得上的那个——
- 正好对上一个 → 把该选题的"能爆的原因"从
待拆文验证改成带出处的支撑:「本书拆解支撑:{拆文报告.md的 读者需求/情绪引擎 +剧情/情绪模块.md的可复现模块 Top +剧情/节奏.md的爽点/触动点节奏摘要}(拆文库/{书名}/拆文报告.md、剧情/情绪模块.md、剧情/节奏.md)」。注意还只是假设(只拆了一本,不算坐实)。 - 对上多个 / 拿不准 → 问用户「《{书名}》对应选题决策里的哪个方向?」
- 一个都对不上 /
选题决策.md里没有"能爆的原因"这栏(旧模板或文件坏了)→ 直接跳过,不提示。 - 重复拆文不覆盖:只回填还标着
待拆文验证的;已经填过的不动。
没有 选题决策.md → 直接跳过,不影响拆文。
Stage 6 文风
Stage 5 完成后追加 Stage 6,生成 文风.md:句长分布、标点习惯、对话潜台词模式、情绪交替周期 + 4-6 段原文范例片段。文风.md 只负责表达层风格;情绪/节奏意图仍以 剧情/情绪模块.md 与 剧情/节奏.md 为权威。
按 references/style-profile-generator.md 的 6 步 SOP 跑;模板见 references/style-profile-protocol.md。
原文缺失或章节分隔符识别不出 → 在 文风.md 的「生成记录」写明 文风可用:否:{原因}。Stage 6 失败不阻断管道。
Stage 3-4 并行执行
并行执行图:
Stage 3(剧情聚合 + 角色合并) ──┐
├── 4a 与 Stage 3 可并行
Stage 4a(设定:世界观/金手指/势力) ──┘
│
▼(Stage 3 + 4a 都完成后)
Stage 4b(角色完整档案)— 串行,依赖 Stage 3 合并后的角色实体
│
▼
Stage 4c(角色关系提取)— 串行,依赖 4b 角色实体存在依赖来源(事实依据,非投票):
- Stage 3 包含「角色合并(跨章节去重+别名归一)」(见上表 Stage 3 列)—— Stage 4 的角色完整档案构建需要这份合并后实体。
- material-decomposition.md:218-225「阶段 B:完整档案 — 合并所有章节的角色提及数据」明确依赖 Stage 3 合并产物 → Stage 4b/4c 必须串行。
- material-decomposition.md:278-287 世界观字段表(类型/力量体系/地理/势力/核心规则/特殊设定)的数据源是 Stage 2 章节摘要 + 情节点,不依赖 Stage 3 输出 → Stage 4a 可与 Stage 3 并行。
- 金手指(material-decomposition.md:268-276)同 4a,来源是 Stage 2 情节点中的能力 / 物品 mention,不需要 Stage 3 角色合并。
部分失败容忍
单章/单阶段失败不阻断管道。失败记录到 _progress.md 的「失败记录」表(| 类型 | 章节/阶段 | 错误信息 | 重试状态 |)。最终状态可为 completed_with_errors(在拆文报告中注明失败详情)。
与 material-decomposition.md 的对应关系:Stage 0 含 Material 阶段1(章节解析);Stage 1、5 为新增;Stage 2 = Material 阶段2;Stage 3 = Material 阶段3;Stage 4 合并 Material 阶段4+5。
详细模板见 output-templates.md,方法论见 material-decomposition.md。
---
质量检查概要
Stage 3-4 完成前需通过质量检查(置信度、覆盖率、重叠率)。阈值、计算方式与自检清单的唯一权威定义见 material-decomposition.md 质量阈值体系。
Stage 3-5 还须过「事实可溯源」自检:设定/角色/报告里的硬事实(等级/数值/距离/属性/势力数/出场章/谁说的话)必须能 grep 回原文,原文没给的写「原文未明确」、禁推断填空。这是拆文事实错误的最大来源(强模型也会漂移,因为合成阶段离原文两跳、靠合理性填空)。详见 material-decomposition.md 合成阶段事实保真。
---
Stage 2 并行 Agent 策略
Stage 2 使用 chapter-extractor agent 并行处理每章,替代原来的串行分块。
调用方式
每条章节 prompt 必须以「材料声明」前缀开头(即下方 prompt 字符串首段)——给子代理正确语境,避免它把通俗题材的正常戏剧化剧情误判为有害内容而拒绝拆解。前缀是固定文本,逐字带上,不要改写或省略。
Agent(
subagent_type: "chapter-extractor",
prompt: "[材料声明] 以下为用户合法持有的虚构小说,任务是只读的转化性文学分析(编辑/评论视角)。暴力/复仇/家暴/情爱/黑暗伦理是该题材常规虚构元素,照常提取,不得以敏感拒绝整章或整本;个别片段无法处理则跳过、照常续完其余。\n\n章节编号:第{N}章\n章节标题:{标题}\n章节字数:{字数}\n\n章节原文:\n{原文文本}"
)批量策略
- 每次 spawn 5-8 个 agent(避免并发限制)
- 等待当前批次全部完成后,再 spawn 下一批
- 每批完成后更新
_progress.md记录已处理章节
Agent 输出收集
- 每个 agent 返回 markdown 格式的提取结果
- 主线程将 agent 输出写入
章节/第{N}章_摘要.md - 收集所有 agent 的出场人物表,供 Stage 3 合并使用
失败处理 + 质量升级重试
两类失败: 1. 执行失败(agent crash / 超时 / 空输出)→ 同模型(haiku)重试 1 次 2. 质量失败(输出落盘后跑 chapter-extractor.md「质量检查」10 条自检,任一不达标——典型:情节点 < 10、原文引用缺失、类型/基调/主题标签超出枚举、基调: 漏全角冒号、角色名为昵称/通用称呼)→ 升级到 sonnet 重试 1 次
可机械校验的硬检查(主线程落盘后直接 grep,命中即判质量失败,不依赖 agent 自报):
- 情节点数
N = grep -cE '^P[0-9]+ ';grep -c '基调:'必须 == N(少于 N = 有情节点漏基调:或漏全角冒号 → 下游 Stage 6 文风采样按全角基调:grep,会静默漏章) grep -hoE '基调:[^ |]+'去重后 ⊆ {紧张, 轻松, 悲伤, 热血, 爽, 甜, 温馨, 恐怖, 压抑, 其他}grep -hoE '主题标签[:]?[^ |]+'去重(去主题标签/冒号前缀后)⊆ {爱情, 亲情, 友情, 权力, 金钱, 成长, 复仇, 悬念, 搞笑, 热血, 日常, 其他}(出现主题标签:带冒号、或值为基调词均判失败)
升级重试调用方式(主线程在校验失败后执行):
Agent(
subagent_type: "chapter-extractor",
model: "sonnet", # 显式覆盖 frontmatter 的 haiku
prompt: "章节编号:第{N}章\n...(同首次 prompt,含开头的「材料声明」前缀,可追加:'上次校验失败原因:{自检失败项}')"
)最终落盘规则:
- haiku 首次通过 → 写入
章节/第{N}章_摘要.md,_progress.md标记success - haiku 失败 + 同模型 retry 通过 → 同上,备注
retry_same_model - 质量失败 + sonnet retry 通过 → 同上,备注
retry_sonnet - sonnet retry 仍失败 → 章节标记
⚠️ 跳过,失败原因写入_progress.md「失败记录」表,拆文报告中注明 - 单章失败不阻断管道;批次全部 spawn 完成后才决定是否进入 Stage 3
Agent 不可用降级
以下任一情况,Stage 2 自动退回串行模式,由主线程按 chapter-extractor 方法论逐章处理(结果同样套 output-templates.md 的章节摘要模板,质量不受影响,只是改为串行、速度略慢):
- agent 未部署:
.claude/agents/chapter-extractor.md不存在。.claude/agents/通常不随仓库提交,由/story-setup部署;模板源在skills/story-setup/references/templates/agents/chapter-extractor.md,必要时可手动复制部署。 - 环境不支持 spawn 子代理:本 skill 正运行在某个子代理上下文中,无法再起下一层 agent。
Stage 2 收尾:合并章节摘要(_章节摘要汇总.md)
Stage 2 所有 章节/*_摘要.md 落盘后、进入 Stage 3 前,主线程把它们按章号顺序无损拼接成 拆文库/{书名}/_章节摘要汇总.md(只拼接、不压缩、不改写):
ls 章节/*_摘要.md | sed -E 's/.*第([0-9]+)章.*/\1 &/' | sort -n | cut -d' ' -f2- | while read -r f; do cat "$f"; echo; done > _章节摘要汇总.md无损检查(拼接后校验,任一不过即删除 _章节摘要汇总.md、回退逐文件扫描,行为不变):
grep -cE '^P[0-9]+ ' _章节摘要汇总.md== 各摘要^P行数之和grep -cE '^\*\*概要\*\*' _章节摘要汇总.md== 摘要文件数(**概要**每章一行,chapter-extractor 并行输出与串行摘要模板都有;不用## 第N章头——串行摘要模板没有章节头,会误判)
Stage 3 / 4a / 4c / 散落情节兜底改为只读一次 `_章节摘要汇总.md` 并在上下文中复用,替代每阶段 glob 章节/*_摘要.md 重扫(同一份语料的 4-5 次冷读降为 1 次)。
仅当语料能放进上下文时才生成汇总文件:>500 章、或合并后 _章节摘要汇总.md 过大放不进上下文时跳过本步骤,走下方「分块策略」。_章节摘要汇总.md 不替代 章节/*_摘要.md——单章文件仍是落盘真源,Stage 6 文风采样、人工复核照用单章文件。管道结束(Stage 6 后)删除 _章节摘要汇总.md——它是派生临时文件,不随 拆文库/ 交付(拆文库/ 会被 story-import 保留为写作工程)。
---
分块策略
路由级说明:Stage 2 使用 chapter-extractor agent 按章节并行,不分块。
Stage 3-5 的分块策略(规模分级、智能分块、跨块合并、输出长度上限)的唯一权威定义见 material-decomposition.md。
---
恢复机制
1. 管道启动时检查输出目录是否已有 _progress.md 2. 如有,读取断点信息(最后处理章节 + 当前阶段 + 最终状态) 3. 断点状态为 `paused_after_stage1`(Stage 1 停靠点)→ 跳过 Stage 0/1,直接从 Stage 2 续跑逐章摘要,不重跑已完成的概要与黄金三章。 4. 其他断点状态 → 从断点所在块的起始章节恢复,覆盖该块已有输出。
_progress.md 模板与各状态值说明见 pipeline-ops.md。
---
流程衔接
流水线: 长篇 位置: 拆文(长篇流水线第 2 步,在 story-long-scan 之后、story-long-write 之前)
| 时机 | 跳转到 | 命令 |
|---|---|---|
| 准备开写 | story-long-write | /story-long-write |
| 需要市场数据 | story-long-scan | /story-long-scan |
| 更适合短篇 | story-short-scan → story-short-analyze | /story-short-scan |
选题决策回填:若项目根有 选题决策.md(story-long-scan 产出),拆完汇总报告(Stage 5 跑完)后会自动回填对应选题的"能爆的原因"(见上「Stage 5 后:选题决策回填」)。---
参考资料
| 文件 | 何时加载 |
|---|---|
| references/output-templates.md | 管道全程:各 Stage 输出模板 + 快速预览报告模板 + 剧情/节奏.md / 剧情/情绪模块.md 模板 + 通用速查表 |
| references/material-decomposition.md | Stage 2-5:素材拆解方法论 + 质量阈值 + 分块策略;Stage 6 另见文风资料 |
| references/pipeline-ops.md | 管道运维:_progress.md 模板、错误处理、恢复机制操作步骤 |
| references/deconstruction-notes.md | 拆书方法+影视拆解+抽象拆解法+题材实战 |
| references/style-profile-protocol.md | Stage 6:文风模板 + 可信度/可用性说明 |
| references/style-profile-generator.md | Stage 6:文风生成 SOP(6 步,含中文数字章节识别 + 全角冒号基调 grep) |
---
语言
- 跟随用户的语言回复,用户用什么语言就用什么语言回复
- 中文回复遵循《中文文案排版指北》
长篇拆文参考
拆书方法论、结构设计、卖点循环、题材实战要点的速查手册。配合 SKILL.md 和 material-decomposition.md 使用。
管道阶段映射
| 本文件章节 | 适用管道阶段 | 用途 |
|---|---|---|
| 核心情绪控制 | Stage 1(黄金三章) | 判断开篇情绪是否到位 |
| 题材边界与核心梗 | Stage 0(概要提取) | 识别题材类型和核心梗 |
| 拆书方法论 | Stage 1-2(三章+逐章) | 拆解视角和提取方法 |
| 结构设计与节奏 | Stage 3(聚合分析) | 节奏地图和情绪曲线构建 |
| 卖点循环设计 | Stage 3(聚合分析) | 爽点循环模式识别 |
| 桥段词表 | Stage 3(聚合分析) | 给剧情模块打桥段标签 |
| 经典作品拆解 | Stage 1-2 | 对标拆解参考框架 |
| 拆书实操技巧 | Stage 2(逐章摘要) | 情绪折线图、期待分析 |
| 对标书选择 | Stage 0(概要提取) | 确定拆解对象 |
| 抽象拆书法 | Stage 3(聚合分析) | 三幕式结构归纳 |
| 影视拉片与情绪控制 | Stage 2-3 | 情绪曲线精细化分析 |
| 多线叙事与结构循环 | Stage 3(聚合分析) | 多线交织识别 |
| 题材实战 | Stage 0-1(概要+三章) | 题材特有爽点形态 |
| 人设塑造 | Stage 4(设定+关系) | 角色档案和出场设计 |
| 素材转化 | Stage 0-5(全流程) | 拆文结果转化为写作指导 |
---
核心情绪控制
自检规则
拆解或审查时标记:文本是否偏离核心梗、是否出现只服务表达欲但不服务读者期待的段落。偏离核心梗时,输出为留存风险而不是主观评价。
核心情绪崩溃案例
| 问题 | 教训 |
|---|---|
| 主角独断万古身边人死绝 | 读者代入后"天下无敌啥也得不到",憋屈 |
| 换地图杀光所有配角 | 留存/追读风险显著升高,读者难以接受代入资产清零 |
| 所有人牺牲成工具人 | 高开低走,核心情绪崩坏 |
修正:悲情通过创造挫折体现,非杀死重要角色;换地图可让原有人遇险给主角行动理由。
刀人原则
- 刀人是手段非目的,对笔力要求极高
- 必须刀人时,埋伏笔留弥补空间
- 项目没有足够铺垫、补偿机制和后续情绪回收方案时,不要刀重要角色
- 悲情强度必须由目标平台近期样本校准;默认不让悲情覆盖核心爽感或安全感
强情绪样本校验
若目标平台近期样本高频出现强情绪文,拆解时记录:触发情绪、释放节奏、噱头位置、留存证据。没有近期样本时,不把强情绪当作硬性趋势,只作为候选假设。
---
题材边界与核心梗
核心梗 = 读者需求,偏离 = 抛弃读者
| 偏离类型 | 后果 |
|---|---|
| 核心对比消失(都市高武→普通) | 在读直降 |
| 核心机制不升级(网游困在新手村) | 限制上限 |
| 题材串味(玄幻混诡异/悬疑跑偏到玄幻) | 两边读者都不讨好 |
| 后期三观偏离 | 受众筛选过严重 |
核心梗延伸四维度
以"逆袭系统(早到流)"为例:1.任务数量 2.奖励难度 3.等级阶层+隐藏触发 4.奖励触发新戏剧性任务。仅用前两点戏剧性快速消耗殆尽,四点结合才持续。
核心梗密度参考
《美食赋我词条》11章内核心梗应用5次,密度极高。
---
拆书方法论
六原则
有目的 / 有方法 / 拆出理论 / 摒弃好恶 / 扬长避短 / 拆自己喜欢的书
流程
概括一句话 → 识别结构单元(起承转合,递进扩大) → 抽离框架+情绪链条 → 借鉴框架非抄内容
条件框架提取法
剧情提炼为条件(如:展露部分天赋+两方势力争夺+信息差制造慧眼识珠),替换人物/背景/金手指后复用,保留情绪相似。
抽象五步法
概括 → 拆为信息团(情绪转折点) → 按上行/下行/转折归类 → 提取通用条件框架 → 用素材填充
感情线拆法:双标法
同一件事(送可乐),男配送女主拒绝,男主送女主接受。三要素:①差不多同一件事前后连续 ②女主态度截然不同 ③男主不清楚。
---
结构设计与节奏
情绪拉扯工具
| 技巧 | 做法 |
|---|---|
| 熟悉情绪套路 | 选套路→搞人设→填剧情 |
| 期待断掉续上 | 引入新角色/新事件重新拉起 |
| 装逼打脸底层 | 鄙视链+人际关系舞台+正向反向传播 |
| 复合型配角 | 主角"白手套":替主角发声+绝对支持+搞笑 |
望远镜拉期待法
倒计时结构:不断描写"发现→观测→打捞→失败→坠落"——读者都知道子弹会射向主角→巨大期待。
分卷节奏(天才俱乐部案例)
每二三十万字一卷,有明确核心与目标;卷内多线头纠缠打破线性"起承转合";"起"必须抛钩子;每卷结尾为下卷埋线。
时代适应
从强冲突开场→人情冷暖+基础需求展开;文风更细腻;画面剪辑感极强;套路熟悉但两三章速战速决。
---
卖点循环设计
完美循环(天灾信使)
开小号装逼打脸赚好处→拿好处做主线任务→获得奖励→给小号提升武力→新地图装逼打脸→循环。关键:每次内容不同;情感进展拉住期待感;最终暴露小号身份=装出去的逼兜回主角。
信息密集型循环(苟在初圣宗)
按"轮回"拆分,每轮回=完整故事。力量体系不崩即可无限拉长。
直播流循环
有目标(确定性预期)→ 有对抗(短平快胜负)→ 有阶段性(任务升级)→ 整活正反馈
---
经典作品拆解
| 作品/作者 | 核心拆解点 |
|---|---|
| 遮天(辰东) | 九龙拉棺倒计时+同学打脸+前女友回归+进荒古禁地(不断切换期待类型) |
| 夜无疆(辰东) | 大病初愈+无粮+邻居救济→画面剪辑感→熟悉套路两三章速战速决 |
| 我吃西红柿 | "没有特点"=普适性强;敢写升级突飞猛进+敌人摧枯拉朽;前提三观正 |
| 赘婿(香蕉) | 写诗装逼教科书:铺设人际→构架舞台→诗作逐层传播→多轮震惊→态度闭环 |
| 炮火弧线 | 煽情+身临其境;军文核心=国与国、信仰与信仰 |
---
拆书实操技巧
从期待出发
- 先知先觉类金手指使用场景:介绍世界观/提升实力/装逼前/对比高手前/介绍新人物前
- 过渡情节写收获/暧昧/小情节,无冲突可跳到冲突前一秒
情绪折线图
横轴=章节,纵轴=情绪正负。控制节奏=控制"富有戏剧性的信息团"出现速度。信息团=能造成情绪转折的情节。
逐段功能标注法
对照原文逐段标记叙事功能(铺垫/转折/高潮/过渡),追踪情绪走向、困境设计、伏笔衔接,输出可复用框架;禁止复制剧情内容或表达。
---
对标书选择
| 错误 | 原因 |
|---|---|
| 只拆一本对标书 | 至少5本同网站同题材同类型参考 |
| 只拆唯一头部爆款 | 头部作品可能依赖不可复制的作者品牌或历史流量,优先选择同平台同题材、数据稳定、非唯一头部的可复制样本 |
| 跨网站对标 | 不同网站读者群体不同,写法差异大 |
流程:广泛收集同题材样本→定方向→定参考书5-10本→定对标书
---
抽象拆书法:三幕式
| 幕 | 核心 |
|---|---|
| 第一幕-建立 | 暗示矛盾→主角+金手指→惊人意外→情绪上下拉扯→主线确立 |
| 第二幕-对抗 | 新世界→更强对手→中点反转→情绪拉扯(下行后必有上行) |
| 第三幕-决战 | 线索收束→矛盾极限→关键选择(体现人物弧光)→决战+主题升华 |
---
影视拉片与情绪控制
- 人物态度转变=最能体现情绪
- 打斗间穿插反应但控制字数,否则截断节奏
- 用情绪展示境况(感叹/震惊/窃喜)表现优劣
- 每个动作段落要带出情绪变化
---
多线叙事与结构循环
多线拆解维度
事件节点(新人物/冲突爆发)/ 情绪链条节点(一句话概括)/ 事业线 / 感情线
感情线模板(单角色):相遇态度→关键转折→态度递进(厌恶→好奇→心动→沦陷)→推倒引爆点
循环层次感
同一框架循环时每次内容必须不同(地图/角色/冲突/情感细节更新)。力量体系不崩可无限拉长。
---
题材实战
| 题材 | 核心要点 |
|---|---|
| 历史文 | 本质=类同人写法;书名"朝代+开局事件";核心梗=先知先觉震惊名人+改变历史 |
| 军事文 | 卖点=煽情+身临系境;核心矛盾=国与国/信仰/意识形态 |
| 种田/脑洞 | 密集小爽点(收藏/能力/面板/震惊);面板设定要细致 |
| 直播流 | 目标(确定性预期)+对抗(短平快)+阶段性+爽点写法:先告诉读者打算怎么装逼,再装个更大的 |
| 两界穿梭 | 书名即卖点;核心梗=在A世界低调用B世界资源;长生凡人流:时间尺度大+配角代际更替 |
| 重生流 | 天然期待感;前世被辜负→这一世报复;爽点可重复使用每次形式不同;番茄标准=简单直给打标签 |
---
桥段词表
给 Stage 3 的 剧情/{标题}.md 打「桥段标签」用的常见桥段词。命中就标,逗号分隔;不在表内但本书确有的桥段照实写,不硬凑、宁缺毋滥。可扩展种子,不是封闭枚举。
| 题材 | 常见桥段 |
|---|---|
| 都市/言情 | 打脸、扮猪吃虎、马甲掉落、先婚后爱、追妻火葬场、破镜重圆、替身、契约婚姻、萌宝助攻 |
| 玄幻/修仙 | 废柴逆袭、扮猪吃虎、越级战斗、夺宝、护短打脸、绝境翻盘、机缘逆天 |
| 历史/种田 | 先知先觉、改变历史、科举经商崛起、攒钱起家、技能点亮 |
| 悬疑/无限 | 信息差、反转打脸、规则怪谈、身份揭穿、复盘解谜 |
| 系统流 | 任务奖励、签到、面板升级、强制任务、积分兑换 |
| 重生/穿越 | 前世复仇、改命、身份调换、双重生、未卜先知 |
| 世情/家庭 | 极品亲戚、婆媳争斗、偏心打脸、维权反击、自我觉醒 |
| 直播/两界 | 直播整活、低调用资源、两界差价、围观震惊 |
---
人设塑造
第一章立人设
小事件展示性格→贴标签确立;紧急事件快速带入剧情;女角色第一步反应要体现性格。
日常体现人设
重复出现符合人设的行为;配角功能化(嫉妒型:得意→嫉妒;崇拜型:质疑→佩服);配角情绪转变要写出。
开篇逻辑
被动入局→交流了解世界观→陷入困境→明确目标→展示金手指→通过金手指收获
---
素材转化
从热点提取:识别核心冲突→定主线方向→用经典框架填充素材。
文体决定行文
| 文体 | 行文 |
|---|---|
| 打脸爽文 | 节奏快、描写少、言语凝练 |
| 感情流 | 细水长流、细腻描写 |
小说素材拆解方法论
目录
1. 拆解流程 5 阶段 2. 原子提取六大铁律 3. 输出目录结构 4. 质量阈值体系 5. 散落情节兜底 6. Claude Code 执行指引
---
拆解流程 5 阶段
阶段 1:章节解析
- 识别章节分隔符(第X章、Chapter X、数字编号等)
- 提取章节标题,记录每章字数
阶段 2:原子提取(并行 Agent 处理每章)
优先使用 chapter-extractor agent 并行处理。每章 spawn 一个 agent,每次 5-8 个并发。 Agent 不可用时退回主线程串行处理。
Agent 输出格式严格对齐本阶段 A/B/C 三部分的合并输出,详见 output-templates.md 的 Stage 2 模板。
A. 章节摘要
- 一句话概括(100-300 字,因果链叙事)
- 关键事件(3-5 个,按时间顺序)
- 出场人物、主题标签、章节基调
- 剧情推进度(大转折/日常过渡/铺垫伏笔)
B. 情节点提取(每章 10-40 个,按字数动态调节)
密度公式:字数÷200(下限)到 字数÷150(上限),即 150-200 字/个情节点。当公式计算超出 [10, 40] 范围时,以硬约束为准。
| 字数 | 目标范围 | 说明 |
|---|---|---|
| ≤1000 | 10 个 | 短章按硬下限拆足关键步骤(公式建议 5-7,硬下限 10) |
| 3000 | 15-20 个 | 标准密度 |
| 5000 | 25-34 个 | 中长章 |
| 8000+ | ≤40 个 | 长章上限 |
写入章节摘要 .md 的情节点子章节(不单独输出 .json)。每个情节点:
| 字段 | 说明 |
|---|---|
| 序号 | 严格时间顺序 |
| 类型 | 转折点/信息揭示/冲突/解决/铺垫/行动/对话/状态变化 |
| 描述 | 客观白描,只记录发生了什么(禁止叙事框架词) |
| 原文引用 | <=400 字直接引用 |
| 涉及人物 | 全名,不用代词 |
| 地点 | 地理位置信息 |
| 关键物品 | 与剧情相关的物品 |
| 时间标记 | 相对时间(次日、半月后、同时) |
C. 关键信息与扩写技法提取
每章必须额外输出 关键信息与扩写技法 表,作为后续 剧情/节奏.md 和 剧情/情绪模块.md 的基础数据。它不是主观点评,而是把“本章必须传递的剧情信息”与“作者如何把它扩写成可读场景”拆开。
| 字段 | 提取方式 |
|---|---|
| 关键信息/剧情走向 | 从关键事件与情节点中归纳本章必须让读者知道、误判、期待或确认的信息 |
| 原文如何扩写 | 记录作者用了哪些事件、对话、反应层、细节、误导、回扣把信息扩成场景 |
| 扩写技法 | 从铺垫后置/反应层放大/信息差/对比锚点/延迟揭示/身体反应/小目标嵌套/其他中选择或补充 |
| 对读者情绪的作用 | 标注该扩写制造的好奇、期待、压抑、爽、心疼、紧张、甜、热血等效果 |
| 可复用提醒 | 只抽象情绪逻辑和功能位,明确禁止照搬具体桥段、台词、专名、独特设定 |
质量要求:每章至少 1 条;标准章节通常 2-5 条。若本章只是过渡,也要说明它维持了什么期待或冷却了什么情绪,而不是写“无”。
D. 角色提取
每个角色提取:外在表现(身份/言行/外貌)、本章功能、别名。 只记录新出场角色或已有角色的新发展。
角色重要性分级(按本章戏份):
| 等级 | 标准 |
|---|---|
| major | 本章核心:台词 ≥3 句 OR 推动本章主线 OR 有重要决策 |
| supporting | 本章配角:台词 1-2 句 OR 参与互动但非核心 |
| minor | 本章次要:仅被提及 OR 无台词但有名字 |
阶段 3:聚合分析(跨章节)
语料读取:本阶段及阶段 4a/4c、散落情节兜底里的「全部章节摘要 / 全部情节点」统一从 _章节摘要汇总.md(Stage 2 收尾按章号无损拼接的全书摘要,见 SKILL.md「Stage 2 收尾:合并章节摘要」)一次性读取、在上下文中复用,不逐文件 glob 重扫——同一份语料的 4-5 次冷读降为 1 次。汇总文件缺失或语料超上下文时,回退原「扫描全部章节摘要」逐文件方式 / 分块策略,行为不变。0. 故事框架识别(聚合前置)
在剧情聚合之前,先识别全书的故事框架。框架决定聚合策略:
| 框架类型 | 特征 | 聚合策略 |
|---|---|---|
| 升级流 | 等级体系清晰,按境界分段 | 按等级阶段划分剧情条 |
| 复仇线 | 核心矛盾明确,目标驱动 | 按复仇对象/阶段划分 |
| 日常/单元 | 每卷独立故事,弱连续性 | 按卷/单元划分 |
| 多线交织 | 多视角/多时间线 | 按线索划分,交叉点单独标记 |
| 蜕变成长 | 主角内在变化为主线 | 按成长阶段划分 |
识别方法:扫描概要.md(Stage 0 thin first-pass 足够,无需等 Stage 5 全书概要)+ 前3章摘要 + 后3章摘要,判断核心驱动模式。 输出写入 剧情/故事线.md 的框架识别部分。
预期剧情数量引导(强制参考,非建议):
| 总章数 | 预期独立剧情数 | 依据 |
|---|---|---|
| <30 章 | 3-6 个 | 短篇结构紧凑 |
| 30-100 章 | 5-15 个 | 每条剧情 5-20 章 |
| 100-300 章 | 10-25 个 | 含主线+支线+补充 |
| >300 章 | 15-40 个 | 多卷多线结构 |
偏差超过 ±30% 需重新检查粒度。首要原则:保证核心戏剧目标叙事弧的完整性。
粒度层级混乱检测(框架识别后自检):
| 混乱模式 | 检测方法 | 修正方式 |
|---|---|---|
| 包含关系 | 剧情A 章节范围完全包含剧情B | 保留粒度适中的B,拆分过粗的A |
| 重叠率 >50% | 两剧情共享章节超过一半 | 检查是否混淆「剧情」和「剧情阶段」 |
| 剧情仅为另一剧情的开端/结尾 | 剧情A 只占剧情B 的首/尾几章 | 合并为同一剧情,B 的阶段 |
| 剧情无独立目标 | 目标描述是另一剧情的子目标 | 降级为该剧情的阶段 |
框架识别后自检(聚合前必须通过): 1. 覆盖率检查:所有剧情覆盖的章节数(去重)是否达到 85% 以上 2. 粒度检查:是否存在过细(单一事件)或过粗(宏观主题)的剧情,执行粒度层级混乱检测 3. 独立性检查:每条剧情是否满足 4 项独立性标准 4. 数量检查:剧情总数是否在预期范围内
A. 剧情聚合(两步法)
将剧情聚合拆为两步:先从摘要识别剧情大纲,再按大纲分配情节点。
第一步:剧情大纲识别(从章节摘要)
扫描全部章节摘要,识别每条独立剧情的大纲。每条大纲包含:
| 字段 | 说明 |
|---|---|
| 标题 | 简洁有力,15字以内 |
| 概要 | 150-300字因果链,含核心角色、关键地点、事件发展 |
| 核心目标 | 具体、可衡量的戏剧目标 |
| 核心冲突 | 具体冲突对象+冲突事件 |
| 类型 | 主线/爱情/成长/复仇/寻宝/悬疑/战斗/权谋/修炼/危机/谜团/日常/其他 |
| 主题 | 不超过3个 |
| 章节范围 | 起止章节号 |
识别完成后执行框架识别自检(4项检查)。
第二步:情节点分配(按剧情大纲)
对每条剧情大纲,扫描全部情节点,将直接服务该目标的节点分配进来。
分配执行逻辑(4 步): 1. 主题溯源与节点收集:针对每条剧情大纲的核心目标,扫描全部情节点,将直接服务、推动或阻碍该目标的事件节点挑出 2. 边界识别:识别剧情的起点(触发事件/前置条件)和终点(完成/失败标志),以及连接两者的关键过渡节点 3. 索引构建与验证:将筛选出的情节点按时间顺序排列,验证覆盖完整性 4. 画像数据补充:基于最终节点集合,补充完善概要、结构分布等字段
情节点筛选标准(判定归属时使用):
- 主题相关:情节点内容与剧情概要、主题一致
- 角色匹配:情节点涉及的角色与剧情核心角色相关
- 因果关系:情节点与剧情发展有因果或逻辑延续
- 目标导向:情节点推动或阻碍剧情目标实现
- 章节范围:优先选择剧情章节范围内的情节点
剧情粒度标准(核心要求):
| 粒度 | 示例 | 问题 |
|---|---|---|
| 过细(单一事件) | "获得神器"(1-2章)、"首次修炼"(第3章) | 这些是事件,不是独立剧情 |
| 过粗(宏观主题) | "主角的成长之路"(1-100章) | 这是主题,不是具体剧情 |
| 合适 | "家族觉醒与传承认知"(1-6章)、"神器获得与导师相遇"(7-13章) | 有独立目标、冲突、角色群和完整叙事弧 |
剧情独立性判断标准(必须同时满足): 1. 独立的核心目标:有明确的、可衡量的戏剧目标(不是宏观主题或抽象概念) 2. 独立的主要冲突:有具体的对抗力量和冲突事件(不是某个大冲突的子阶段) 3. 相对独立的角色群:有该剧情特有的核心角色(可以与其他剧情共享部分角色) 4. 独立的叙事节奏:有自己的紧张-缓和节奏
三层覆盖策略: 1. 主线剧情(优先级最高):推动整体故事发展,通常占 60-70% 章节 2. 支线剧情:感情线、成长线、战斗线等,通常占 20-30% 章节 3. 补充剧情:过渡剧情、日常剧情,确保覆盖率 ≥85%
剧情类型:
- 主线(推动整体故事发展的核心剧情)
- 爱情(感情关系发展)
- 成长(角色能力/心智/地位提升)
- 复仇(复仇相关)
- 寻宝(争夺物品或目标)
- 悬疑(推理、真相揭露)
- 战斗(战争、比武、对决)
- 权谋(政治斗争、权力争夺)
- 修炼(修炼、突破、传承)
- 危机(危机应对、解救、逃脱)
- 谜团(世界观未解之谜、身世秘密、隐藏真相)
- 日常(日常生活、过渡性内容)
- 其他(无法归入以上类型)
每条剧情提取:标题、概要(150-300字因果链)、核心目标、核心冲突、类型、章节范围。 标记结构分布:铺垫期/发展期/高潮期/收尾期 各包含哪些章节。
核心目标类型参考:
- 获得型:"赢得大比冠军""获得关键道具/传承""攻占要塞"
- 解决型:"解除家族危机""偿还巨额债务""摆脱追杀"
- 创造型:"创立新宗门""研发新招式""开创一个流派"
- 探索型:"调查父母失踪真相""探索上古遗迹""揭露阴谋"
B. 故事线提取
将多条剧情聚合为「故事线」:标题、描述(300-600字发展阶段划分)、主要人物、主题关键词、包含的剧情列表(至少1个剧情)。
故事线类型:主线/感情线/成长线/复仇线/夺宝线/冲突线/谜团线/其他
故事线描述要求:
- 划分 3-8 个发展阶段(periodization),寻找关键转折点或里程碑事件作为阶段边界
- 每个阶段含:核心冲突、关键角色及作用、能力/资源/地位演进、主题母题
- 独立追踪伏笔与回收关系链(前后呼应的伏笔-回收对)
- 标注与其他故事线的交织关系(并行/交织/依赖)
- 包含剧情按时序排列,每条故事线至少包含1个剧情
C. 节奏索引与情绪模块生成
Stage 3 聚合后必须生成两个权威产物,供 Stage 5 报告摘要和 story-long-write 直接读取:
1. `剧情/节奏.md`(节奏权威)
- 输入:全部章节摘要的情节点、
关键信息与扩写技法表、剧情大纲、故事线。 - 输出:关键信息推进表、爽点循环索引、情绪触动点索引、爆发节奏总结。
- 生成法:按章节顺序扫描关键事件与关键信息,标出“信息进入读者视野 → 被延迟/误导/验证 → 情绪爆发 → 余波/新钩子”的链条。
- 校验:每条爽点/触动点必须能回指章节或情节点;每个长间隔(连续 3 章以上无触动点)必须说明作者如何用小钩子或信息推进维持期待。
2. `剧情/情绪模块.md`(模块权威)
- 输入:故事框架识别、剧情条、
剧情/节奏.md、读者需求判断、桥段标签。 - 输出:读者需求 / 情绪引擎、故事框架与套路运行图、可复现模块卡、重组与复现指南。
- 生成法:先抽象“读者想看什么”,再把具体剧情抽成情绪链和功能位;模块卡必须包含可替换项和不可照搬项。
- 校验:best-effort 为模块标注来源(关联
剧情/节奏.md的 RH/TR 条目或章节情节点),无把握时留空、不硬凑、不删模块;禁止把原文专名、独特事件顺序、标志性台词写成可复用模板。
权威关系:剧情/节奏.md 管节奏/触动点,剧情/情绪模块.md 管读者需求/模块复现。拆文报告.md 与 剧情/故事线.md 只能摘要或引用这两个文件,不能成为并列权威。
D. 小说概要生成(在 Stage 5 落盘,覆盖 Stage 0 thin first-pass)
整体故事框架识别 + 500-1000字高密度全书概要(涵盖主要剧情线阶段性发展、核心人物作用、关键转折点、因果关系)。
落盘时机:聚合阶段(Material 阶段 3 ≈ pipeline Stage 3)产出概要文本,但写入 `概要.md` 的动作放在 pipeline Stage 5 汇总报告——届时 Stage 3 / 4 全部完成、信息最完整。Stage 5 覆盖 Stage 0 的 thin first-pass 段,章节索引和卷段表保留。
阶段 4:世界观与设定提取
Stage 2 的角色轻量提及数据在此阶段升级为完整档案。
角色两阶段模型
阶段 A:轻量提及(Stage 2 输出)
- 每个 agent 返回出场人物表(姓名/重要性/别名/本章表现)
- 不做跨章分析,只记录本章可见信息
阶段 B:完整档案(Stage 4 构建)
- 合并所有章节的角色提及数据
- 跨章节别名解析
- 构建完整角色档案
一人一实体原则
- 绝对禁止将不同人物的信息合并到同一个实体中
- 每个角色实体必须对应唯一的一个人物
- 如果无法确定两个称呼是否指向同一人物,必须分开创建实体
别名解析规则
别名类型:
| 类型 | 定义 | 可合并 | 示例 |
|---|---|---|---|
| proper_name | 专名/全名/常用名 | 是 | "希尔曼""林雷·巴鲁克" |
| nickname | 绰号/外号,须有同指证据 | 是(置信度≥0.85) | "龙血战士林雷" |
| descriptor | 描述性称谓 | 否 | "红发壮汉""随从""队长" |
| title | 头衔/职务 | 否 | "护卫队长""家主""族长" |
合并约束:
- 仅 proper_name 和 nickname(置信度 ≥0.85)可用于合并
- descriptor 和 title 永不触发实体合并
- nickname 须提供同指证据:同位说明、括号别名、上下文指代、明确改名
Archetype 量化判断:
| 类型 | 标准 |
|---|---|
| 主角 | 出现章节 ≥50% 总章节 + 推动主线 + 有完整成长轨迹 |
| 反派 | 与主角对立 + 推动核心冲突 + 有明确动机 |
| 核心配角 | 出现章节 ≥20% OR 推动重要支线 OR 有独立人格和成长 |
| 功能角色 | 出现章节 <20% + 作用有限(提供信息/道具/一次性互动) |
特殊:前期 minor 后期 supporting → 判为 supporting。重要导师/伙伴即使出现少也可判为 supporting。
角色档案结构(200-500字): 1. 身份背景(1-2句) 2. 核心经历(3-5句,按时序) 3. 性格特质(1-2句,从行为归纳) 4. 能力特长(1-2句) 5. 人际关系(1-2句) 6. 成长轨迹(如有,1句)
金手指合并规则
- 相互关联、共同作用的元素合并为一个(如"戒指+导师灵魂"是一个整体)
- 同一事物的不同描述角度不拆分
- 只有完全独立、互不依赖的能力来源才拆分为多个
- 长篇特点:金手指可能复杂多样,需详尽描述演化过程和多重能力
- 无金手指时注明
金手指类型:system(系统)/ space(空间)/ rebirth(重生)/ transmigration(穿越)/ special_physique(特殊体质)/ artifact(神器)/ bloodline(血脉)/ other(其他)
世界观(按主题拆分到多个文件)
字段与落盘位置:
| 字段 | 说明 | 落盘文件 |
|---|---|---|
| 类型 | 奇幻/现实/平行世界 | 各文件 frontmatter 或开头注明 |
| 力量体系 | 名称、等级、晋升方式(文本描述) | 设定/世界观/力量体系.md(>=200字独立,否则并入 背景设定) |
| 地理 | 分布、主要区域、关键地点(文本描述) | 设定/世界观/地理.md(同上,>=200字独立) |
| 势力 | 门派/组织/家族/国家 | 每个势力一个文件 设定/势力/{势力名}.md(>=200字独立;不足合并到 设定/世界观/背景设定.md) |
| 核心规则 | 世界运转的基本规则 | 设定/世界观/背景设定.md |
| 特殊设定 | 区别于现实的独特设定 | 设定/世界观/背景设定.md(与核心规则同文件) |
| 金手指 | 见上方「金手指合并规则」 | 设定/世界观/金手指.md(统一在 设定/世界观/ 子目录下,不放扁平 设定/金手指.md) |
模板与示例见 output-templates.md 「Stage 4 设定+关系」节。下游story-import的 3.5 拆分步骤检测到设定/世界观/子目录已存在时直接 pass-through,不再 re-split。
阶段 5:人物关系提取
每对关系:
| 字段 | 说明 |
|---|---|
| 角色A | 全名 |
| 角色B | 全名 |
| 关系类型 | 家人/师徒/朋友/敌人/恋人/同事/上下级/商业/其他 |
| 情感倾向 | 正面/负面/中性/复杂 |
| 描述 | 关系本质+建立过程+关键互动(50-200字) |
关系提取策略
数据源:从已提取的情节点描述中提取关系(不从原文提取),更高效、更聚焦。
批量提取:每 5 章批量提取一次,只记录新关系或关系变化。
关系演变追踪:当同一对角色关系发生变化时,记录演变轨迹:
第{N}章:{关系状态A} → 第{M}章:{关系状态B}
触发事件:{具体事件}
情感转变:{正面→负面/负面→正面/中立→复杂 等}最终状态合并:同一对角色的多阶段关系,保留最新状态作为主记录,历史变化写入演变轨迹。避免同一对出现多条重复关系。
隐含关系推断:当角色间没有直接互动但有间接证据时:
- 通过第三方的评价/描述推断(置信度标 0.7)
- 通过共同出现的频率和场合推断(置信度标 0.6)
- 推断关系标记
[推断],与直接证据关系区分
关系网络密度:
- 统计主要角色(主角+核心配角)的关系数量
- 关系数 < 3 → 关系网偏薄,检查是否有遗漏
- 关系数 > 10 → 关系网过密,检查是否有误合并
---
原子提取六大铁律
1. 绝对时序:严格按事件发生的时间顺序排列 2. 客观白描:只记录"发生了什么",不用叙事框架词 3. 信息保真:不遗漏改变语境的关键细节 4. 高度浓缩:一个情节点一句话概括 5. 复合合并:为同一戏剧目的服务的连续微动作合并为一个情节点 6. 客观事实:提取客观事实,不做叙事分析
客观白描 vs 叙事框架词:
- 禁止:「通过对话,郑松得知张子豪在韩国训练」
- 正确:「吴志斌告诉郑松,张子豪在韩国训练」
- 禁止:「林风展现了自己的实力」
- 正确:「林风三招击败对手,围观者倒吸一口凉气」
- 禁止:「邵阳感到心碎和愤怒」
- 正确:「邵阳目睹宋丽与人拥抱,表情由刺痛转为冷漠」
---
合成阶段事实保真(阶段 3-5:剧情/设定/角色/报告)
阶段 3-5 从章节摘要二次合成,离原文已两跳,最易把「摘要没说的」用合理推断补成「看似坐实的事实」——这是拆文事实错误的最大来源(典型:给「双系魔法师」凭空补第二系、把坐骑等级安到骑手头上、给原文没给的字段编一个数值、把出场区间填成连续跨度含没出场的章)。强模型也照样漂移,因为越远离原文,模型越靠世界知识与"合理性"填空。三条硬约束:
1. 硬事实必须可溯源:力量等级、数值、距离、属性、势力数量、谁对谁说了什么、角色出场章节——这类硬事实写进设定/角色/报告前,回原文核对(摘要不足就直接读原文);核到才写。 2. 缺失写「原文未明确」,禁编造填空:原文没给的字段,写「原文未明确/节选未涉及」,绝不用近义项、别处的范例或惯例补一个看似合理的值。 3. 跨指代不串:相邻实体的属性不互相挪用——坐骑等级≠骑手等级、A 的台词≠B 的台词、本章统计数字≠相邻章数字。
落盘后做一次事实可溯源自检:抽查设定/角色/报告里的硬事实,逐条能否 grep 回原文;命中即过,命中不到的改写为「原文未明确」或删除,不保留无源断言。此自检独立于下方三个比率——比率查归类质量,它查事实真伪。
---
输出目录结构
拆文库/{书名}/
原文/ 原始文本备份(管道前置步骤)
章节/ 第{N}章_深度拆解.md + 第{N}章_摘要.md(含关键信息与扩写技法)
角色/ {角色名}.md + 角色关系.md
剧情/ {剧情标题}.md + 故事线.md + 节奏.md + 情绪模块.md + 散落情节.md
设定/ 世界观.md + 金手指.md
拆文报告.md
概要.md
_progress.md---
质量阈值体系
阶段 3 和阶段 4 完成后自检:
| 指标 | 阈值 | 计算 | 不达标处理 |
|---|---|---|---|
| 置信度 | >= 0.85 | 有明确归属的情节点 / 剧情条内情节点总数 | 低于 0.85 标记「待复核」 |
| 覆盖率 | 85%-95% | 已归类情节点 / 总情节点数 | <85% 触发孤立情节二次分类;>95% 复核边界 |
| 关键信息覆盖 | >= 每章1条 | 含 关键信息与扩写技法 的章节数 / 摘要章节数 | 缺失章节回到 Stage 2 补提取 |
| 模块来源标注 | best-effort | 情绪模块卡尽量标注 RH/TR 或章节情节点来源 | 无把握的来源留空,不硬凑、不删模块(同桥段标签的 best-effort 处理) |
| 重叠率 | <= 35% | 跨剧情条共享情节点 / 总情节点数 | >35% 提示边界模糊,建议合并 |
小体量节选(< 30 章、单主线连续叙事)的特例:此类素材按时序连续切分时,覆盖率天然接近 100%、散落情节接近 0,这是线性结构的正常结果,不算过度归并。此时复核重点是「有无把不同剧情强行并进同一条」,而非覆盖率数值本身——不必为压到 95% 以下而人为拆分。
---
散落情节兜底
阶段 3 聚合完成后执行(6 步,含覆盖率验证):
1. 计算孤立比例:孤立情节点数 / 总情节点数。若比例 < 5%,跳过后续步骤,直接标记为「少量散落,无需处理」 2. 筛选未分配情节点:从所有章节摘要中收集未归类到任何剧情条的情节点 3. 三层置信度归入:按角色重叠、地点重叠、因果关系三条线索计算相关性
- 强相关(0.8-1.0):角色匹配 + 主题相关 → 归入现有剧情条,标记
[孤立情节归入] - 中等相关(0.5-0.8):角色匹配 或 主题相关 → 归入并标记
[低置信归入],待复核 - 弱相关(<0.5):不建议强行归入,宁可放入未分配
4. 主题聚类:弱相关的情节点按主题关键词聚类
- 聚类结果 >= 5 个情节点 → 形成候选剧情条,标记
[聚类生成] - 聚类结果 < 5 个 → 不单独建条
5. 散落情节归档:仍无法归类的写入 散落情节.md,按章节排列,标注原因
- 不丢弃任何情节点,不要强行分配到不相关的剧情
- 在拆文报告中统计散落情节点数量和占比
6. 覆盖率验证:
- 覆盖率 = (总数 - 散落数) / 总数 × 100%
- 目标:85%-95%
- < 85% → 回到步骤 3,降低置信度阈值重试
- > 95% → 检查是否有过度归并,复核边界剧情条
---
Claude Code 执行指引
分块策略
Stage 2 使用 chapter-extractor agent 并行处理(每章一个 agent,每批 5-8 个),不分块。 其他阶段(0、1、3、4、5)的分块策略如下:
| 规模 | 策略 | 块大小 |
|---|---|---|
| <50 章 | 按阶段整体处理 | 无需分块 |
| 50-100 章 | 按阶段整体处理 | 无需分块(可选智能分块) |
| 100-500 章 | 按章节分块 | 5-8 章/块 |
| >500 章 | 智能分块:基于章节摘要识别自然分界,按语义连贯性切分 | 50-200 章/块 |
智能分块(>500 章)
对于大型小说,基于章节摘要识别自然分界,而非固定切分:
分块原则(四大铁律): 1. 语义连贯:每块是一个相对独立的内容单元(大故事阶段或主要事件线) 2. 自然分界:在内容转折点、场景切换、时间跨越处切分,不在紧密剧情中间切 3. 大小适中:每块 50-200 章,语义完整性优先于大小均匀 4. 避免割裂:不在紧密剧情中间切分
题材特化分块参考:
| 题材 | 分块依据 | 示例 |
|---|---|---|
| 修仙/升级 | 境界突破、地图切换 | 炼气期→筑基期→金丹期 |
| 都市 | 事件线、身份转变 | 学生→创业→商业帝国 |
| 历史 | 历史阶段、战役 | 起兵→统一北方→南征 |
| 玄幻 | 世界地图、势力变化 | 东域→中州→上界 |
| 有卷/部/篇 | 优先按原结构 | 按作者划分的卷/部 |
无明显结构时按固定章节数均匀切分。硬约束:所有章节必须被覆盖,块之间不能重叠(每章只属于一个块)。分块上限:最多 10 块(超出时扩大块大小,保持语义完整性)。
每块输出元数据:块标题 | 起止章节 | 核心主题(2-5个) | 关键事件(2-5个) | 主角阶段。
输入分块大小 6-8K token/块(中小型),章节边界对齐。输出长度限制见 SKILL.md(Stage 2 agent 模式按密度公式输出,Stage 3-5 单阶段 ≤8000 中文字符)。每块完成后更新 _progress.md。
跨块合并(大型小说 >500 章)
分块处理后,相邻块的边界剧情可能被机械切分割裂。Stage 3 聚合时执行跨块合并检查:
合并判断标准(必须同时满足): 1. ✓ 同一核心事件/目标:讲述的是同一个核心事件(不是两个独立事件) 2. ✓ 主要人物相同:涉及的主要人物相同 3. ✓ 剧情发展连续:剧情 B 是剧情 A 的自然延续 4. ✓ 非因果独立事件:不是因果关系的两个独立事件
应该合并:
- "竞选县长秘书(准备阶段)" + "竞选县长秘书(投票阶段)" → 同一事件被分块割裂
- "修炼突破(前期)" + "修炼突破(后期)" → 同一突破过程
不应合并:
- "在办公室立足" + "竞选县长秘书" → 两个独立目标
- "炼气期修炼" + "筑基期修炼" → 不同阶段的独立剧情
- "东域修炼" + "中州历练" → 不同地图的独立剧情
保守原则:当不确定时,倾向于不合并(保持独立)。
边界检测原则:只检查相邻块中接近块边界的剧情对,远离边界的剧情不参与跨块合并。
跨会话恢复
- 进度通过 _progress.md 追踪
- 新会话读 _progress.md 定位断点
- 从断点所在块的起始章节重新开始(覆盖该块已有输出)
与 SKILL.md 的关系
四件套各自职责:
SKILL.md= 路由逻辑 + 管道概要(阶段名称/输入/输出/停靠点定义)- 本文件(
material-decomposition.md)= 方法论细节(5 阶段操作步骤 + 六大铁律 + 输出结构)+ 质量阈值唯一权威(置信度/覆盖率/重叠率)+ 分块策略唯一权威 references/output-templates.md= 各 Stage 具体输出格式模板 + 快速预览报告模板 + 通用速查表references/pipeline-ops.md= 管道运维:_progress.md模板与状态值、错误处理表、恢复机制操作步骤(不含阈值实体值,质量阈值见本文件)
拆文输出模板
按需加载,配合 SKILL.md 和 material-decomposition.md 使用。
本文件按 story-long-analyze 唯一管道的阶段编号组织:Stage 0-5 各阶段输出模板 + 停靠点「快速预览报告」模板 + 跨阶段通用速查。
---
通用速查
爽点类型
| 类型 | 定义 | 例子 |
|---|---|---|
| 装逼打脸 | 实力碾压被轻视的人 | 「你也配?」 |
| 逆袭反转 | 绝境翻盘 | 废材觉醒 |
| 获得机缘 | 得到别人没有的 | 捡到神器 |
| 信息差碾压 | 读者和主角知道别人不知道的 | 重生先知优势 |
| 情感满足 | 人物关系发展 | 告白/团聚/认可 |
| 扮猪吃虎 | 隐藏实力突然展露 | 弱者实则是强者 |
钩子类型
| 类型 | 定义 | 示例 |
|---|---|---|
| 悬念钩 | 未解之谜 | 「剑为什么认他为主?」 |
| 冲突钩 | 直接对抗 | 开篇追杀 |
| 反差钩 | 违反常识 | 「穿越第一天就破产」 |
| 代入钩 | 读者共鸣 | 相似困境 |
| 信息差钩 | 读者知道角色不知道的 | 「他还不知道面前是……」 |
爽点循环结构
三层微观循环:
- 铺垫层(蓄势):压抑/困境/信息差制造情绪缺口
- 释放层(爽感):展露实力/打脸/碾压,强度由反应层数和篇幅决定
- 衔接层(承转):旧循环结束埋新钩子
反应层递进:质疑/轻视 → 震惊/打脸 → 强者重新评价 → 扩散效应 反应篇幅比 = 反应总字数 / 装逼字数。低于1.5 = 爽感没接住。
衔接过渡模式
| 模式 | 机制 | 示例 |
|---|---|---|
| 打完小的来大的 | 释放层对手引出更强对手 | 打败弟子→师父找上门 |
| 胜利发现隐患 | 释放成功暴露新问题 | 赢了比赛→发现中毒 |
| 身份暴露/反转 | 释放中身份被识破 | 打脸后被认出真实身份 |
| 利益升级 | 成果指向更大目标 | 线索→更深层宝藏 |
| 关系突变 | 释放改变关系格局 | 救的人变仇家后代 |
题材爽点形态
| 题材 | 释放层形态 | 反应层来源 | 铺垫层缺口 |
|---|---|---|---|
| 玄幻/修仙 | 实力碾压/境界突破 | 同门/对手/长老震惊 | 功法残缺/资源匮乏/血脉压制 |
| 都市 | 预测准确/身份揭露 | 商业对手/前女友/权贵 | 破产/被辞/被退婚 |
| 系统文 | 解锁稀有技能/任务奖励 | 系统稀有度标注 | 任务失败惩罚/技能冷却 |
| 历史 | 以弱胜强/先知优势 | 谋士/帝王/敌将震惊 | 信息不对称/身份低微 |
| 悬疑 | 真相揭露/反杀 | 被揭穿者崩溃/读者恍然 | 线索误导/嫌疑人洗白 |
---
快速预览报告
Stage 1 停靠点交付物,输出 拆文库/{书名}/快速预览.md。字段全部取自 Stage 0/1 已产出数据(概要.md + 黄金三章深度拆解),不引入需 Stage 2-6 才能算出的字段。与终态 拆文报告.md 向上兼容——「基本信息」「黄金三章评分」两节同名同结构,全量拆完后 拆文报告.md 是 快速预览.md 的超集。
# 快速预览:{书名}
> 基于黄金三章 + 全书概要的早期判断。完整拆解见后续 Stage 2-6。
> 状态:已完成 Stage 0-1,{已暂停 / 已继续全量拆解}
## 基本信息
书名 | 题材 | 总章数 | 总字数 | 目标平台(来自 概要.md)
## 黄金三章评分
直接复用 Stage 1 三章深度拆解结论,5 维评分表:
| 维度 | 评分 | 说明 |
|------|------|------|
| 开篇钩子 | 1-5 | |
| 主角塑造 | 1-5 | |
| 爽点设计 | 1-5 | |
| 世界观铺设 | 1-5 | |
| 章尾悬念 | 1-5 | |
## 开篇判断
- 开篇钩子类型与效果(来自 Stage 1 第1章「开篇钩子」)
- 主角立人设手法
- 世界观铺设方式
- 黄金三章节奏:三章各自功能
## 早期可借鉴点
来自 Stage 1 各章「可借鉴要素」的汇总,3-5 条。
## 是否值得全量拆解 — 建议
一句话结论:基于黄金三章质量,建议{继续全量拆解 / 重点拆解某部分 / 此书参考价值有限}。
## 下一步
继续全量拆解将产出:逐章摘要、剧情聚合、角色档案、世界观设定、完整拆文报告。快速预览.md与拆文报告.md并存:前者是停靠点快照,后者是终态。终态生成后不删除快速预览.md,保留早期判断痕迹。
---
Stage 0 概要(thin first-pass)
范围说明:Stage 0 只能基于章节标题 + 卷段结构 + 抽样开头/结尾产出 thin first-pass(~200 字)。禁止在此阶段写出 500-1000 字 plot-aware 概要——读取范围不足以支撑那个密度。完整版在 Stage 5 落盘覆盖(见本文件「Stage 5 拆文报告 + 全书概要」节)。
输出 概要.md:总字数{X}万 | 总章数{N} | 题材{类型}
| 卷/段 | 章节范围 | 章数 | 预估字数 |
|---|---|---|---|
| {卷名} | 第1-X章 | {N} | {W}万 |
首版概要(~200字,thin first-pass):{从章节标题 + 第1章+末章抽样归纳出的核心驱动 + 主角名 + 大致设定,不要硬凑剧情转折} 章节索引:| 章节 | 标题 | 字数 |
Stage 5 完成后会就地覆盖此文件的「首版概要」段为「全书概要(500-1000字 plot-aware)」。章节索引和卷段表保留不变。
Stage 1 黄金三章
黄金三章拆为三个单章文件,每章一个:章节/第1章_深度拆解.md、章节/第2章_深度拆解.md、章节/第3章_深度拆解.md。每个文件按以下模板输出。
字数约{X}字 | 核心事件:{一句话}
开篇钩子(第1章看前500字):类型{悬念/冲突/反差/信息差/代入感} | 手法{描述} | 效果{强/中/弱}—{原因}
人物出场:{列表} | 主角塑造{直接描写/对话/行为/他人评价} | 第一印象{描述}
世界观铺设:透露{信息} | 隐藏{信息} | 方式{对话/旁白/事件}
结构拆解:| 段落范围 | 功能{铺垫/冲突/爽点/收尾} | 字数 |
爽点分析:类型{装逼打脸/逆袭反转/获得机缘/信息差碾压/情感满足} | 铺垫{X}字 / 释放{Y}字 / 铺放比{Z:1} | 情绪曲线
反应层拆解(如有):
| 层级 | 角色 | 反应 | 篇幅 |
|---|---|---|---|
| 质疑/轻视 | |||
| 震惊/打脸 | |||
| 强者重评 | |||
| 扩散传播 |
反应篇幅比{N:1} — 低于1.5 = 爽感不足
释放后追证(如有):爽点释放后反派真实态度?{行为+原文引用}
冲突升级(如有):{行为} | 升级层级{口头→经济→暴力} | 对角色画像影响
背景信息揭示(如有):揭示{什么} | 叙事功能{推翻预设/重新解读/铺垫新线/认知偏差} | 对主线影响
章尾钩子:类型{悬念/反转/新信息/新角色} | 内容{描述} | 期待度{强/中/弱}
可借鉴要素:{可复用技巧}
第二、三章额外关注:信息密度 / 冲突升级(vs上章) / 节奏变化 / 爽点间隔字数。
反派若为非人形(灵气复苏/末世/国运等抽象对抗型),在「爽点分析」处改用抽象对抗型路由:核心对抗面{描述} | 紧迫感来源{描述} | 升级机制{描述} | 叙事替代{用什么替代传统打脸}。
Stage 2 章节摘要+情节点
输出 章节/第{N}章_摘要.md:
概要:{100-300字因果链叙事} 关键事件:1.{事件} 2.{事件} 3.{事件}
关键信息与扩写技法:
| 关键信息/剧情走向 | 原文如何扩写 | 扩写技法 | 对读者情绪的作用 | 可复用提醒 |
|---|---|---|---|---|
| {本章必须让读者知道/相信/期待的核心信息} | {作者用了哪些事件、对话、反应层、细节或误导把它扩成场景} | {铺垫后置/反应层放大/信息差/对比锚点/延迟揭示/身体反应/小目标嵌套/其他} | {好奇/期待/压抑/爽/心疼/紧张/甜/热血/其他} | {保留情绪逻辑,替换人物、场景、事件素材;禁止照搬具体桥段} |
出场人物:| 角色 | 本章重要性 | 别名 | 本章表现 |
情节点(每章10-40个,按字数动态调节,150-200字/个;硬下限10——短章按关键步骤拆足):
P{序号} {标题}:类型{转折点/信息揭示/冲突/解决/铺垫/行动/对话/状态变化} | {白描一句话} | 涉及{全名,纯环境铺垫无具体人物时留空} | 地点 | 物品{如涉及} | 时间
{≤400字原文直接引用,不加“原文引用:”标签} 主题标签{爱情/亲情/友情/权力/金钱/成长/复仇/悬念/搞笑/热血/日常/其他} | 基调:{紧张/轻松/悲伤/热血/爽/甜/温馨/恐怖/压抑/其他}
末行硬约束:基调:全角冒号不可省略(Stage 6 文风按它 grep);主题标签不加冒号;两者各取上列枚举、勿混(温馨/紧张/甜是基调、非主题);都不贴合用「其他」。枚举权威定义见 chapter-extractor.md「基调/主题标签」节。
Stage 2 角色过滤
| 分类 | 标准 | 提取深度 |
|---|---|---|
| 不提取 | 出场1次且无台词(通用路人) | 跳过 |
| 简化提取 | 出场2-3次且单一功能 | 功能标签+首次章节 |
| 完整提取 | 出场3次以上/有台词且推动剧情/与主角直接互动 | 完整档案 |
别名合并:主条目用首次正式名,别名列于 aliases: []。
Stage 2 情节点粒度
每章10-40个(密度公式:字数÷200 到 字数÷150,即150-200字/个;硬下限10,短章按关键步骤拆足)。太粗(整段打架)→丢细节;太细(举起右手)→碎片化。恰当:完整戏剧事件("主角三招击败反派,围观者震惊")。
Stage 3 聚合分析
Stage 3 前置:故事框架识别
输出写入 剧情/故事线.md 顶部:
## 故事框架
| 项目 | 内容 |
|------|------|
| 框架类型 | {升级流/复仇线/日常单元/多线交织/蜕变成长/混合} |
| 核心驱动 | {一句话描述全书的核心叙事引擎} |
| 主轴矛盾 | {贯穿全书的根本矛盾} |
| 升级机制 | {力量/地位/关系的递进方式,如无则填"—"} |
| 叙事节奏模式 | {铺垫→冲突→爽点→新悬念 的典型周期} |
| 判断依据 | {哪些章节/情节点支撑此判断} |
| 预期剧情数 | {基于总章数的预期范围,参考 material-decomposition.md 预期数量引导表} |框架识别后自检(写入 剧情/故事线.md 框架部分之后):
## 框架识别自检
| 检查项 | 结果 | 说明 |
|--------|------|------|
| 覆盖率 | {X%} | {已覆盖章节数/总章节数} |
| 粒度检查 | {通过/不通过} | {如不通过,说明哪个剧情过细/过粗} |
| 独立性检查 | {通过/不通过} | {如不通过,说明哪个剧情不满足哪项标准} |
| 数量检查 | {通过/不通过} | {实际剧情数 vs 预期范围} |Stage 3 权威产物分工
Stage 3 除剧情文件外,必须写一个轻量索引 剧情/README.md,再分别写两个权威文件:
# 剧情目录索引
| 文件 | 权威范围 | 下游用法 |
|---|---|---|
| `节奏.md` | 关键信息推进、爽点循环、情绪触动点、爆发节奏 | 产出 `rhythm_reference` |
| `情绪模块.md` | 读者需求、情绪引擎、套路框架、可复现模块卡 | 产出 `selected_emotion_module` |
| `故事线.md` | 故事框架与故事线摘要 | 投影摘要,不覆盖权威文件 |
| `拆文报告.md` | 人类阅读报告 | 投影摘要,不覆盖权威文件 |
冲突时以 `节奏.md` / `情绪模块.md` 为准;两个文件用 EM/RH/TR ID 互相引用。剧情/节奏.md是节奏与触发点权威索引:关键信息推进、爽点循环、情绪触动点、爆发节奏、长间隔风险都在这里落盘。剧情/情绪模块.md是读者需求与可复现模块权威索引:读者为什么爱看、情绪引擎如何运转、爽文套路如何嵌进故事框架、如何重组复现都在这里落盘。剧情/故事线.md和拆文报告.md只写摘要和引用,不复制完整模块定义;冲突时以下游写作读取剧情/节奏.md/剧情/情绪模块.md为准。
Stage 3 剧情
输出 剧情/{标题}.md:
| 项目 | 内容 |
|---|---|
| 标题 | 简洁有力,15字以内 |
| 类型 | {主线/爱情/成长/复仇/寻宝/悬疑/战斗/权谋/修炼/危机/谜团/日常/其他} — 悬疑=主动推理调查,谜团=世界观/身世等未解之谜 |
| 概要 | {150-300字因果链,含核心角色及定位、关键地点、起承转合、关键道具(如有)、对主角/世界的影响} |
| 核心目标 | {具体、可衡量的戏剧目标,如"赢得大比冠军"} |
| 核心冲突 | {具体冲突对象+冲突事件} |
| 关键信息功能 | {这条剧情负责让读者获得/等待/误判/确认什么信息} |
| 读者需求 | {满足安全感/优越感/期待感/情感补偿/认知反转/陪伴感等哪类需求} |
| 情绪模块ID | {引用 剧情/情绪模块.md 中的 EM-001 等,不在此重复完整卡片} |
| 套路框架位置 | {退婚打脸/迟来追悔/升级试炼/掉马震惊/以小搏大/其他;说明它如何在本故事框架内运转} |
| 桥段标签 | 从桥段词表选命中项,逗号分隔;可补表外确有桥段;无匹配留空,不硬凑(词表见 references/deconstruction-notes.md) |
| 章节范围 | 第{X}-{Y}章 |
结构分布:铺垫期 | 发展期 | 高潮期 | 收尾期(各含章节范围)
情节点索引:| 序号 | 章节 | 描述 | 归属置信度 |
Stage 3 故事线
输出 剧情/故事线.md(在框架识别之后):
每条故事线:
| 项目 | 内容 |
|---|---|
| 标题 | 简洁有力,15字以内 |
| 类型 | {主线/感情线/成长线/复仇线/夺宝线/冲突线/谜团线/其他} |
| 描述 | {300-600字,划分3-8个发展阶段,每个阶段含:核心冲突、关键角色及作用、能力/资源/地位演进、主题母题。追踪伏笔与回收关系链。标注与其他故事线的交织关系} |
| 情绪引擎摘要 | {1-2句概述这条线如何制造缺口、延迟满足、释放和余波;详情指向 剧情/情绪模块.md} |
| 套路运行方式 | {爽文/情感/悬疑等套路如何嵌入故事框架而不是孤立桥段;详情指向模块ID} |
| 主题 | {不超过3个} |
| 包含剧情 | {剧情标题列表,按时序排列。每条故事线至少包含1个剧情} |
| 模块引用 | {EM-001, EM-002;只写引用,不复制完整卡片} |
故事线关系:并行 / 交织 / 依赖
Stage 3 节奏.md(权威索引)
输出 剧情/节奏.md:
# 节奏索引:{书名}
> 权威范围:关键信息推进、爽点循环、情绪触动点、爆发节奏。`拆文报告.md` 只引用本文件摘要。
## 关键信息推进表
| 章节/范围 | 关键信息 | 扩写方式 | 推进功能 | 节奏效果 | 关联剧情/模块 |
|---|---|---|---|---|---|
| 第{N}章 | {读者必须获得/误判/等待的信息} | {对话铺垫/事件验证/反应层/延迟揭示/多段回扣} | {立目标/加压/释放/转场/埋钩} | {加速/减速/蓄力/爆发/冷却} | {剧情标题 / EM-001} |
## 爽点循环索引
| 循环ID | 章节范围 | 铺垫层 | 释放层 | 反应层 | 衔接层/新钩子 | 强度递进 |
|---|---|---|---|---|---|---|
| RH-001 | 第{X}-{Y}章 | {压抑/误判/期待缺口} | {打脸/掉马/目标达成/情感满足} | {谁震惊/后悔/重新评价} | {旧爽点后立起的新期待} | {比上一轮强/弱在哪里} |
## 情绪触动点索引
| 触动点ID | 章节 | 触发事件 | 目标读者情绪 | 爆发点 | 余波/冷却 | 复现提示 |
|---|---|---|---|---|---|---|
| TR-001 | 第{N}章 | {触发读者情绪的具体情节} | {期待/心疼/愤怒/爽/甜/热血/恐惧} | {情绪最高句/段或事件} | {角色反应/关系变化/新悬念} | {保留情绪链,不搬运具体事件} |
## 爆发节奏总结
- 爆发密度:{每N章一次 / 每N字一次 / 卷内峰值位置}
- 爆发形态:{递进 / 延迟满足 / W形 / 阶梯 / 单元循环}
- 长间隔风险:{哪些区间触动点过稀,作者如何用小钩子维持}
- 下游写作提醒:{新书复现时每章/每卷如何安排触动点}Stage 3 情绪模块.md(权威索引)
输出 剧情/情绪模块.md:
# 情绪模块:{书名}
> 权威范围:读者需求 / 情绪引擎 / 套路框架运转 / 可复现模块。禁止把原文具体桥段当模板照搬。
## 读者需求 / 情绪引擎
| 读者需求 | 本书满足方式 | 证据章节/情节点 | 持续追读机制 | 可迁移边界 |
|---|---|---|---|---|
| {优越感/安全感/被理解/替代性复仇/关系补偿/认知惊喜等} | {故事如何持续交付} | {第N章/Px} | {下一层期待如何被立起} | {可保留情绪逻辑;必须替换具体设定/人物/事件} |
## 故事框架与套路运行图
| 框架/套路 | 在本书中的位置 | 运行方式 | 为什么有效 | 失效风险 |
|---|---|---|---|---|
| {退婚打脸/升级流/迟来追悔/掉马/以小搏大/修罗场/其他} | {章节/剧情线} | {铺垫→延迟→释放→余波} | {对应读者需求} | {照搬会雷同/人设不适配/铺垫不足} |
## 可复现模块卡
### EM-001 {模块名}
| 字段 | 内容 |
|---|---|
| 读者想看什么 | {一句话抽象需求} |
| 情绪链 | {缺口 → 加压 → 触发 → 爆发 → 余波} |
| 戏剧单元 | {去素材后的结构,如“被轻视者在公开场合用结果反证”} |
| 关键触发物 | {可替换功能位:误判者/见证者/代价/证据/奖励} |
| 复现步骤 | {1. 建缺口 2. 加反应层 3. 控制爆发点 4. 立新钩子} |
| 可替换项 | {角色身份、场景、道具、对手类型、目标结果} |
| 不可照搬 | {原文专名、具体事件顺序、标志性台词、独特设定} |
| 关联节奏 | {`剧情/节奏.md` RH-001 / TR-001} |
## 重组与复现指南
1. 先选读者需求,再选模块卡,不要从原文桥段倒抄。
2. 保留情绪链和功能位,替换人物、场景、动机、道具、事件素材。
3. 复现到新书大纲时,至少改变:冲突对象、公开/私密场景、触发证据、余波方向中的三项。
4. 若人设与模块冲突,以人设驱动重构模块;不要为了套套路扭曲角色。Stage 3 角色操作
合并: 1. 收集所有章节的角色提及数据 2. 别名匹配(仅 proper_name 和 nickname,置信度 ≥0.85) 3. descriptor/title 永不触发合并 4. 确认后保留首次正式名
分级:
| 等级 | 标准 | 提取深度 |
|---|---|---|
| 主角 | 出现章节 ≥50% + 推动主线 + 完整成长轨迹 | 完整档案+弧线+动机链 |
| 反派 | 与主角对立 + 推动核心冲突 + 明确动机 | 完整档案+动机链 |
| 核心配角 | 出现章节 ≥20% 或推动重要支线 | 完整档案+关系 |
| 功能角色 | 出现章节 <20% + 作用有限 | 简化档案 |
边界模糊优先归入更低等级。
Stage 3 散落情节兜底
1. 计算孤立比例,<5% 直接跳过(少量散落写入散落情节.md) 2. 列出未分配情节点 3. 按角色重叠、地点重叠、因果关系计算相关性(三层置信度)
- 强相关(0.8-1.0):归入现有条,标
[孤立情节归入] - 中等相关(0.5-0.8):标
[低置信归入],待复核 - 弱相关(<0.5):不强行分配,宁可放入未分配
4. <0.5 按主题聚类,标[聚类生成](≥5个才建条) 5. 无法归类写入散落情节.md,不要强行分配到不相关的剧情 6. 覆盖率验证:目标阈值见 material-decomposition.md 质量阈值体系,不达标回到步骤3降低阈值重试
Stage 3 覆盖率
覆盖率 = 已归类数 / 总数 x 100%,目标阈值见 material-decomposition.md 质量阈值体系。
Stage 4 设定+关系
Stage 4 直接按主题拆分输出多个文件(与story-import3.5 拆分规则、story-long-write项目结构对齐)。下游无需再 re-split。
事实保真:等级/数值/距离/属性/势力数等硬事实回原文核对,原文未给的写「原文未明确」、禁编造填空(见 material-decomposition.md「合成阶段事实保真」)。
设定/世界观/力量体系.md:
- 文本描述,含等级、晋升条件。长篇注意多层级力量体系
- 内容 < 200 字且不构成独立体系 → 合并到
设定/世界观/背景设定.md,本文件可省略
设定/世界观/地理.md:
- 分布、主要区域、关键地点(文本描述)
- 内容 < 200 字 → 合并到
背景设定.md,本文件可省略
设定/世界观/背景设定.md:
- 核心规则 + 特殊设定
- 内容不足独立成文件的「力量体系 / 地理 / 势力」也合并到这里
- 无特殊世界观时:本文件输出 "本书为现实题材,无特殊世界观设定"
设定/世界观/金手指.md:
- 类型{system/space/rebirth/transmigration/special_physique/artifact/bloodline/other} | 名称 | 描述(300-600字,含能力/获取/机制/进化史/多重能力演化)| 核心机制 | 当前能力
- 相互关联的金手指标注为同一整体,不拆分(如"戒指+导师灵魂"是一个整体)
- 同一事物的不同描述角度不拆分,只有完全独立的能力来源才拆分
- 长篇特点:金手指可能复杂多样,需详尽描述演化过程和多重能力
- 无金手指时:输出空文件,注明"本书无明显金手指设定"
设定/势力/{势力名}.md(每个核心势力一个文件):
- 名称 / 类型(门派/组织/家族/国家)/ 核心人物 / 立场倾向 / 与其他势力关系 / 关键事件
- 内容 >= 200 字时独立;不足合并到
设定/世界观/背景设定.md(不丢失信息)
角色/{角色名}.md(每角色):
- 200-500字档案(身份背景→核心经历→性格特质→能力特长→人际关系→成长轨迹)
- archetype:protagonist/antagonist/supporting/minor
- 关键情节(3-5个转折点,按时序排列)
- 成长弧线(character_arc:如有明显变化则总结,如"从普通少年成长为觉醒血脉的强者")
- 别名列表(标注类型和置信度)
角色/角色关系.md(每5章批量,从情节点提取):A<->B:关系类型 | 情感 | 描述(50-200字)| 演变轨迹。同一对角色保留最新状态,历史变化写入演变轨迹。
Stage 5 汇总报告
输出 拆文报告.md。这是管道终态,是 快速预览.md 的超集——「基本信息」「黄金三章评分」两节与 快速预览.md 同名同结构。
报告章节:
- 基本信息:书名 | 题材 | 总章数 | 总字数 | 目标平台(与
快速预览.md同结构) - 黄金三章评分:5 维评分表(开篇钩子/主角塑造/爽点设计/世界观铺设/章尾悬念,与
快速预览.md同结构) - 读者需求 / 情绪引擎:摘要
剧情/情绪模块.md的核心读者需求、情绪缺口、持续追读机制(报告只写摘要,详情以模块文件为准) - 结构分析:主线 / 副线 / 剧情条 / 覆盖率
- 关键信息与扩写技法总览:按章节/剧情线汇总关键剧情信息如何被扩写(详情以
章节/*_摘要.md与剧情/节奏.md为准) - 爽点密度:{N}个循环/{M}章 | 完成率{X%} | 密度{高≥70%/中50-70%/低<50%}
- 节奏与情绪触动点:摘要
剧情/节奏.md的爆发密度、触动点分布、长间隔风险、爆发节奏 - 核心机制:爽点类型 | 节奏模式 | 更新策略
- 角色体系:主角/反派/核心配角/功能角色分级概览
- 质量评估:置信度 / 覆盖率 / 重叠率
- 可借鉴套路:1.{套路+场景} 2.{...} 3.{...},必须标注对应
EM-*模块ID - 可复现模块:列出
剧情/情绪模块.mdTop 3 模块的读者需求、情绪链、替换项、不可照搬项 - 写法技巧:1.{技巧名+用法} 2.{...}——覆盖一笔两用、延迟揭示、视角欺骗、对比锚点、行为循环、身体反应替代心理描写、跨章回扣(物品/意象在不同章节承担不同功能)
- 不建议模仿:1.{问题+原因}
Stage 6 文风
输出 拆文库/{书名}/文风.md。整书级写作技法视图,供 story-long-write 日更循环喂给 narrative-writer。
字段速查:
| 段落 | 内容 | 必标可信度 | 上限 |
|---|---|---|---|
| 生成记录 | 参考了哪些资料 + 抽样看了哪几章 + 文风是否可用 | 否 | <100 字 |
| 整体语感 | 句长分布 / 标点习惯 / 段落节奏 | 是(每子项一标) | ~500 字 |
| 对话技法 | 潜台词模式 / 对话标签 / 角色语气区分 | 是(潜台词必标) | ~400 字 |
| 情绪交替模式 | 章内基调切换 / 跨章基调周期 / 喜剧↔重击转场 | 是(章内切换必标) | ~400 字 |
| 可借鉴技巧 | 写法技巧 Top 5 + 可借鉴套路 Top 3(从拆文报告引用;情绪/节奏意图只引用 剧情/情绪模块.md / 剧情/节奏.md,不在文风中重定义) | 否 | ~300 字 |
| 原文锚点片段 | 4-6 段 × 300-500 字,按基调分类,标"出处 + 行号 + 示范点" | 否 | ~2400 字 |
| 不可模仿 | 对标书缺陷或不适合本项目的技法 | 否 | <100 字 |
总上限 ~4000 字。
完整模板与生成方法见 style-profile-protocol.md + style-profile-generator.md。
管道运维参考
story-long-analyze 拆解管道的运维工具文档:_progress.md 模板、错误处理、恢复机制操作步骤。
质量阈值(置信度 / 覆盖率 / 重叠率)见 material-decomposition.md 质量阈值体系。
---
_progress.md 模板
# 深度拆解进度:{书名}
- 小说:{标题} | 总章数:{N} | 输出目录:{路径} | 开始:{日期}
- 最终状态:{pending/paused_after_stage1/completed/completed_with_errors}
- schema_version: 2
## 管道进度
| 阶段 | 状态 | 进度 | 备注 |
|------|------|------|------|
## 章节边界(Stage 0.5 产物,唯一权威)
| 章号 | 标题 | 起始行 | 字数 |
|------|------|--------|------|
## 分块进度
| 块 | 章节 | 状态 |
## 失败记录
| 类型 | 章节/阶段 | 错误信息 | 重试状态 |
|------|----------|---------|---------|
## 质量检查
| 检查项 | 阶段 | 结果 | 修正 |
## 角色合并
| 合并前 | 合并后 | 依据 | 确认 |
## 断点
- 最后处理:第{N}章 | 当前阶段 | 下一操作schema_version 说明:
| 版本 | 含义 |
|---|---|
| 缺 / 1 | 旧版 _progress.md,没有「章节边界」表。续跑时按下方「恢复机制操作步骤」步骤 0 触发 lazy migration |
| 2 | 含「章节边界」表(Stage 0.5 产物)。Stage 1/2/6 全部以该表为切片真值,不再各自跑 regex |
最终状态值说明:
| 状态值 | 含义 |
|---|---|
pending | 管道进行中,尚未跑完 |
paused_after_stage1 | Stage 1 停靠点暂停——Stage 0/1 已完成,已产出 快速预览.md,等待用户决定是否继续 Stage 2-6。续跑时跳过 Stage 0/1,从 Stage 2 开始 |
completed | 全管道 Stage 0-6 完成 |
completed_with_errors | 全管道完成,但有单章/单阶段失败(详见「失败记录」表,拆文报告中注明) |
---
错误处理
| 场景 | 处理 |
|---|---|
| 章节识别失败 | 提示确认格式;支持自定义正则 |
| 分块中断 | 读 _progress.md 断点恢复 |
| 聚合质量不达标 | 孤立情节二次分类;阈值放宽至 0.5 |
| 角色合并冲突 | 记录待确认列表 |
| 输出目录冲突 | 追加不覆盖;冲突标 [重新分析] |
---
恢复机制操作步骤
0. schema_version 检测 + 章节边界 lazy migration(在读取断点前):
- 若
_progress.md缺schema_version字段或值< 2→ 视为 v1 旧文件 - 若同时缺「章节边界」表 → 现场跑一次章节正则(见
style-profile-generator.mdStep 4 模式)重建该表,按| 章号 | 标题 | 起始行 | 字数 |写回_progress.md,并把schema_version升至2 - 这是 lazy migration——不阻断 resume,旧
paused_after_stage1状态原样保留;用户感知是「续跑前多花 5-10 秒重建一次切片表」 - 若 regex 也匹配不到任何章节(旧库章节前缀不标准)→ 不强行迁移,记录
_progress.md失败行schema_migration: failed: 无法识别章节分隔符,由用户人工处理
1. 管道启动时检查输出目录是否已有 _progress.md 2. 如有,读取断点信息(最后处理章节 + 当前阶段 + 最终状态) 3. 断点状态为 `paused_after_stage1`(Stage 1 停靠点)→ 跳过 Stage 0/1,直接从 Stage 2 续跑逐章摘要,不重跑已完成的概要与黄金三章 4. 其他断点状态 → 从断点所在块的起始章节恢复,覆盖该块已有输出
文风生成 SOP
何时加载:story-long-analyze Stage 6 执行时。前置依赖:Stage 0-5 已完成,拆文报告.md+章节/*_摘要.md+章节/第1-3章_深度拆解.md+原文/原文.txt(或.md)齐全。
>
输出:拆文库/{书名}/文风.md(模板见 style-profile-protocol.md)。6 步流程
Step 1: 读拆文报告核心字段
读 拆文库/{书名}/拆文报告.md,提取:
- 「写法技巧」段 → 用于填文风「可借鉴技巧」的「写法技巧 Top 5」
- 「可借鉴套路」段 → 用于填文风「可借鉴技巧」的「可借鉴套路 Top 3」
- 基本信息(书名、题材、总章数)→ 填写文风标题与「生成记录」
- 「生成记录」只写作者能看懂的信息:参考了哪些资料、抽样看了哪几章、生成时间、文风是否可用;不要写文件时间戳或内部降级标记这类实现术语。
Step 2: 读黄金三章深度拆解
读 章节/第1章_深度拆解.md、第2章_深度拆解.md、第3章_深度拆解.md,提取:
- 开篇钩子类型 + 手法
- 反应层拆解表(对话潜台词样本)
- 爽点铺放比(情绪交替节奏样本)
- 可借鉴要素(与 Step 1 合并去重,喂「写法技巧 Top 5」)
Step 3: 提取章节基调/主题标签序列
用 Grep 读所有 章节/*_摘要.md:
grep -hE '基调:(紧张|轻松|悲伤|热血|爽|甜|温馨|恐怖|压抑|其他)' 章节/*_摘要.md关键格式注意:章节/*_摘要.md 的实际格式是 主题标签:X | 基调:Y 内联在每个情节点行(一章 11-19 行),用全角冒号,不在行首。grep 模式不能用 ^基调: 这种锚定。
章基调聚合规则(每章一个章基调,写入文风「情绪交替模式」):
- 对该章所有情节点的「基调」字段做众数统计
- 并列时(如 5 紧张 vs 5 热血)取章节内最早出现的基调(按
_摘要.md中行号) - 输出格式:
第N章: {章基调},连成全书序列
章内情节点基调序列(用于「章内基调切换」分析):
- 不做聚合,按
_摘要.md中情节点出现顺序保留 - 用于统计切换频率:相邻情节点基调不同的次数 / 总情节点数
Step 4: 原文采样
原文/ 下只有一个全书单文件 原文.txt(或 .md),不是按章拆分。采样必须先定位章节分隔符。
正确 Grep 模式:
grep -nE '^第[一二三四五六七八九十百千两零0-9]+章' 原文/原文.txt模式覆盖中文数字(第一章)+ 阿拉伯数字(第1章)+ 千位数(第一千零一章 / 第两千五百章,盘龙 / 诡秘之主级别的长篇必需),锚定行首防误匹配正文内提及。
与 Stage 0.5 章节边界表的关系:Stage 0.5 已用同一模式产出权威「章节边界」表(在 _progress.md)。Stage 6 优先读该表,跳过本步 grep;只有当 _progress.md 缺失或 schema v1 未 migrate 时才退回这里现跑。
如果模式不匹配:
- 用 Read 前 100 行看实际章节前缀(如
Chapter 1、卷一 第一章),相应调整 regex - 极端情况无法识别章节分隔符 → 「生成记录」写
文风可用:否:无法识别章节分隔符,跳过 Step 4,但 Step 1-3 仍可继续
采样切片:
- 拿到 grep 的
行号:第N章列表后,选第 1 章、第 10 章、第 20 章(如总章数 <20,按 1/3、2/3、收尾比例挑) - 每章用
Read offset={该章起始行} limit=50切出约 1000 字 - 把 3 段拼接写入
/tmp/style-sample.txt(追加>>,不要换文件名)
确定性句长/标点统计(替代旧版「眼测」):
Stage 6 由主线程执行,Bash 工具可用。把上一步拼好的 /tmp/style-sample.txt 喂给下面的脚本(heredoc 作 Python 源,脚本内 open 样本文件,避免 stdin heredoc 与 < file 双重重定向冲突)。先探测可用解释器再跑——勿直接用 `python3`,Windows 上它会触发 Microsoft Store 占位程序、exit 49 失败:
for PYBIN in python3 python py; do "$PYBIN" -c "" 2>/dev/null && break; done
"$PYBIN" <<'PYEOF'
import re
with open('/tmp/style-sample.txt', 'r', encoding='utf-8') as f:
text = f.read()
sents = [s for s in re.split(r'[。!?]+', text) if s.strip()]
total = max(len(sents), 1)
short = sum(1 for s in sents if len(s) < 15)
mid = sum(1 for s in sents if 15 <= len(s) <= 30)
lng = sum(1 for s in sents if len(s) > 30)
chars = max(sum(1 for c in text if not c.isspace()), 1)
puncts = sum(1 for c in text if c in ',。!?;:、…—""\'\'')
avg = sum(len(s) for s in sents) // total
print(f'sentences={total}; short_lt15={100*short//total}%; mid_15to30={100*mid//total}%; long_gt30={100*lng//total}%; avg_len={avg}; punct_density={100*puncts//chars}%')
PYEOF实测输出形如 sentences=6; short_lt15=66%; mid_15to30=33%; long_gt30=0%; avg_len=12; punct_density=15%。
把输出的 short_lt15 / mid_15to30 / long_gt30 / avg_len / punct_density 数值直接填进 style-profile-protocol.md 模板第 40 行的 {...X% / Y% / Z%} 占位符——confidence: high,因为是确定性测量,不是抽样估计。
Bash 不可用时的降级(仅子代理上下文等极端情况,主线程不会触发):
- 跳过本步骤;句长段写「Bash 工具不可用,跳过确定性统计」
confidence: low,narrative-writer 让位回默认 Gate D(句长拆短)
Step 5: 选原文锚点片段 (4-6 段)
从 Step 3 输出的章节基调里挑覆盖度最高、且项目可能需要的 4-6 类基调(优先覆盖:紧张/悲伤或压抑/轻松或温馨/热血)。若某类基调在对标书中少于 3 章,不强行编造;在文风文件中说明跳过。每类基调选 1 章作为锚点章。
同基调多章时的选择规则:
1. L1 爽点类型最强匹配:参考该章 _摘要.md 的「关键事件」+ 基调序列,挑爽点最突出的章节 2. L2 原文章节长度最接近日更目标:若 Step 4 已切出章节边界,用原文章节切片估算字数;若无法切原文,只用 _摘要.md 的情节点数量近似复杂度,不把摘要文件长度当作原文章节字数 3. L3 章节号最小:最早期的章节 = 作者最 canonical 的 voice(未受连载漂移影响)
锚点切片:
- 用 Step 4 grep 拿到的章节行号
- 该章原文从中选 1 段 300-500 字(优先选对话+动作交织的段落,纯独白/纯设定段不选)
- 用
Read offset limit切出,保留原标点和段落断行 - 锚点必须逐字连续切片,禁止改写/缩写/跳段/拼接:narrative-writer 拿锚点当 few-shot 直接学,标注的行号要能回查原文。落盘前逐段抽 1-2 句
grep -F回原文/原文.txt,grep 不到即说明被改写或拼接——重切为忠实连续片段。确需跳过中间过渡段时,分别标各自真实行号(如「行264-267 + 行269-270」)并在引用块内用「(……中略……)」显式断开,不得用一个连续行号区间假装连续
Step 6: 落盘
按 style-profile-protocol.md 模板填写 拆文库/{书名}/文风.md:
- 文风文件必须留在拆文库(
拆文库/{书名}/文风.md),永不写入对标/或写作项目目录——拆文库是 analyze 的数据源,写作项目的对标/{书名}/由 story-import 从拆文库同步 - 每段标
confidence: high/med/low(内部给写作 agent 判断强弱,普通用户可忽略): high:数据直接来自拆文产物(如「写法技巧」直接引用拆文报告)med:从样本归纳且样本充足(如基调序列从 ≥10 章摘要统计)low:样本不足或采样失败(如锚点缺失、Bash 不可用导致 Step 4 句长统计跳过)- 字数预算:硬上限 ~4000 字。描述段 ≤ 1500 字 + 锚点 4-6 段 × 300-500 字
- 如果 Step 4 失败(章节分隔符识别不出)→ 「生成记录」写
文风可用:否:无法识别章节分隔符;原文锚点段全填占位符 "原文缺失,需手动补充",confidence 全 low
失败模式与降级
| 场景 | 降级策略 |
|---|---|
原文/原文.txt 不存在 | 跳过 Step 4-5;文风文件仅含描述段;「生成记录」写 文风可用:否:原文缺失 |
章节/*_摘要.md 数量 <3 | 跳过 Step 3 基调序列;情绪交替段标 confidence: low |
章节/第1-3章_深度拆解.md 缺失 | 跳过 Step 2;对话潜台词段从拆文报告兜底;confidence: low |
拆文报告.md 不存在 | 停止 Stage 6,提示用户拆文未完成,先跑完 Stage 5 |
与 chapter-extractor 的关系
不修改 chapter-extractor。文风直接从既有字段(基调/主题标签/可借鉴要素)整理生成即可。
句长 / 标点密度由 Step 4 的跨平台 Python 1-liner 在 Stage 6 主线程直接算出,不依赖 chapter-extractor。若将来需要章级精细分布(如「第 N 章 短句占比」),再考虑给 chapter-extractor 加 punctuation_density / sentence_length_distribution 字段——但不在本次范围内。
与写作端的关系
- analyze Stage 6 写
拆文库/{书名}/文风.md - story-import 把整个
拆文库/{书名}/同步到项目{项目}/对标/{书名}/时自动包含文风(与拆文报告同等待遇) - 写作端(story-long-write)的日更循环读
{项目}/对标/{书名}/文风.md(按对标书路径查找规则,回退拆文库/{书名}/)
重生策略(旧拆文库无文风)
旧 拆文库/{书名}/ 没有文风文件时:
- 完整重跑
/story-long-analyze:开销大,会重跑 Stage 0-5(不必要) - 仅跑 Stage 6:用户直接说 "为对标书 X 生成文风" 或 "重生 文风",主会话/agent 直接按本 SOP 跑 6 步,无需重做拆文。这是推荐路径
文风协议
何时加载:story-long-analyze Stage 6 执行前。下游写作 skill 直接读 文风.md,不加载本协议。产物定义
拆文库/{书名}/文风.md 是整书级写作技法视图,聚合:
- 句长 / 标点 / 段落节奏(从原文采样统计)
- 对话潜台词模式 + 角色语气区分
- 章内 + 跨章情绪交替周期(看每章基调如何变化)
拆文报告.md已有的「写法技巧」「可借鉴套路」- 4-6 段 300-500 字原文锚点片段(范例片段用)
文件路径
- 写:
拆文库/{书名}/文风.md(analyze 独占) - 读:story-import 同步到
{项目}/对标/{书名}/文风.md;story-long-write 读项目对标视图(回退拆文库)
字数预算
- 硬上限 ~4000 字
- 描述部分(整体语感 + 对话技法 + 情绪交替模式 + 可借鉴技巧)≤ 1500 字
- 原文锚点片段 4-6 段 × 300-500 字 ≈ 1600-2400 字
- 不可模仿 + 生成记录 ≤ 100 字
模板
# {书名} 文风
## 生成记录
- 参考资料:拆文报告.md、黄金三章深度拆解、章节摘要
- 抽样章节:第 {K1}/{K10}/{K20} 章(每章约 1000 字)
- 生成时间:{date}
- 适用对标书路径:拆文库/{书名}/
- 文风可用:是 # 若原文缺失或锚点不足,写“否:原因”
## 整体语感
- 句长分布:{由 `style-profile-generator.md` Step 4 的跨平台 Python 1-liner 在 3 章拼接样本上确定性测量——短句(<15字)占比 X%、中句(15-30)Y%、长句(>30)Z%、平均句长 N 字、标点密度 M%。一句概括语感。`confidence: high`(数据由脚本算出,不是抽样估计)。}
- confidence: high | med | low
- 标点习惯:{破折号/省略号/句号/感叹号/分号 的高频用法。附 2-3 个原文短片段示例。}
- confidence: high | med | low
- 段落节奏:{平均段长、单段单动作 vs 多动作堆叠、断行习惯。}
- confidence: high | med | low
## 对话技法
- 潜台词模式:{2-3 种典型潜台词手法(问非所答 / 语气反差 / 信息隐瞒等),每种附 1 段原文示例。}
- confidence: high | med | low
- 对话标签习惯:{说话动词多样性、动作替代说话标签的频率、对话与动作的穿插比例。}
- 角色语气区分:{主角和 1-2 个核心配角的口头禅/句式差异,引用原文样本句。}
## 情绪交替模式
- 章内基调切换:{统计章节内情节点基调序列——典型章节是否在 紧张↔轻松 或 热血↔温馨 之间切换、切换频率(每章 N 次)。}
- confidence: high | med | low
- 跨章基调周期:{前 20 章「章基调」序列,识别“虐 3 章爽 1 章”之类周期。}
- 喜剧↔重击的转场手法:{对标书在 轻松→悲伤 锐角转场时用了什么手法,举 1-2 个原文锚点。}
## 可借鉴技巧(从 拆文报告.md 直接引用)
- 写法技巧 Top 5:
1. {技巧名}:{一句话用法说明}
2. ...
- 可借鉴套路 Top 3:
1. {套路名}:{适用场景}
2. ...
## 原文锚点片段
> 每片段 300-500 字,**用于 narrative-writer 写作时的范例片段**。从 `原文/原文.txt` 按章节分隔符切片。模仿手法、不抄字句。
### 片段 A — 基调:紧张
**出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
**示范点**:{短句堆叠节奏 / 标点位置 / 一笔两用 等}
{300-500 字原文}
### 片段 B — 基调:悲伤/压抑
**出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
**示范点**:{对话潜台词手法}
{300-500 字原文}
### 片段 C — 基调:轻松/搞笑
**出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
**示范点**:{短句节奏 / 角色语气区分}
{300-500 字原文}
### 片段 D — 基调:热血/爽点
**出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
**示范点**:{爽点铺放比 / 动作描写句长}
{300-500 字原文}
> 优先覆盖项目可能用到、且对标书中样本充足的基调:紧张、悲伤/压抑、轻松/温馨、热血。按拆文里实际分布挑 4-6 段;缺哪个基调就写“本书该基调样本不足,跳过”,不要编造。
## 不可模仿
- {对标书的明显缺陷或不适合当前项目的技法。可选段落,可空。}confidence 字段语义
| 值 | 触发条件 | 下游处理 |
|---|---|---|
high | 数据直接可读(如基调序列从摘要 grep 得出) | narrative-writer 优先采纳,覆盖默认 Gate |
med | 从样本归纳且样本充足(如看章节基调走向、对话潜台词整理) | narrative-writer 参考,与默认 Gate 协商 |
low | 样本不足/原文缺失 | narrative-writer 让位回默认 Gate(不强制采纳) |
可用性语义
文风可用:是→ 文风可用于写作,narrative-writer 按 confidence 分级使用。文风可用:否:{原因}→ 文风质量不足(例如原文缺失、锚点全是占位符)。story-explorer 读取时返回gaps.profile_degenerate: true,narrative-writer 跳过文风,按默认 Gates 写作,避免被误导。- 兼容旧文件:若旧
文风.md出现旧版内部降级标记,story-explorer 也按“文风可用:否”处理。
覆盖与不可模仿原则
- 覆盖:文风优先级排在 Gate D(句长拆短)、Gate B(句式去套路)、标点默认习惯之上——这些 Gate 是去 AI 味的默认值,文风有更具体的指令时文风赢。
- 不可覆盖(硬约束):banned-words / Gate F 章末禁升华 / 禁止万能比喻 / 禁止章末预告 / 字数下限——这些硬约束永远赢,即使文风示范了相反的用法。
精确决议表见 .claude/agents/narrative-writer.md 的“被调用协议”段。
Related skills
FAQ
What does story-long-analyze output?
A structured library folder with golden-chapter breakdowns, chapter summaries, plot rhythm modules, character files, settings, and a full analysis report.
When should I use story-long-analyze?
When deeply deconstructing a long web novel's structure, golden chapters, plot lines, and writing style from source text.
Is Story Long Analyze safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.