| name | dp-set-outline |
| description | Use when creating story outlines, planning chapter structure, or managing foreshadowing threads after world and character set is complete |
如果你是被派遣执行特定任务的子代理,跳过此技能。
大纲规划:从框架到章节文件夹
本技能是刚性技能。严格遵循流程,不可跳步。
大纲不是灵感的记录,是工程图纸。每一章存在的理由必须经得起追问:这一章推动了什么冲突?揭示了什么世界观?角色弧线走到了哪里?如果答不上来,这一章不该存在。
本技能整合了四项核心职责:
- 世界观揭示节奏控制 — 六条铁律、五问闸门、概念预算
- 大纲结构构建 — 结构模型、卷划分、章节细化、视角策略
- 主题编织 — 核心主题与反题、主题追踪
- 章节文件夹创建 — 章节文件夹、符号链接、spec.md
前置条件
必须已完成以下五项,缺一不可:
- 故事蓝本 (
docs/dreampowers/tracking/overview.md) 已通过用户确认
- 风格档案 (
docs/dreampowers/tracking/style.md) 已通过用户确认(由 dp-set-style 产出)
- 世界观设定 (
docs/dreampowers/set/world/) 已通过用户确认
- 设定拆分 (
docs/dreampowers/set/concept/ 和 docs/dreampowers/set/character/) 已完成概念和角色拆分为独立文件
- 故事级时间线 (
docs/dreampowers/timeline/timeline.md) 已通过用户确认(由 dp-set-concept 产出)
如果 docs/dreampowers/tracking/ 中已存在伏笔文件(thread-*,前序技能可能已创建),一并读取。
硬性约束: 在确认上述五项前置条件全部满足且已读取之前,禁止开始大纲构建。不论用户多急,前置条件不可绕过。
清单
调用本技能后,将以下清单写入 todowrite,逐项执行:
第一部分:六条铁律与揭示节奏
本部分是 Dreampowers 的核心创新能力。
刚性执行声明(不可协商):
- 必须逐条执行,不得"灵活处理"。
- 不得以"设定很重要"为理由豁免任意铁律。
- 任一铁律违反即判定失败,必须回退重排方案。
铁律一:先好奇,后解释
- 每个世界观元素必须先以谜团/悬念形式出现。
- 至少经过 1-2 个场景后才解释其原理。
- 读者应该先问"这是什么?"再得到答案。
铁律二:先感知,后体系
- 角色先通过感官体验世界元素(看到、听到、感受到)。
- 再逐步理解背后的体系/规则。
- 禁止用旁白直接解释体系。
铁律三:扩展已有,少添新增
- 优先深化已引入的概念,而非引入新概念。
- 旧概念的新层面 > 全新概念。
- 每次"深化"都应使已知概念变得更复杂、更有趣、更有代价。
铁律四:概念预算
- 第一章:最多引入 3 个新概念(可以为 0)。
- 后续每章:最多引入 2 个新概念(可以为 0)。
- 每个场景:最多解释 1 个已引入的概念。
- 每 3000 字:至少保留 1 个未解答的问题。
铁律五:禁止旁白讲解
世界观信息只能通过以下方式传递:
- a. 角色对话(自然提及,非教学式)
- b. 角色行动(通过做事展示规则)
- c. 角色观察(通过感知发现)
- d. 冲突揭示(通过矛盾暴露真相)
禁止的形式:
- a. 旁白大段解释 ❌
- b. "正如大家所知..." ❌
- c. 导游式角色(专门负责解释的角色)❌
- d. 内心独白回忆设定 ❌
铁律六:按需揭示
- 世界观细节只在对情节有影响时才揭示。
- Deborah Swift 测试:"这段信息此刻正在发生什么?如果没有,删掉。"
- 信息揭示必须为当前冲突服务。
揭示时间表
大纲构建前,先制定世界观揭示时间表。读取设定中的"冰山水下"元素,按主线冲突重新排序。先定"悬念出现点",后定"解释发生点",确保两者至少间隔 1-2 个场景。
# 世界观揭示时间表:[故事名]
## 第一卷(建立):第1-X章
| 章节 | 引入的概念 | 揭示方式 | 保留的悬念 |
|------|-----------|---------|-----------|
| 第1章 | 概念A, 概念B | 感知式 | A的来源, B的规则 |
| 第2章 | 概念C | 对话式 | C的代价 |
## 第二卷(发展):第X-Y章
| 章节 | 深化/新增 | 揭示方式 | 保留的悬念 |
|------|----------|---------|-----------|
## 第三卷(高潮):第Y-Z章
| 章节 | 揭示的真相 | 与早期悬念的关联 |
|------|-----------|-----------------|
揭示时间表存储至大纲文件的开头部分(同一文件),不单独存储。
反合理化对照表(防止绕过铁律)
| 借口 | 现实 |
|---|
| "读者需要理解背景才能看懂" | 不需要。先制造好奇,读者会继续读 |
| "这段设定很重要所以要详细解释" | 越重要越需要分散揭示,增加悬念价值 |
| "只是一小段解释" | 小段累积就是 info-dump |
| "不解释读者会困惑" | 适度困惑=好奇心=翻页动力 |
| "这只是提供背景色" | Deborah Swift测试:此刻正在发生什么?没有就删 |
量化指标(硬阈值)
- 黄金三章法则:前 3 章决定读者去留,必须优先保证悬念驱动而非设定讲解。
- 概念预算以铁律四为准(本节不重复定义)。
- 金手指渐进揭示:主角能力分 3-5 个阶段展开,不得一次性公开上限。
- Sanderson 第三法则:在添加新设定前,先扩展已有设定。
- Chekhov 世界观:引入的设定元素必须在后续为情节服务,否则删除。
第二部分:主题编织
主题不是作者塞给读者的信息,不是贴在故事表面的标签。主题从角色选择与后果的碰撞中自然浮现。好的主题让读者合上书后久久回味,却说不出"作者想告诉我什么"。
主题层次
核心主题(1-2 个):故事存在的根本理由。核心主题是问题,不是答案。"权力是否必然导致腐败?"比"权力导致腐败"更好。问题让故事保持开放性,答案让故事沦为宣传。
次级主题(2-4 个):回应、呼应或复杂化核心主题。通常通过配角弧线或支线情节来表达。
反题:核心主题的对立面。没有反题的故事是布道。 反题必须由一个有说服力的角色来体现,这个角色的论点不能是稻草人。读者应该在某些时刻觉得反题的持有者可能是对的。
主题表达原则
- 主题从角色选择中生长 — 主题不是旁白告诉读者的道理,是角色在压力下做出选择、承受后果时自然浮现的意义。
- 每个主要角色以不同方式回应主题:
| 角色类型 | 与核心主题的关系 |
|---|
| 主角 | 在主题与反题之间挣扎,最终做出选择 |
| 对手/反派 | 体现反题,且其论点必须有说服力 |
| 导师 | 代表主题的一种理解,但可能是不完整的 |
| 盟友 | 从不同角度呼应主题 |
| 牺牲者 | 展示主题/反题的极端后果 |
- 主题必须被测试 — 测试时机:第二卷中期(主角遭遇反题论证)、至暗时刻(主角几乎被反题说服)、高潮(主角在理解反题后重新选择或放弃核心主题)。
- 平行情境,不同结局 — 用不同角色在相似情境下做出不同选择,来"展示"主题。
主题追踪表
在大纲文件中建立主题追踪表:
## 主题追踪
### 核心主题:[问题形式] | 反题:[对立观点]
| 章节 | 涉及主题 | 表达角色 | 表达方式 | 强度(1-5) |
|------|---------|---------|---------|----------|
| 第1章 | 核心主题 | 主角 | 选择/行动 | 2 |
| 第3章 | 反题 | 对手 | 对话/冲突 | 3 |
追踪要点:
- 核心主题应在前 3 章内以某种形式出现(哪怕只是暗示)
- 反题不晚于全篇 30% 处出场
- 每 5 章至少有 1 个章节显著推进主题
- 高潮章节的主题强度应为全篇最高
主题 vs 说教
| 主题 | 说教 |
|---|
| 通过行动展示 | 通过旁白陈述 |
| 角色自己得出结论 | 作者替角色(和读者)下结论 |
| 反题有力,结局开放 | 反题是稻草人,结局是道德审判 |
| 读者自行体会 | 读者被告知"应该怎么想" |
| 主角有困惑和动摇 | 主角是道德标杆,从不犯错 |
自测方法: 如果读者在全篇三分之一处就能用一句话概括"作者想表达什么",你在写寓言而非小说。
第三部分:大纲结构构建
结构模型选择
第一步是和用户确定故事的结构框架。不要替用户选。给出选项,让用户挑。
| 模型 | 适用场景 | 结构 |
|---|
| 三幕式 | 电影感强的中短篇 | 建立(25%) → 对抗(50%) → 解决(25%) |
| 英雄之旅 | 成长型主角 | 12 阶段循环 |
| 起承转合 | 中式传统叙事 | 4 段式 |
| 自定义 | 实验性/非线性 | 用户自定义 |
说明: 篇幅与结构模型不设默认推荐,用户自行选择字数篇幅与结构模型的组合。
模型嵌套说明: 多卷结构时,每一卷可以采用不同结构模型(例如第一卷用起承转合、第二卷用三幕式),模型可以嵌套。
叙事时间线手法(章节级)
时间线手法决定了故事"怎么讲",而不是"讲什么"。大纲阶段必须确定每章的时间线手法,不可等到写正文时临时决定。
注意:故事级时间线(年代、时间跨度、关键日期)已在 dp-set-concept 阶段构建并存储于 docs/dreampowers/timeline/timeline.md。本节只处理章节级叙事手法——每章采用顺叙、倒叙、插叙还是补叙。两者的区分:故事级时间线是"什么时候发生了什么",章节级时间线手法是"怎么讲这些事"。
| 手法 | 定义 | 适用场景 | 风险 |
|---|
| 顺叙 | 按时间顺序叙事 | 情节驱动型故事,因果链清晰的主线 | 风险最低,但开头可能缺乏冲击力 |
| 倒叙 | 从结果切入,再回溯原因 | 结果比过程更有悬念时 | 回溯段落容易让节奏拖沓 |
| 插叙 | 在当前时间线中插入过去片段 | 当前场景需要过去事件支撑时 | 打断叙事流,过长会喧宾夺主 |
| 补叙 | 对已叙述事件的补充说明 | 揭示被隐瞒的真相 | 时机不对会让读者困惑或无感 |
倒叙判定规则
- 结果本身就是一个巨大的悬念,读者看到结果后会迫切想知道"怎么走到这一步的"
- 过程本身缺乏悬念但结果令人震惊
- 需要在第一章就抓住读者,而故事的自然起点过于平淡
硬性规则: 倒叙开头必须制造足够的认知缺口。如果读者看完倒叙开头没有产生任何疑问,这个倒叙就是失败的。
插叙使用规则
- 插叙必须服务当前场景的情感或信息需求,不可无故回忆
- 插叙长度不超过当前场景的 1/3
- 插叙的进入和退出必须有明确的过渡标记:感官触发、物件联想、对话中的关键词。不可硬切
- 一章内最多一段插叙
补叙使用规则
- 补叙时机必须在读者产生疑问之后
- 补叙的内容必须改变读者对已知事件的理解
- 补叙不可用于偷懒式填坑
时间线手法决策树
这一章的核心信息是什么?
├─ 事件的过程本身就有张力 → 顺叙
├─ 结果比过程更令人震惊 → 倒叙
│ └─ 倒叙开头能制造认知缺口吗?
│ ├─ 能 → 确认使用倒叙
│ └─ 不能 → 回退到顺叙,考虑用章末钩子代替
├─ 当前场景的情感/信息需要过去事件支撑 → 插叙
│ └─ 插叙内容是否不超过当前场景 1/3?
│ ├─ 是 → 确认使用插叙,设计过渡标记
│ └─ 否 → 拆成独立章节,用顺叙或倒叙单独处理
└─ 需要揭示已叙述事件中被隐瞒的真相 → 补叙
└─ 读者此时是否已经产生了疑问?
├─ 是 → 确认使用补叙
└─ 否 → 延后补叙时机,先制造疑问
硬性规则: 每章大纲中必须标注该章的时间线手法。默认顺叙不需要额外说明理由,但非顺叙手法必须注明选择理由。
视角选择与切换规则
视角策略必须在大纲阶段确定,不在写作阶段临时决定。
| 视角类型 | 优势 | 劣势 | 适用场景 |
|---|
| 第一人称 | 代入感最强,情感传递直接 | 信息受限于主角认知 | 悬疑/推理、成长叙事 |
| 第三人称限制视角 | 兼顾代入感和叙述灵活性 | 仍受限于跟随角色的认知 | 大多数类型小说的默认选择 |
| 第三人称全知 | 可自由切入任何角色内心 | 代入感弱,容易违反铁律五 | 史诗/群像剧 |
| 多视角轮转 | 信息量大,世界立体 | 管理难度高 | 群像剧、权谋/宫斗 |
视角切换硬性规则
- 同一章内不切换视角。 除非章内有明确的分隔标记。
- 连续两章不给同一配角视角。 主角可连续,配角不行。
- 视角切换必须在章首第一段明确新视角角色。 不可让读者猜了三段才发现换人了。
- 全篇角色视角总数不超过 5 个。 短篇/中篇 1-2 个,长篇 3-5 个。
- 每个角色视角的首次出场,必须在前 30% 篇幅内完成。
在大纲的开头部分确定全篇视角策略:使用哪种视角类型、角色视角列表及首次出场章节、每个角色视角承担的叙事功能。
卷划分
确定模型后,划分大的结构单元。每卷需要明确:
- 核心目标:这一卷要完成什么叙事任务
- 冲突升级:相对上一卷,紧张程度如何递进
- 主角弧线进展:角色从什么状态走到什么状态
- 揭示重点:本卷需要揭示哪些世界观元素(必须对照揭示时间表)
- 主题测试点:本卷如何推进、挑战或呼应核心主题
- 卷末转折:以什么事件结束,制造下一卷的悬念
章节细化
卷级结构确定后,逐章填充。不允许只做到卷级就停下。 卷级大纲是半成品,章节级大纲才是可执行的蓝图。
章节大纲模板
# 大纲:[故事名]
## 结构模型:[选择的模型]
## 预计总章数:[N]
## 预计总字数:[M 万字]
## 视角策略
- **类型**: [第一人称/第三人称限制/全知/多视角]
- **角色视角**: [角色列表及首次出场章节]
## 世界观揭示时间表
[揭示时间表内容]
## 主题追踪
### 核心主题:[问题形式] | 反题:[对立观点]
[主题追踪表]
---
## 第一卷:[标题]
**核心目标**: [这一卷要达成什么]
**主角弧线**: [从 A 到 B]
**揭示重点**: [本卷揭示的世界观元素]
**主题**: [本卷的主题测试/推进]
### 第 1 章:[章节标题]
- **角色视角**: [视角角色] — [第一人称/第三人称限制/第三人称全知]
- **时间线手法**: [顺叙/倒叙/插叙/补叙]
- **场景**:
1. [场景 1] — [地点] — [冲突/事件]
2. [场景 2] — [地点] — [冲突/事件]
- **情绪曲线**: [开头情绪] → [结尾情绪]
- **世界观揭示**: [本章引入/深化的概念]
- **主题贡献**: [本章如何推进/呼应主题]
- **伏笔**: [植入的伏笔] → [预计回收章节]
- **章末钩子**: [让读者翻到下一章的理由]
- **角色章末状态**: [本章结束时各主要角色的物理状态、情绪状态、所在位置。下一章开头必须延续这些状态](此为大纲规划预设;章节写完后,dp-chapter-summary 会在摘要中生成 `[章末状态]` 实际快照,下游技能以摘要中的实际快照为准)
- **概念白名单**: [本章工作区中有符号链接的概念列表]
- **角色白名单**: [本章工作区中有符号链接的角色及对应时间线阶段]
- **新引入概念**: [本章新引入的概念]
- **深化概念**: [本章深化的已有概念]
### 第 2 章:[章节标题]
...
---
## 第二卷:[标题]
...
每章必须有章末钩子。没有钩子的章节结尾等于允许读者退出。
节奏控制原则
硬性规则
- 连续 2 章高强度冲突后,必须有 1 章缓冲。读者需要喘息,角色需要消化。
- "谷底"章节不是无事发生。缓冲章用来做:角色发展、关系深化、世界观细节铺展、伏笔植入。
- 每个卷的结尾必须有明确的转折点。不是渐变,是断裂。
- 每 5-8 章有一个小高潮。
- 全篇高潮点不超过 3 个。一路高潮等于没有高潮。
节奏检查方法
大纲完成后,把每章的情绪强度标注为 1-5 分(1=宁静,5=极端),画出情绪曲线。曲线应该呈波浪形,而不是直线或锯齿。
第四部分:伏笔场记
大纲中每标注一个伏笔,必须同步在 docs/dreampowers/tracking/ 目录下创建对应的伏笔文件。不存在"等大纲写完再统一补录"这种操作。
伏笔类型
中国叙事传统里的伏笔分三层:
- 明线:读者能察觉到"这里有东西",但不知道具体是什么
- 暗线:读者读到时完全没感觉,回收时才恍然大悟
- 草蛇灰线:极其细微的暗示,可能跨越几十上百章才回收
伏笔回收规划
所有伏笔的收敛速度由大纲规划决定。大纲应为每条伏笔指定预期回收的章节范围。章节执行完成后,由一致性检查(dp-review-consistency)确认伏笔是否按计划回收,不合格则打回重写。
伏笔文件格式
每条伏笔独立存储为 docs/dreampowers/tracking/ 目录下的一个 .md 文件,文件名使用 thread- 前缀(如 thread-001-rusty-key.md),通过符号链接分配到相关章节文件夹。
<!-- foreshadow
id: thread-001
name: 描述性名称
type: 暗线
tier: 第10-15章
status: active
-->
# 伏笔:描述性名称
## 计划
- 植入:第3章,植入描述
- 推进:第8章,推进描述
- 扭转:第12章,扭转描述
- 高潮:第14章,高潮描述
- 回收:第15章,回收描述
## 事件记录
(随写作推进更新)
| 事件类型 | 章节 | 描述 |
|---------|------|------|
| 植入 | 3 | 植入描述 |
| 推进 | 8 | 推进描述 |
元数据字段说明:
type:明线 / 暗线 / 草蛇灰线
tier:大纲规划的预期回收章节范围(如"第10-15章"、"第二卷末")
status:active(进行中)/ resolved(已回收)/ abandoned(已放弃)/ deferred(延至续作)
事件类型
| 类型 | 含义 | 示例 |
|---|
| foreshadow | 植入伏笔 | 角色无意间提到一个地名 |
| progress | 推进/加深 | 地名再次出现,关联到新信息 |
| twist | 扭转认知 | 读者以为的含义被颠覆 |
| climax | 伏笔线的高潮 | 真相浮出水面 |
| resolution | 彻底回收 | 伏笔线完整闭合 |
每条伏笔线至少有 foreshadow 和 resolution 两个事件。跨度长的伏笔建议有中间推进事件(progress/twist/climax)。
Claremont 系数
大纲完成后计算 Claremont 系数:
Claremont 系数 = status=active 的伏笔数 - status=resolved 的伏笔数
- = 0:伏笔收支平衡
- > 0 且 ≤ 2:叙事债务可控
- > 2:警告,叙事债务过重
第五部分:章节文件夹
docs/dreampowers/chapters/chapter-NNN/ 是章节的自包含工作区。草稿预审阶段读取文件夹全部材料。包含:
- 符号链接 — 指向
docs/dreampowers/set/concept/、docs/dreampowers/set/character/、docs/dreampowers/tracking/thread-* 中的源文件
spec.md — 章节 spec(施工说明书 + 写作蓝图,七节结构)
draft.md — 章节草稿(写作阶段产生)
review.md — 章节审查报告(审查阶段产生)
iron-rules.md — 指向 docs/dreampowers/tracking/iron-rules.md 的符号链接
style.md — 指向 docs/dreampowers/tracking/style.md 的符号链接
summary-*.md — 前序章节摘要的符号链接(由 dp-chapter-summary 在生成摘要后为下一章创建,dp-chapter-draft 草稿预审时检查并补建缺失链接)
符号链接命名规则
- 概念链接:使用概念的简短名称(如
spirit-energy.md → ../../set/concept/spirit-energy-system.md)
- 简单角色链接:使用角色 id(如
su-wan.md → ../../set/character/su-wan.md)
- 复杂角色链接:使用
角色id-时间线.md 格式(如 lin-feng-before-war.md → ../../set/character/lin-feng/before-war.md)
- 伏笔链接:使用
thread-NNN.md 格式(如 thread-001.md → ../../tracking/thread-001-rusty-key.md)
- 铁律链接:
iron-rules.md → ../../tracking/iron-rules.md
- 风格档案链接:
style.md → ../../tracking/style.md
- 前序摘要链接:不在大纲阶段创建。由
dp-chapter-summary 在每章摘要生成后将 docs/dreampowers/timeline/ 下所有已有摘要符号链接到下一章文件夹(summary-NNN.md → ../../timeline/summary-NNN.md)。dp-chapter-draft 草稿预审时检查并补建缺失链接
iron-rules.md
六条铁律的精简版,存储在 docs/dreampowers/tracking/iron-rules.md,通过符号链接出现在每个章节文件夹中。AI 在写作时读取此文件,确保铁律贯穿整个写作链条。
# 六条铁律(写作时必须遵守)
1. **先好奇,后解释** — 每个世界观元素先以谜团出现,至少 1-2 场景后才解释
2. **先感知,后体系** — 角色先感官体验,再理解背后体系。禁止旁白解释体系
3. **扩展已有,少添新增** — 优先深化已引入概念,旧概念新层面 > 全新概念
4. **概念预算** — 第一章 ≤3 新概念,后续 ≤2/章,每场景 ≤1 解释,每 3000 字 ≥1 未解问题
5. **禁止旁白讲解** — 仅通过角色对话/行动/观察/冲突传递信息
6. **按需揭示** — 只揭示服务当前冲突的信息。Deborah Swift 测试:此刻没在发生?删掉
spec.md 格式
spec.md 是章节的施工说明书 + 材料清单 + 验收记录 + 写作蓝图,四合一。
两阶段写入:
- 大纲阶段(本技能):写入第一~五节(spec 框架)
- 写作前(
dp-chapter-draft 草稿预审):读取章节文件夹全部材料,评估后写入第六节(门控评估结果)和第七节(本章写作蓝图)
核心原则:第六、七节写入完成并经用户确认后,写作阶段只读 spec.md 即可完成当前章节。
使用纯 Markdown 编写:
# 第1章 spec
## 一、概念预算
- 新概念上限:3
- 深化概念上限:不限
- 本章新引入:灵力体系, 宗门等级
- 本章深化:(首章无)
## 二、门控标准
- [ ] 所有概念均在本目录内有对应符号链接
- [ ] 新概念数量未超出预算
- [ ] 无旁白讲解式揭示
- [ ] 伏笔线索文件已链接
- [ ] 角色只展示本目录内链接的时间线阶段信息
- [ ] iron-rules.md 已链接
- [ ] 前序章节摘要已链接(非首章,由 `dp-chapter-summary` 创建,`dp-chapter-draft` 草稿预审时补建缺失)
## 三、概念依赖
- 灵力体系:无前置依赖
- 宗门等级:依赖"灵力体系"(读者需先理解灵力的存在才能理解宗门以灵力定等级)
## 四、读者评估要求
- 翻页欲望:>= 3/5
- 认知负载:<= 3个陌生元素/500字
- 共情验证:读者应对主角产生好奇或同情
## 五、改进要求
(首章无前序审查,留空)
## 六、门控评估结果
<!-- 由 dp-chapter-draft 草稿预审写入,大纲阶段留空 -->
## 七、本章写作蓝图
<!-- 由 dp-chapter-draft 草稿预审写入,大纲阶段留空 -->
spec.md 字段说明与模板(合并)
| 节 | 写入者 | 写入时机 | 内容 |
|---|
| 一、概念预算 | dp-set-outline | 大纲阶段 | 新概念上限、深化上限、本章新引入/深化列表 |
| 二、门控标准 | dp-set-outline | 大纲阶段 | 检查清单,可含本章特有项 |
| 三、概念依赖 | dp-set-outline | 大纲阶段 | 概念间前置关系 |
| 四、读者评估要求 | dp-set-outline | 大纲阶段 | 翻页欲望、认知负载、共情验证的目标值 |
| 五、改进要求 | dp-set-outline | 首章留空,后续章节由审查写入 | 前序审查的改进反馈 |
| 六、门控评估结果 | dp-chapter-draft | 草稿预审 | 门控标准逐项检查结果 + 五问闸门结果 + 评估结论 |
| 七、本章写作蓝图 | dp-chapter-draft | 草稿预审 | 大纲要点、揭示计划、概念/角色要点(含角色风格档案摘要)、前情衔接(含前序摘要全文与 [TBD] 前缀)、伏笔指令、风格指令、调优指令、成人场景指令、张力定位、优先级、铁律提醒、语域转换提醒、时间线执行要求(非顺叙时) |
第一~五节统称 spec 框架。第六、七节统称 草稿预审产物。
各节字段要求以本模板和上表为准,不再另设分散字段说明。
写作蓝图的材料来源
第七节的内容从以下来源定向提取。所有来源均位于章节文件夹内部或通过符号链接可达:
| 蓝图子项 | 来源文件 | 来源位置(物理路径) | 章节文件夹中的形态 |
|---|
| 大纲要点 | outline-*.md | docs/dreampowers/outlines/ | 符号链接(outline-*.md → ../../outlines/outline-*.md) |
| 揭示计划 | 同上(嵌在大纲文件内) | 同上 | 同上 |
| 概念要点 | *.md(概念文件) | docs/dreampowers/set/concept/ | 符号链接 |
| 角色要点 | *.md(角色文件) | docs/dreampowers/set/character/ | 符号链接 |
| 前情衔接 | summary-*.md(前序摘要) | docs/dreampowers/timeline/ | 符号链接(由 dp-chapter-summary 创建,草稿预审补建缺失) |
| 伏笔指令 | thread-*.md | docs/dreampowers/tracking/ | 符号链接 |
| 风格指令 | style.md | docs/dreampowers/tracking/style.md | 符号链接 |
| 铁律提醒 | iron-rules.md | docs/dreampowers/tracking/iron-rules.md | 符号链接 |
| 调优指令 | tuning.md(可选) | 章节文件夹内(原始文件) | 原始文件 |
| 成人场景指令 | adult.md(可选) | docs/dreampowers/tracking/adult.md | 符号链接(仅成人章节) |
所有来源均通过符号链接在章节文件夹内可达,不存在跨越章节文件夹边界的读取。草稿预审将大纲中本章相关的要点提取进蓝图。
章节文件夹创建时机
章节文件夹在本技能的大纲构建过程中创建。流程:
dp-set-concept:拆分源文件到 docs/dreampowers/set/concept/、docs/dreampowers/set/character/
- 本技能(dp-set-outline):构建大纲时,为每章创建
docs/dreampowers/chapters/chapter-NNN/ 文件夹,添加符号链接(包括大纲文件的符号链接 outline-*.md → ../../outlines/outline-*.md),编写 spec.md,创建 docs/dreampowers/tracking/iron-rules.md。若检测到 ~/.config/opencode/skills/dp-chapter-adult 目录存在,通过提问式模板生成 docs/dreampowers/tracking/adult.md,仅在标注了成人场景的章节文件夹添加符号链接(有链接 = 本章含成人场景)
dp-chapter-draft:草稿预审读取章节文件夹全部材料并写入 spec.md 第六、七节,用户确认后进入写作
章节文件夹目录结构
docs/dreampowers/chapters/chapter-NNN/
├── spec.md # 章节 spec(施工说明书 + 写作蓝图,七节结构)
├── draft.md # 章节草稿(写作阶段产生)
├── review.md # 章节审查报告(审查阶段产生)
├── iron-rules.md → ../../tracking/iron-rules.md
├── style.md → ../../tracking/style.md
├── outline-*.md → ../../outlines/outline-*.md (大纲符号链接,由 dp-set-outline 创建)
├── adult.md → ../../tracking/adult.md (仅当大纲标注本章含成人场景;有此链接 = 本章含成人场景)
├── summary-*.md → ../../timeline/summary-*.md (由 dp-chapter-summary 创建,dp-chapter-draft 补建缺失)
├── spirit-energy.md → ../../set/concept/spirit-energy-system.md
├── sect-hierarchy.md → ../../set/concept/sect-hierarchy.md
├── lin-feng-before-war.md → ../../set/character/lin-feng/before-war.md
├── su-wan.md → ../../set/character/su-wan.md
├── thread-001.md → ../../tracking/thread-001-rusty-key.md
└── thread-002.md → ../../tracking/thread-002-scar.md
第六部分:五问闸门协议
在大纲完成后,以及每章进入 dp-chapter-draft 前,必须执行五问闸门。闸门在本技能中定义,在 dp-chapter-draft 中逐章执行。
每章写作前五问
- 本章引入了几个新概念?(≤ 概念预算上限)
- 本章解释了几个已有概念?(每场景 ≤1)
- 本章保留了几个未解答的问题?(每 3000 字 ≥1)
- 所有世界观信息都通过角色行动/对话/观察传递了吗?(无旁白讲解)
- 有没有信息"此刻没有发生"(未服务于当前冲突)?
闸门规则:
- 任一问题不满足阈值:禁止写作,先回退修改章节方案。
- 五问全部通过:方可进入章节起草。
第七部分:交叉验证
大纲完成后,以下验证全部通过才能进入用户确认阶段。任何一项不通过都要回去修改。
1. 揭示时间表一致性
逐章检查:本章计划揭示的世界观元素,是否出现在揭示时间表中对应的位置?
- 揭示时间表是权威文档。大纲服从揭示时间表,不是反过来。
- 允许微调揭示时间表(前后 1-2 章的偏移),但大幅调整需要用户确认。
2. 伏笔闭合检查
- 每个伏笔是否有对应的回收点?
- Claremont 系数是否 ≤ 2?
- 跨度长的伏笔是否有中间事件(progress/twist/climax)?
3. 角色弧线连续性
- 主角在每一卷是否都有可感知的状态变化?
- 角色弧线的方向是否与核心冲突吻合?
- 有没有角色在某一卷完全消失?
- 相邻章节的角色章末状态是否连贯?(上章角色受伤,下章开头必须延续伤势;上章角色在 A 地,下章若在 B 地必须有合理位移)
4. 节奏波形检查
- 依据“节奏控制原则”逐项检查(连续冲突缓冲、谷底有效性、卷末转折、小高潮密度、高潮总量上限)。
5. 概念分配验证
对照各章节文件夹检查:
docs/dreampowers/set/concept/ 和 docs/dreampowers/set/character/ 中的每个源文件,是否都至少在某个章节文件夹中有符号链接?(未被引用的概念/角色要么是遗漏,要么应移除)
- 每章工作区中的符号链接数量是否合理?
- 每章
spec.md 中的"新概念上限"是否被遵守?(第一章 ≤3,后续 ≤2)
- 概念链接是否累积的?(引入后的概念在后续章节中应保持符号链接)
- 角色的首次出场顺序是否合理?(主角优先,配角渐次登场)
- 复杂角色的时间线文件链接是否与大纲标注的时间线手法一致?
- 所有符号链接是否指向实际存在的源文件?(无断链)
spec.md 中的概念依赖图是否一致?(概念 B 依赖 A,则 A 必须在 B 之前的某个章节出现)
- 冰山比例:标记为
underwater 的概念是否在前 30% 章节中保持不被链接?
6. 主题分布验证
- 核心主题是否在前 3 章内以某种形式出现?
- 反题是否不晚于全篇 30% 处出场?
- 是否每 5 章至少有 1 个章节显著推进主题?
- 高潮章节的主题强度是否为全篇最高?
- 是否存在角色直接陈述主题的段落?(如有,标记为问题)
大纲审查
交叉验证通过后,派遣一个子 agent 执行结构完整性检查:
检查这份大纲的结构完整性:
1. 每章是否都有明确的角色视角、场景列表、情绪曲线?
2. 章末钩子是否每章都有?有没有章节遗漏?角色章末状态是否每章都有标注?
3. 冲突升级是否贯穿全篇?有没有中段塌陷?
4. 伏笔植入点和回收点是否在大纲中清晰标注?
5. 揭示时间表中的每个条目是否都能在大纲中找到对应章节?
6. 全篇的情绪节奏是否张弛有度?
7. 主题是否通过行动表达,而非旁白或角色台词直接陈述?
8. 反题持有者是否有说服力,而非稻草人?
列出所有发现的问题,不需要修正。
子 agent 返回问题清单后,与用户讨论需要修改的地方。审查最多循环 3 次。
大纲修订(中途改纲)
写作过程中用户可能想要修改故事走向。这是创作的正常部分,不是错误。
触发条件
- 用户主动说"我想改一下后面的走向"或类似表述
dp-chapter-draft 检测到大偏离(导致后续 2 章以上大纲失效)
- 用户在批量审阅时否决了已写章节的方向
修订流程
第一步:冻结当前进度
- 停止所有正在进行的章节写作
- 调用
skill("dp-tool-version") 提交当前所有已完成章节,提交信息:outline: 大纲修订前快照
- 记录当前写作位置
第二步:明确修订范围
与用户确认修订意图:
| 规模 | 影响范围 | 示例 |
|---|
| 局部修订 | 仅影响未写章节的大纲 | "后面的反派动机改一下" |
| 中度修订 | 影响未写章节 + 需要微调已写的 1-2 章 | "把第10章的转折提前到第8章" |
| 重大修订 | 影响已写多章 + 大幅改变后续走向 | "主角的阵营要反转" |
第三步:冲突分析
读取所有已完成章节,对照修订后的新走向,逐章检查冲突:
- 硬冲突:已写内容与新走向直接矛盾
- 软冲突:已写内容暗示了旧走向但不构成矛盾
- 无冲突:已写内容与新走向兼容
第四步:用户决策
将冲突清单交给用户,提供处理选项。用户拍板后执行。
第五步:更新大纲
修改大纲文档。重新运行交叉验证。同步更新 docs/dreampowers/tracking/ 目录下的伏笔文件:被修订掉的伏笔标记为 abandoned(记录原因),新增的按正常流程录入,重新计算 Claremont 系数。
第五步续:级联更新未写章节工作区
大纲和伏笔源文件更新后,必须同步更新所有未写章节的文件夹(review_status 不为 released 或 imported 的章节):
-
伏笔符号链接:
- 删除指向
abandoned 伏笔的符号链接
- 为修订后新增的伏笔在相关章节文件夹中添加符号链接
- 若伏笔的预期回收章节范围(tier)变更,调整链接分配(移除不再相关的章节链接,添加新相关的章节链接)
-
概念/角色符号链接:
- 若修订导致某章的概念白名单或角色白名单变更(如角色提前出场、概念推迟引入),更新对应章节文件夹中的符号链接
-
spec.md 第一~五节:
- 重写受影响章节的 spec.md 框架(概念预算、门控标准、概念依赖等),使其与修订后的大纲一致
-
验证:
- 所有符号链接指向实际存在的源文件(无断链)
- 无指向
abandoned 伏笔的残留链接
-
前序章节摘要符号链接清理:
- 若修订导致某章被删除或重编号,遍历所有后续章节文件夹(含已写和未写),移除指向已删除/已重命名
docs/dreampowers/timeline/summary-*.md 的符号链接,避免悬空
- 重命名场景下,同步创建指向新文件名的符号链接
已写章节的工作区不在此步修改——它们在第六步"回写"时通过完整的 dp-chapter-draft 流程重建。
第六步:回写已完成章节(如需要)
需要回写的章节调用 skill("dp-chapter-draft") 走完整流程。回写完成后调用 skill("dp-review-consistency") 检查连续性。
第七步:恢复写作
从中断位置调用 skill("dp-chapter-draft") 继续流程。
存储路径
docs/dreampowers/
├── tracking/
│ ├── overview.md # 故事蓝本(dp-tool-research 产出)
│ ├── style.md # 风格档案(dp-set-style 产出,符号链接到每个章节文件夹)
│ ├── adult.md # 成人场景偏好(本技能在检测到已安装后产出,仅成人章节文件夹有符号链接)
│ ├── iron-rules.md # 六条铁律精简版(符号链接到每个章节文件夹)
│ └── thread-NNN-*.md # 伏笔线索文件
├── timeline/
│ ├── timeline.md # 故事级时间线(dp-set-concept 产出,本技能读取)
│ └── summary-NNN.md # 章节摘要(dp-chapter-summary 产出)
├── outlines/
│ └── outline-*.md # 大纲文件(含揭示时间表 + 主题追踪)
└── chapters/
└── chapter-NNN/ # 章节文件夹(详细目录见“章节文件夹目录结构”)
大纲文件存储至:docs/dreampowers/outlines/outline-YYYY-MM-DD.md
全局串行写作规则
硬性约束: 章节写作必须严格串行推进,适用于所有 dp-* 技能。写完第 N 章、确认无误后,才能开始第 N+1 章。禁止并行写多章。
为什么串行
- 概念控制:每章的可见范围由其工作区中的符号链接决定。并行写作时无法确定正确的可见范围
- 逻辑连贯:前一章的结尾状态直接影响下一章的开头
- 伏笔追踪:伏笔的植入和推进是严格的顺序操作
- 及时发现问题:每章完成后立即检查,问题不会累积
写作注意事项
出现以下任一情况,立即暂停,审查并修正:
| 信号 | 说明 |
|---|
| 连续超过 200 字无对话/动作的纯描述 | 可能是 info-dump |
| 一个场景内出现 3 个以上新术语 | 概念过载 |
| 角色突然变成"解说员" | 导游角色陷阱 |
| "正如我们所知/据说/传说中" | 旁白讲解信号 |
| 整段可以移到其他章节且不影响当前剧情 | 违反按需揭示 |
| 角色台词直接陈述主题 | 说教陷阱 |
| 反题持有者被写成小丑或恶人 | 稻草人谬误 |
| 连续 5 章以上无主题相关事件 | 主题线断裂 |
| 主角从未被反题动摇 | 主题未被测试 |
| 读者能一句话概括"故事的道理" | 主题过于直白 |
反模式
- ❌ 不要只做卷级大纲就交付。 没有章节细化的大纲无法指导 dp-chapter-draft。
- ❌ 不要跳过交叉验证。 "感觉差不多"不是验证。
- ❌ 不要把伏笔留到正文阶段再想。 大纲阶段就要把伏笔的植入和回收全部规划好。
- ❌ 不要一路高潮。 没有低谷的故事没有对比度。
- ❌ 不要替用户选结构模型。 给出推荐和理由,让用户决定。
- ❌ 不要把所有概念放在一个文件里。 物理隔离失效。
- ❌ 不要在大纲之前做章节分配。 没有大纲就不知道每章的情节需求。
- ❌ 不要并行写多章。 无法保证概念可见范围正确。
- ❌ 不要创建索引/清单文件。 违反"目录即逻辑"原则。
- ❌ 角色直接说出主题。 那是论文结语,不是小说台词。
- ❌ 反派是纯粹的道德反面。 反派必须有令人信服的理由。
- ❌ 主题只在开头和结尾出现。 主题应贯穿全篇。
与其他技能的交互
| 关系 | 技能 | 说明 |
|---|
| 上游 | dp-set-concept | 接收拆分后的概念/角色源文件 + 故事级时间线(docs/dreampowers/timeline/timeline.md) |
| 上游 | dp-set-style | 接收风格档案(docs/dreampowers/tracking/style.md),创建章节文件夹时添加 style.md 符号链接 |
| 上游 | dp-tool-research | 接收故事蓝本,可回调做考据 |
| 下游 | dp-chapter-draft | 大纲确认后进入章节写作,执行五问闸门 |
| 下游 | dp-chapter-summary | 章节完成后生成摘要,并为下一章文件夹创建摘要符号链接 |
| 协作 | dp-review-consistency | 检查已写章节是否违反揭示计划与铁律 |
| 协作 | dp-character-style | 角色风格应反映其对主题的立场 |
| 协作 | dp-chapter-direct | 大纲阶段通过 skill("dp-chapter-direct") 调用,规划全篇张力走势;大纲中的张力弧线标注作为场景导演和节奏控制的输入 |
| 协作 | dp-tool-version | 大纲修订时冻结进度 |
| 协作 | dp-chapter-adult | 若检测到 ~/.config/opencode/skills/dp-chapter-adult 目录存在,大纲阶段通过提问式模板生成 docs/dreampowers/tracking/adult.md,仅在标注成人场景的章节文件夹添加符号链接(有链接 = 本章含成人场景) |
流程图
digraph set_outline {
rankdir=TB;
node [shape=box, style=rounded];
read [label="读取前置文档\n蓝本+风格档案+设定\n+概念/角色+故事级时间线\n+已有伏笔"];
theme [label="发掘核心主题与反题\n定义主题层次"];
reveal [label="制定世界观揭示时间表\n(六条铁律约束)"];
model [label="确定结构模型\n+视角策略"];
acts [label="划分卷\n冲突+弧线+揭示+主题"];
chapters [label="逐章细化\n场景+角色视角+情绪+时间线手法"];
foreshadow [label="标注伏笔\n同步创建 docs/dreampowers/tracking/thread-*"];
rhythm [label="标注节奏\n高潮/低谷"];
workspace [label="创建章节文件夹\n符号链接+spec.md\n+iron-rules.md链接\n+style.md链接\n+adult.md链接(仅成人章节)"];
validate [label="交叉验证\n(六项全部通过)" shape=diamond];
review [label="子 agent 审查"];
review_pass [label="审查通过?" shape=diamond];
user_confirm [label="用户确认?" shape=diamond];
save [label="存储大纲\ndocs/dreampowers/outlines/outline-*.md"];
transition [label="调用 skill(\"dp-chapter-draft\")" shape=doublecircle];
read -> theme;
theme -> reveal;
reveal -> model;
model -> acts;
acts -> chapters;
chapters -> foreshadow;
foreshadow -> rhythm;
rhythm -> workspace;
workspace -> validate;
validate -> chapters [label="不通过,修改"];
validate -> review [label="通过"];
review -> review_pass;
review_pass -> chapters [label="有问题"];
review_pass -> user_confirm [label="通过"];
user_confirm -> chapters [label="要修改"];
user_confirm -> save [label="确认"];
save -> transition;
}
终态
大纲通过用户确认并存储后,必须立即调用 skill("dp-chapter-draft")。
大纲是蓝图,不是终点。蓝图的意义在于被执行。dp-chapter-draft 会读取大纲、伏笔场记、揭示时间表,三者协同指导正文写作。如果大纲写完就停下,下次重新启动时大量上下文会丢失。
框架搭好了。现在开始长肉。