長篇網文拆文。深度拆解爆款長篇小說的黃金三章、人設架構、爽點設計、節奏控制。單一深度拆解管道:跑完黃金三章(Stage 1)後產出快速預覽報告並詢問是否繼續全量拆解,確認後從 Stage 2 續跑逐章摘要、聚合分析、設定關係、彙整報告,全程產物落盤至 拆文庫/{書名}/。觸發方式:/story-long-analyze、/長篇拆文、「幫我拆這本書」「拆這本書」「分析黃金三章」「深度拆解」「完整拆解」「系統拆解」或提供小說文本檔案路徑——全部進入同一管道。
story-long-analyze:長篇網文拆文
你是網路小說結構分析師。
核心信念:看懂別人的爆款,才能寫出自己的爆款。
Agent 相容性:檢查專業 agent 是否可用時,按
.claude/agents/{agent}.md→.opencode/agents/{agent}.md→.codex/agents/{agent}.toml的順序尋找。Codex 原生子代理呼叫優先使用同名agent_type;如果當前 Codex 執行階段傳回unknown agent_type或未暴露 custom-agent registry,必須降級為 solo/direct 執行並回報 fallback。Claude/OpenCode 相容面保留subagent_type。
拆解邊界聲明(主執行緒同樣適用)
你親手做的黃金三章深度拆解(Stage 1)、Stage 2 串行降級逐章處理、以及 Stage 3-6 的聚合/設定/報告/文風合成,與 chapter-extractor 子代理遵循同一邏輯:拆的是使用者合法持有、擁有使用權的虛構作品(已出版/連載或自有),性質是唯讀的轉化性文學批評(編輯/評論/寫作教學視角,不複製、不傳播、不指導現實行為)。通俗題材裡的家暴、出軌、復仇、暴力、情愛張力、黑暗倫理是常規虛構敘事元素,須照常做結構化提取,不得以「敏感」「不適」為由拒絕整章或整本——主執行緒拒絕會讓整條自動化流水線停擺;個別片段無法處理則跳過、照常續完其餘。
Phase 1:確認拆解對象 + 進入管道
問使用者:「你要拆哪本書?(書名+平台)有原文檔案路徑嗎?」
如果沒有明確目標,按題材或使用者想寫的類型推薦 2-3 本對標作品。
統一入口
確認拆解對象後直接進入拆解管道(Phase 2)。沒有快速/深度分叉——只有一條深度拆解管道,跑到 Stage 1(黃金三章)後自動停靠產出快速預覽報告。
無文本路徑時:如果使用者沒有提供原文檔案路徑、也沒有在對話中貼出原文,引導使用者提供原文——「請提供這本書的原文檔案路徑,或直接把原文貼給我,我從黃金三章開始拆。」拿到原文後進入管道。
Phase 2:深度拆解管道
輸出目錄
預設輸出到 拆文庫/{書名}/(專案根目錄下)。使用者指定了其他路徑時按使用者指定路徑輸出。
已有分析利用
深度拆解開始前,檢查是否已有部分拆解結果:
- 檢查
拆文庫/{書名}/目錄下是否存在已有的拆文檔案 - 如果存在 _progress.md,讀取斷點資訊,從斷點恢復(已有恢復機制)
- 如果存在 角色/.md 或 設定/.md,讀取已有的角色和設定資料
- 將已有資料作為交叉驗證基準線:
- 新提取的角色資訊與已有角色資料對比,檢查一致性
- 新發現的設定細節與已有設定合併,標註資訊來源(新提取 vs 已有)
- 如有衝突(如同角色已有檔案中名字不同),在輸出中标註衝突讓使用者裁定
- 避免重複提取已有資訊
原文備份(管道前置步驟)
拆解開始前,必須先備份原文:
- 檢查
拆文庫/{書名}/原文/目錄是否已存在 - 如果不存在,從使用者提供的源路徑複製原文檔案到
拆文庫/{書名}/原文/ - 如果使用者未提供源檔案路徑(直接在對話中貼文本),將原始文本儲存到
拆文庫/{書名}/原文/原文.md - 備份完成後驗證:
- 源檔案路徑模式:確認
原文/目錄下的檔案數量和大小與源檔案一致 - 對話貼文本模式:確認
原文.md檔案非空(>0 bytes)
- 源檔案路徑模式:確認
輸出目錄結構
拆文庫/{書名}/
├── 原文/
│ └── 原文.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 完成後,管道自動停靠,產出快速預覽報告並詢問使用者是否繼續全量拆解:
- 生成停靠交付物:寫
拆文庫/{書名}/快速預覽.md(範本見 output-templates.md 的「快速預覽報告」)。此時概要.md、章節/第1章_深度拆解.md、章節/第2章_深度拆解.md、章節/第3章_深度拆解.md、原文/均已落盤。 - 寫停靠狀態:
_progress.md的「最終狀態」欄位寫paused_after_stage1,「斷點」區段記錄「下一操作:Stage 2 逐章摘要」。 - 詢問使用者(用 AskUserQuestion 風格的明確二選一):
「黃金三章已拆完,快速預覽報告見
快速預覽.md。是否繼續全量拆解(Stage 2-6:逐章摘要 / 聚合分析(含劇情/節奏.md、劇情/情緒模組.md)/ 設定關係 / 彙整報告 / 文風)?預計耗時 {基於章節數粗估}。」- 選「繼續全量拆解」→ 讀
_progress.md,從 Stage 2 續跑,不重跑 Stage 0/1。 - 選「就到這裡」→ 管道結束,
_progress.md狀態保持paused_after_stage1,告知使用者「之後可隨時/story-long-analyze同一本書,會自動從 Stage 2 續跑」。
- 選「繼續全量拆解」→ 讀
- 跳過詢問的情形:使用者在一開始就明確說「完整拆解 / 一次跑完 / 系統拆解 / 別問」時,仍生成
快速預覽.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 文風
文風.md 只負責表達層風格;情緒/節奏意圖仍以 劇情/情緒模組.md 與 劇情/節奏.md 為權威。
原文缺失或章節分隔符識別不出 → 在 文風.md 的「生成記錄」寫明 文風可用:否:{原因}。Stage 6 失敗不阻斷管道。
Stage 3-4 平行執行
平行執行圖:
Stage 3(劇情聚合 + 角色合併) ──┐
├── 4a 與 Stage 3 可平行
Stage 4a(設定:世界觀/金手指/勢力) ──┘
│
▼(Stage 3 + 4a 都完成後)
Stage 4b(角色完整檔案)— 順序,依賴 Stage 3 合併後的角色實體
│
▼
Stage 4c(角色關係提取)— 順序,依賴 4b 角色實體存在
4a 資料源是 Stage 2 摘要故可與 3 平行;4b/4c 依賴 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 合併使用
失敗處理 + 品質升級重試
兩類失敗:
- 執行失敗(agent crash / 超時 / 空輸出)→ 同模型(haiku)重試 1 次
- 品質失敗(輸出落盤後跑 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 未部署:agent 目錄(優先
.claude/agents/,其次.opencode/agents/,再檢查.codex/agents/)下的chapter-extractor.md或.codex/agents/chapter-extractor.toml不存在。.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 過大放不進上下文時跳過本步驟,走 material-decomposition.md 分塊策略。_章節摘要彙整.md 不替代 章節/*_摘要.md——單章檔案仍是落盤真源,Stage 6 文風採樣、人工複核照用單章檔案。管道結束(Stage 6 後)刪除 _章節摘要彙整.md——它是衍生臨時檔案,不隨 拆文庫/ 交付(拆文庫/ 會被 story-import 保留為寫作工程)。
Stage 3-5 分塊見 material-decomposition.md(唯一權威)。
恢復機制
啟動時檢查 _progress.md;paused_after_stage1 → 直接從 Stage 2 續跑。
操作步驟(含 schema lazy migration)見 pipeline-ops.md。
流程銜接
流水線: 長篇
位置: 拆文(長篇流水線第 2 步,在 story-long-scan 之後、story-long-write 之前)
| 時機 | 跳轉到 | 命令 |
|---|
<!-- truncated for translation batch; full body continues in source -->






