剧情编辑
辅助用户创建和编辑项目剧情大纲。提供三模式满足不同深度需求:手动逐阶段交互、AI 辅助推荐、全自动生成。所有模式均从项目已有文件(人物/设定/JSON)中预读取上下文,不重复询问已有信息。
关联文件
| 文件 | 位置 | 用途 | 读写 |
|---|---|---|---|
剧情大纲.md 或 剧情大纲-卷X.md |
大纲/剧情/ |
剧情阶段/分卷大纲(此技能输出文件;不分卷→剧情大纲.md;分卷多文件→剧情大纲-卷1.md/剧情大纲-卷2.md/...) |
读写 |
项目信息.json |
大纲/ |
书名/篇幅/种类/分级 + 分卷信息(volumes.*) |
读写 |
写作配置.json |
大纲/ |
润色模式(读 大纲.polish_mode + 分卷 覆盖项;写 分卷 每卷独立配置) |
读写 |
主要角色.md / 次要角色.md / 龙套角色.md |
大纲/人物/(不分卷)或 大纲/人物/卷{N}/(分卷多文件) |
人物名称/性格/能力/关系(上下文预读取 + 合理性校验) | 只读 |
设定.md |
大纲/设定/ 或 outline/settings/ |
世界观/核心设定/故事走向(上下文预读取) | 只读 |
checks/index.json + checks/c{00-06}-*.md + checks/flow.md |
outline/Plot/checks/ |
情节合理性校验规则库(六维度 + 执行流程,按模式选组读取) | 只读 |
plot-wave-spec.json |
data/ |
叙事质量增强规格(波动模型/四要素/冲突双类型/代价豁免) | 只读 |
tags-spec.json |
data/ |
作品标签体系枚举(tags 字段取值来源) | 只读 |
plot-scenario-presets.json |
data/ |
笼统叙事类型预设(10 类:wave/阶段目标/冲突模式/节奏/陷阱) | 只读 |
文件定位优先级:
- 读取
项目信息.json→volumes.enabled+volumes.multi_file判断输出模式 - 不分卷或单文件模式 →
大纲/剧情/剧情大纲.md - 分卷多文件模式 →
大纲/剧情/剧情大纲-卷1.md/大纲/剧情/剧情大纲-卷2.md/ ... - English 路径 →
outline/plot/plot-outline.md或outline/plot/plot-outline-vol{1,2,...}.md - 用户手动指定路径
- 均不存在 → 新建(按目标模板生成初始骨架)
执行模式:计划模式
调用此技能后,必须首先进入计划模式(EnterPlanMode)。
- 使用
EnterPlanMode工具进入计划模式 - 在计划中列出:上下文预读取范围、模式选择(手动/辅助/自动)、将询问或推荐的内容、输出文件路径
- 等待用户批准计划后执行
- 不要在进入计划模式前直接开始询问或写入
触发条件
当用户表达以下意图时,立即调用此技能:
- "创建剧情"、"编辑剧情"、"剧情大纲"
- "写剧情"、"规划剧情"、"剧情安排"、"做剧情"
- "大纲"、"分卷"、"章节规划"、"故事结构"、"情节安排"
- "新建剧情"、"修改剧情"、"完善剧情"、"调整剧情"
- "自动生成剧情"、"帮我规划剧情"、"推荐剧情走向"
- 任何表达"创建/编辑剧情大纲/章节规划/剧情生成"的类似表述
步骤 0:上下文预读取与模式选择
0.1 上下文预读取
无论何种模式,均执行此步骤。 从项目文件中读取所有已有信息,构建剧情上下文基线。
读取清单
| 读取顺序 | 文件 | 提取内容 | 用途 |
|---|---|---|---|
| 1 | 项目信息.json |
书名、篇幅、种类、传播范围、内容分级、分卷信息(volumes.*) | 梗概基础数据、模板选择、分卷状态判断 |
| 2 | 写作配置.json |
大纲.polish_mode + 分卷 覆盖项 |
润色深度(全局 + 每卷独立) |
| 3 | 主要角色.md + 次要角色.md + 龙套角色.md |
全部角色(跨三类文件读取):名称、类别、性别、年龄、性格、简介、能力(1-10)、关系 | 确定可出场人物、人物能力边界、关系网络 |
| 4 | 设定.md |
世界观分类项、核心设定(人物/世界/故事走向)、简介 | 故事背景、已有设定约束 |
| 5 | 剧情大纲.md 或 剧情大纲-卷X.md |
已有剧情内容(如存在) | 编辑模式:读取现有大纲;分卷多文件时按卷读取 |
0.1.5 多文件存储下的本卷优先级读取
仅当 volumes.enabled=true 且 volumes.multi_file=true 时执行。
在多文件存储模式下,优先读取当前操作卷的专属内容:
- 剧情大纲:优先读取
大纲/剧情/剧情大纲-卷{N}.md;如不存在→询问用户"该卷剧情大纲尚未创建,是否基于全局设定新建?" - 角色文件:优先读取
大纲/人物/卷{N}/下的三类角色文件;如卷目录不存在或为空→提示"当前卷无专属角色数据,读取全局角色文件作为参考",回退到大纲/人物/下的角色文件 - 设定文件:设定文件(
设定.md)为全局文件,不按卷拆分——但读取后按当前卷的章节范围筛选相关设定项
读取优先级规则:
- 剧情数据:本卷文件 → 邻卷文件(跨卷一致性检查用)→ 全局文件(作为后备)
- 角色数据:本卷目录 → 全局目录(作为参考)
- 设定数据:全局文件(不拆分),但按卷筛选相关内容
无本卷数据时的处理:
⚠️ 当前卷(第{N}卷)尚未创建专属{剧情大纲/角色数据}。
处理方式:
• 基于全局设定新建 — 使用全局角色和设定作为基础,生成本卷专属内容
• 引用邻卷数据 — 从已有卷中引用相关数据(如角色信息)
• 跳过 — 不依赖本卷专属数据,直接基于全局设定操作
单文件模式(
volumes.multi_file=false)无需此步骤——所有数据均从全局路径读取。
提取结果汇总
读取完成后,内部生成上下文摘要(不输出给用户,供 LLM 后续决策使用):
[内部] 剧情上下文摘要
📋 项目:{书名} / {种类} / {篇幅} / {分级} / 分卷:{已启用(N卷) / 未启用}
👤 可出场人物({N}人):
- 主要角色({X}):{名称} — 性格:{简述} / 能力:{简述} / 关系:{简述}
- 次要角色({Y}):{名称} — 性格:{简述} / 关系:{简述}
- 龙套角色({Z}):{名称} — {简述}
🌍 世界观约束:
- {分类项1}:{要点}
- {分类项2}:{要点}
📖 已有剧情:{有/无}(如有:已规划{X}阶段/{Y}卷)
如角色文件或设定文件不存在/为空:标记对应项为「未设定」,后续不依赖该维度校验,但提示用户先完善可提升剧情质量。
0.2 模式选择
上下文预读取完成后,询问用户:
🔧 请选择剧情创建模式:
• 手动创建 — 逐阶段交互式填写,精确控制每个剧情细节
• 辅助创建 — AI 读取上下文后推荐剧情框架,用户逐项确认/调整
• 自动创建 — AI 读取上下文后自动生成完整剧情大纲,事后查看调整
- 手动模式 → 进入「手动模式工作流程」
- 辅助模式 → 进入「辅助模式工作流程」
- 自动模式 → 进入「自动模式工作流程」
双模板概览
结构定义唯一来源:模板库
templates/plot.schema.json(注册 id:plot,见templates/index.json)。下方模板为渲染示例——阶段结构/占比/默认目标/分卷组织/标注约定均以 schema 为准,本技能不自行维护结构定义。
连载作品模板(5阶段 + 可选番外)
适用场景:长篇/超长篇、分卷连载、网络连载、系列作品。
# {书名} — 剧情大纲
> 最后更新:{日期}
## 梗概
{散文段}
---
##### 第一阶段(前期):{约XX章,≤全篇20%} {阶段目标}
- **≈X—X章**:
---
{具体剧情要点}
##### 第二阶段(中期):{约XX章,≤全篇40%} {阶段目标}
...
---
##### 第三阶段(过度):{约XX章,≤全篇25%} {阶段目标}
...
---
##### 第四阶段(尾声):{约XX章,≤全篇15%} {阶段目标}
...
---
##### 番外(可选):
...
| 阶段 | 推荐占比 | 核心目标 |
|---|---|---|
| 第一阶段(前期) | ≤20% | 铺垫/展开,人物单元回,浅尝辄止 |
| 第二阶段(中期) | ≤40% | 深入展开,大量事件冲突,角色联动 |
| 第三阶段(过度) | ≤25% | 高潮,最重要冲突爆发,聚焦主角 |
| 第四阶段(尾声) | ≤15% | 收束,旅途终点,平静或最终决战 |
| 番外 | 不限 | 可选,独立于主线之外 |
非连载作品模板(4阶段)
适用场景:短篇/中篇、单行本、一次性完结作品。
# {书名} — 剧情大纲
> 最后更新:{日期}
## 梗概
{散文段}
---
##### 第一阶段(开端):{约?%,≤全篇10%} {阶段目标}
---
{具体剧情要点}
##### 第二阶段(发展):{约?%,≤全篇40%} {阶段目标}
---
...
##### 第三阶段(高潮):{约?%,≤全篇25%} {阶段目标}
---
...
##### 第四阶段(结局):{约?%,≤全篇15%} {阶段目标}
---
| 阶段 | 推荐占比 | 核心目标 |
|---|---|---|
| 第一阶段(开端) | ≤10% | 引入世界观与主要人物 |
| 第二阶段(发展) | ≤40% | 展开冲突,深化角色,推进剧情 |
| 第三阶段(高潮) | ≤25% | 矛盾爆发顶点,核心冲突解决 |
| 第四阶段(结局) | ≤15% | 收束所有线索,给出结局 |
梗概段格式
梗概是给人看的散文段落。其中:
- 从项目信息.json 直接取用:书名、篇幅、书籍种类、传播范围
- 从上下文预读取取用:已有的人物信息、世界观设定
- 询问/生成的仅有:预计字数、预计章节数、剧情走向
生成示例:
## 梗概
《书名》为玄幻题材的长篇连载作品(传播向),预计约30万字、120章。
剧情大致走向:少年从平凡村落走出,在复仇与成长中揭开世界真相,最终对抗天外势力。
手动模式工作流程
手动模式延续原有流程,逐阶段交互式填写。用户精确控制每个剧情细节。
手动步骤 1:确定作品类型与结构
根据 项目信息.json 中的 length 字段直接推荐,询问用户确认:
📐 根据项目信息(篇幅:{length}),推荐使用 {连载/非连载} 模板。 (长篇/超长篇 → 连载;随笔/短篇/中篇 → 非连载)
请确认:• 连载 • 非连载
确认后:
🔢 需要几个阶段?(默认 {5/4},可增减) • 连载默认 4正文阶段 + 番外(可选) • 非连载默认 4正文阶段 • 输入数字或"默认"
连载且篇幅为长篇,额外询问:
📚 是否需要分卷? • 是 — 每卷独立复用阶段模板 • 否 — 全书仅一套阶段
如用户选择分卷,继续询问分卷数量与信息:
📚 计划分几卷?(如 3 卷;可先说个大概,后续随时增删)
收集卷数后,逐卷收集信息(每卷一次):
📚 第{N}卷: • 卷名?(如"第一卷:启程";回车使用"第{N}卷") • 预计章节范围?(如"第1—30章";可先说大概) • 预计字数?(如"约10万字";可跳过)
收集完所有卷信息后,询问文件存储方式:
📂 分卷大纲的文件存储方式? • 多文件 — 每卷独立输出为
剧情大纲-卷{N}.md(推荐,便于分卷管理和后续写作调度) • 单文件 — 所有卷写入同一个剧情大纲.md(传统方式)
存储方式写入:
- 多文件 →
项目信息.json中volumes.multi_file = true - 单文件 →
项目信息.json中volumes.multi_file = false
每卷写作配置询问(多文件模式下执行;单文件模式跳过,统一使用全局 大纲.polish_mode):
✏️ 各卷的润色程度是否需要独立配置? • 是 — 为每卷单独指定润色模式 • 否 — 全部沿用全局大纲写作配置(当前:「{大纲.polish_mode}」)
如用户选择独立配置,逐卷询问:
✏️ {卷名} 的润色程度? • 继承全局(当前:「{大纲.polish_mode}」)— 推荐 • 轻度 — 保留用户原话 • 中度 — 小幅优化用户原话 • 重度 — 仅保留原意,完全改写
逐卷确认后写入 写作配置.json → 分卷.{卷号}:
"分卷": {
"1": { "polish_mode": "中度", "mode_description": "...", "last_updated": "{日期}" },
"2": { "polish_mode": "重度", "mode_description": "...", "last_updated": "{日期}" }
}
未单独配置的卷不写入 分卷 对象,运行时继承 大纲.polish_mode。
分卷信息写入 项目信息.json:
所有卷信息收集完毕后,更新 项目信息.json 的 volumes 字段:
"volumes": {
"enabled": true,
"multi_file": true,
"count": 3,
"list": [
{
"number": 1,
"name": "第一卷:启程",
"chapter_range": "1-30",
"word_count": "约10万字",
"polish_mode": "继承全局"
},
{
"number": 2,
"name": "第二卷:暗涌",
"chapter_range": "31-60",
"word_count": "约10万字",
"polish_mode": "重度"
}
]
}
并更新 last_updated 为当天日期。
手动步骤 2:填写梗概
直接从 项目信息.json 取用书名/篇幅/种类/传播范围。仅询问剧情专属数据:
预计字数:
📏 预期总字数?(如"30万字",可先说个大概)
章节规划:
📖 预期总章节数?(如"120章",可先说个大概)
剧情走向(一句话):
🎯 请用一句话概括剧情大致走向。 (如:少年的复仇与成长之路,最终揭开世界真相)
收集完成后,拼合项目信息中的已有数据,生成散文式梗概段写入 剧情大纲.md。
手动步骤 3:逐阶段填写剧情
按阶段顺序逐一引导,每次处理一个阶段。
阶段编辑模板
对每个阶段:
📝 第N阶段({阶段名}) — 推荐 ≤{X}%
- 该阶段的目标?(可输入自定义,或回车使用默认) {默认阶段目标描述}
- 预计占用多少章?(如"第1—20章"或"约20章")
- 有哪些关键剧情点?(逐条输入,输入"完成"结束)
每阶段完成后即时写入文件。
连载作品默认阶段目标(定义见 templates/plot.schema.json → templates.serial.stages)
| 阶段 | 默认目标 |
|---|---|
| 第一阶段(前期) | 铺垫与展开。设计主要人物的个人单元回,基本展开人物角色,浅尝辄止,不过多泄露主线 |
| 第二阶段(中期) | 深入展开。大量事件与冲突爆发,主要角色单元回再次展开,角色联动,核心冲突酝酿 |
| 第三阶段(过度) | 高潮。最重要冲突爆发,聚焦主角与重要角色,其他角色退为龙套,向安稳结尾过渡 |
| 第四阶段(尾声) | 收束。故事终点,一切在此结束,平静或最终决战后落下帷幕 |
非连载作品默认阶段目标(定义见 templates/plot.schema.json → templates.nonserial.stages)
| 阶段 | 默认目标 |
|---|---|
| 第一阶段(开端) | 引入世界观与主要人物,抛出核心矛盾 |
| 第二阶段(发展) | 展开冲突,深化角色塑造,推进主线剧情 |
| 第三阶段(高潮) | 矛盾爆发顶点,核心冲突集中解决 |
| 第四阶段(结局) | 收束所有线索,给出最终结局 |
分卷处理
若用户选择分卷,每卷以 ## 第N卷:{卷名} 为二级标题,阶段在该卷下排列。
单文件模式(volumes.multi_file = false):
- 所有卷写入同一
剧情大纲.md - 每卷以
## 第N卷:{卷名}为二级标题分隔
多文件模式(volumes.multi_file = true):
- 每卷独立文件
大纲/剧情/剧情大纲-卷{N}.md - 文件顶部保留
# {书名} — 剧情大纲(卷{N}:{卷名})标题 - 每卷文件独立包含梗概段(卷级梗概)+ 阶段内容
- 写入顺序:卷1 → 卷2 → ... → 卷N
多文件模式下的卷文件结构:
# {书名} — 剧情大纲(卷{N}:{卷名})
> 最后更新:{日期}
> 所属:{书名} / 第{N}卷 / 共{N}卷
## 本卷梗概
{该卷的散文段梗概}
---
##### 第一阶段({阶段名}):{约XX章,≤全篇X%} {阶段目标}
{具体剧情要点}
##### 第二阶段...
...
多文件模式写前确认: 每卷内容编辑完成后即时写入对应文件。写完一卷问:
✅ 第{N}卷「{卷名}」已写入
剧情大纲-卷{N}.md。 是否继续编辑下一卷?(继续 / 先看看 / 调整本卷)
卷信息与项目信息同步:
每完成一卷的编辑,同步更新 项目信息.json 中 volumes.list 对应的卷信息和 last_updated。
手动步骤 4:合规校验基线设定
🛡️ 剧情合规校验严格度? • 宽松 — 仅大方向严重偏离时提醒 • 标准(推荐)— 阶段级别偏离时提醒,额外情节询问处理 • 严格 — 章节级别偏离即提醒,任何额外情节都需确认
选择后以注释写入 剧情大纲.md 末尾:<!-- compliance_mode: {宽松/标准/严格} -->
手动步骤 4.5:NSFW 章节色色值规划(条件触发)
仅当 项目信息.json 中 content_rating 为 NSFW 时执行。
🔞 本书为 NSFW 向作品。是否需要在大纲中规划色色值分布? 如需要,请描述各章节区的色色值挡位(N1-N5)。
- 如用户提供数据 → 写入
项目信息.json的nsfw_tier_range.chapters - 写入后在
剧情大纲.md阶段标题旁标注色色值范围
手动步骤 4.8:Write-Router 调度 Core 写作规范加工(写入前必经步骤)
一切供人阅读的剧情大纲文本,写入文件前必须经过 Write-Router(轻量模式)→ Core(基础写作辅助)加工。
在步骤 2(梗概)和步骤 3(逐阶段剧情点)产出文本后、写入 剧情大纲.md 前,将以下文本字段逐一传入 Write-Router(轻量模式):
加工范围:
| 字段 | content_type | field_name |
|---|---|---|
| 梗概段 | 大纲文本 | 梗概 |
| 阶段目标 | 大纲文本 | 阶段目标 |
| 剧情要点 | 大纲文本 | 剧情要点 |
执行方式:
- 读取
写作配置.json→ 取大纲.polish_mode(或分卷覆盖项) - 逐字段组装数据包传入 Write-Router(轻量模式):
{ "mode": "creation_phase", "text": "{剧情文本内容}", "context": { "source_skill": "剧情编辑", "content_type": "大纲文本", "field_name": "{梗概/阶段目标/剧情要点}" }, "polish_mode": "{有效润色模式}", "polish_config": { "{写作配置 JSON}" } } - Write-Router 通过轻量模式调度 Core 加工后返回
{ "processed_text": "{加工后文本}", "changes_summary": "{调整摘要}" } - 使用返回的
processed_text替代原文本,继续写入流程
所有模式均须执行此步骤:手动/辅助/自动模式在写入剧情文本前,均须将文本经 Write-Router → Core 加工。自动模式不豁免。
硬约束:不经 Write-Router → Core 加工直接将剧情文本写入文件 = 流程违规。
手动步骤 5:数据合规 + 合理性校验
所有剧情点填写完成后,按 checks/index.json 执行完整校验(六维度规则见 checks/ 库,执行流程见 checks/flow.md)。
模式处理:维度〇 模糊/无匹配逐条询问用户确认;维度一~五 逐条列出违规 + 建议修正 → 用户逐项确认;维度六 四要素缺失列为违规项、波动建议单独标注(软引导不拦截)。
剧情点四要素(维度六):每个剧情点检查 冲突/代价/变化/悬念(冲突标注类型:有伏笔/无伏笔,每阶段至少 1 个有伏笔冲突)——规则数据见 data/plot-wave-spec.json。
手动步骤 6:保存并确认
单文件/不分卷输出:
✅ 剧情大纲已生成!
📋 「{书名}」剧情总览: • 类型:{连载/非连载} • 总字数:约{字数} • 总章节:{N}章 • 阶段:{N}个 • 分卷:{N}卷 / 不分卷 • 合规模式:{宽松/标准/严格}
📝 阶段概览: {逐阶段简述}
还需要调整哪个阶段?或要完善其他大纲内容?
多文件分卷输出:
✅ 分卷剧情大纲已全部生成!
📋 「{书名}」剧情总览: • 类型:{连载/非连载} • 总字数:约{字数} • 总章节:{N}章 • 阶段:{N}个 • 分卷:{N}卷(多文件) • 合规模式:{宽松/标准/严格}
📂 输出文件: •
大纲/剧情/剧情大纲-卷1.md— {卷1名}({章节范围},润色:{模式}) •大纲/剧情/剧情大纲-卷2.md— {卷2名}({章节范围},润色:{模式}) • ...📝 各卷阶段概览: {逐卷简述}
还需要调整哪卷的哪个阶段?或要完善其他大纲内容?
辅助模式工作流程
辅助模式下,LLM 基于上下文预读取的结果主动推荐剧情框架和内容,用户逐项确认、修改或跳过。适合有大致方向但需要 AI 帮忙补齐细节的用户。
辅助步骤 1:展示上下文摘要并确认方向
将步骤 0 预读取的上下文摘要展示给用户:
📋 剧情上下文摘要
📖 项目:「{书名}」— {种类}/{篇幅}/{传播范围}
👤 可出场人物({N}人):
• 主要:{名称}({性格简述}){名称}({性格简述})……
• 次要:{名称}({性格简述})……
• 龙套:{N}人(详见龙套角色文件)
🌍 世界观:{核心设定中的世界概括}
📌 已有故事走向:{设定.md 或 项目信息中的走向描述,如有}
🔗 人物关系网络:
{简述主要关系}
然后询问:
🎯 以上为当前项目的上下文摘要。请确认或补充: • 剧情大致走向?(一句话即可,也可说"你推荐") • 有没有特别想写/不想写的情节方向? • 有没有必须出场/不能出场的角色?
- 用户可只回答部分问题,其余由 LLM 推荐
- 如用户说"你推荐"/"你定" → LLM 基于上下文自动选择
辅助步骤 2:模板选择与结构推荐
基于篇幅长度自动推荐模板(无需询问用户确认,但展示推荐理由):
📐 根据篇幅({length}),推荐使用 **{连载/非连载}** 模板。
推荐章节结构:
• 第一阶段({阶段名}):{章节范围}({占比}%)
• 第二阶段({阶段名}):{章节范围}({占比}%)
• 第三阶段({阶段名}):{章节范围}({占比}%)
• 第四阶段({阶段名}):{章节范围}({占比}%)
{连载额外加番外}
确认使用此结构?(确认 / 调整 / 我自己定)
如推荐连载模板且篇幅为长篇,自动推荐分卷并询问:
📚 篇幅较长({length}),建议分卷管理。推荐分 {N} 卷。
• 接受 — 按推荐分卷(每卷约{章节数}章),使用多文件存储(`剧情大纲-卷X.md`)
• 调整 — 自定义卷数和分卷方式
• 不分卷 — 全书使用单一阶段模板
如用户接受推荐分卷,按以下默认策略执行:
- 多文件模式默认启用(
volumes.multi_file = true) - 每卷润色默认继承全局
大纲.polish_mode - 逐卷推荐剧情点时,按卷组织输出
辅助步骤 3:推荐剧情走向
LLM 基于人物性格、关系网络、世界观,生成 2-3 个剧情走向方案供用户选择:
叙事类型预设套用:先读取 项目信息.json → tags(四维标签),综合判断最接近的笼统叙事类型(枚举与阶段目标参考见 data/plot-scenario-presets.json → presets,标签不硬映射、由 LLM 判断)——方案生成时参考该预设的 wave 张力序列与 stage_goals 阶段目标组织走向,并规避 traps 常见陷阱(软引导,不拦截)。
🎯 基于当前上下文,推荐以下剧情走向:
方案 A:{标题}
{一段简述(2-3句)}
核心冲突:{一句话}
主角弧光:{从XX到XX的变化}
方案 B:{标题}
{一段简述(2-3句)}
核心冲突:{一句话}
主角弧光:{从XX到XX的变化}
方案 C(可选):{标题}
{一段简述(2-3句)}
核心冲突:{一句话}
主角弧光:{从XX到XX的变化}
请选择(A/B/C),或输入自定义走向。
方案生成约束:
- 必须与人物性格一致(内向角色不应有"振臂一呼万人响应"的领袖弧光)
- 必须与世界观兼容(修仙世界不应有纯科技解决方案)
- 必须与篇幅匹配(短篇不宜有"七大篇章层层递进"的复杂走向)
- 至少有一个方案保留用户已表达的故事走向(如有)
辅助步骤 4:逐阶段推荐剧情点
用户确认走向后,按阶段逐一推荐具体剧情点。
不分卷/单文件模式:直接逐阶段推荐。
多文件分卷模式:先按卷、再按阶段推荐——每卷完成后再进入下一卷。
📚 **第{N}卷:{卷名}**({章节范围})
{逐阶段推荐内容,格式同下方}
阶段推荐格式(所有模式通用):
📝 **第N阶段({阶段名})** — {章节范围}({占比}%)
推荐阶段目标:{一句话目标}
推荐出场人物:
• 主要推动:{角色}({在做什么})
• 参与/辅助:{角色}({在做什么})
• 本阶段线索/伏笔:{简述}
推荐剧情要点:
1. {剧情点描述}
2. {剧情点描述}
3. {剧情点描述}
...
请确认:
• 全部采用 — 保留所有推荐剧情点
• 部分修改 — 告诉我调整哪些
• 跳过此阶段 — 本阶段先空着
• 重新推荐 — 换个方向
多文件写入:每卷完成推荐后,立即写入对应 剧情大纲-卷{N}.md,再进入下一卷。
辅助步骤 5:数据合规 + 合理性校验
所有阶段推荐完成后,按 checks/index.json 执行完整校验(六维度规则见 checks/ 库)。
模式处理:维度〇 模糊/无匹配逐条询问用户(辅助模式不豁免);维度一~五 自动修正可明确判断的违规 → 复杂问题询问用户 → 展示修正报告;维度六 四要素缺失自动补全建议、波动建议展示。
推荐约束(波动模型):推荐剧情走向按 data/plot-wave-spec.json 波动模型(张力序列/波峰/低谷伏笔);每个推荐剧情点强制携带四要素(冲突/代价/变化/悬念)。
辅助步骤 6:保存并输出完整大纲
同手动步骤 6 的输出格式,额外标注"辅助模式生成"。
多文件模式额外输出:
📂 输出文件(辅助模式生成):
• 大纲/剧情/剧情大纲-卷1.md
• 大纲/剧情/剧情大纲-卷2.md
...
📋 分卷信息已同步至 项目信息.json → volumes
自动模式工作流程
自动模式下,LLM 基于上下文预读取结果全自动生成完整剧情大纲。不询问用户任何问题,完成后一次性输出供用户查看调整。
自动步骤 1:自动决策所有参数
LLM 基于上下文自动决定以下所有参数:
| 决策项 | 自动策略 |
|---|---|
| 模板类型 | 长篇→连载;其他→非连载 |
| 阶段数 | 连载 4+番外;非连载 4 |
| 分卷 | 长篇且用户设定中有多篇章暗示→分2-3卷;否则不分 |
| 分卷文件模式 | 分卷时默认启用多文件存储(volumes.multi_file = true) |
| 每卷润色模式 | 默认全部继承全局 大纲.polish_mode,不创建分卷覆盖项 |
| 总字数 | 根据篇幅默认:随笔 3-5万、短篇 10-20万、中篇 30-60万、长篇 80-120万 |
| 总章节 | 根据字数÷每章约2500字估算 |
| 剧情走向 | 基于人物性格+世界观+已有设定中的故事走向自动生成 |
| 各阶段剧情点 | 每阶段自动生成 3-6 个关键剧情点 |
自动步骤 2:生成梗概
基于自动决策的参数和上下文预读取的人物/世界观信息,生成散文式梗概段。
- 不分卷/单文件:全书梗概写入
剧情大纲.md - 多文件分卷:先写全书总体梗概(可写入
项目信息.json的备注字段或仅在输出中展示),再为每卷生成卷级梗概写入对应剧情大纲-卷{N}.md
自动步骤 3:逐阶段自动生成剧情
叙事类型预设套用:读取 项目信息.json → tags,综合判断最接近的笼统叙事类型(data/plot-scenario-presets.json → presets)——按预设 wave 张力序列组织阶段节奏、stage_goals 填充阶段目标、conflict_pattern 组织冲突(有伏笔/无伏笔分配)、规避 traps(软引导)。
不分卷/单文件模式:按模板顺序,为每个阶段自动生成剧情点。
多文件分卷模式:按卷→阶段的顺序,每完成一卷即写入 剧情大纲-卷{N}.md。
每个阶段自动生成:
- 阶段目标:使用默认目标 + 结合具体人物/世界观定制化
- 章节范围:按默认占比自动分配
- 出场人物:根据剧情需要自动分配(已有人物优先,如有必要可建议新增人物)
- 关键剧情点:每阶段 3-6 个,确保:
- 符合人物性格和能力
- 符合世界观规则
- 阶段之间有因果递进关系
- 前后剧情点不矛盾
分卷信息同步:剧情生成完毕后,将分卷信息写入 项目信息.json → volumes。
自动步骤 4:数据合规 + 自动合理性校验与修正
按 checks/index.json 执行完整校验(六维度规则见 checks/ 库)。
模式处理:维度〇 模糊/无匹配仍须拦截询问用户(自动模式不豁免);维度一~五 全自动修正所有违规 → 输出中标注修正项 → 用户事后查看;维度六 四要素缺失自动补全、波动建议写入输出。
生成约束(波动模型):自动生成剧情按 data/plot-wave-spec.json 波动模型组织阶段张力(相邻差/波峰/低谷伏笔软引导);每个剧情点强制携带四要素(冲突/代价/变化/悬念)。
仅在遇到以下无法自动决策的情况时,标注在输出中供用户后续处理:
- 两个合规修正方案互斥且无明显优劣
- 修正会导致人物核心设定冲突
自动步骤 5:输出完整大纲
不分卷/单文件输出:
✅ 剧情大纲已自动生成!
📋 「{书名}」剧情总览:
• 类型:{连载/非连载} • 总字数:约{字数} • 总章节:{N}章
• 阶段:{N}个 • 分卷:{N}卷/不分卷
• 合规模式:标准(自动设定)
📝 剧情梗概:
{散文梗概全文}
📖 阶段概览:
{每个阶段:章节范围 / 核心目标 / 关键剧情点列表}
🛡️ 合理性校验:全部通过({N} 项自动修正已应用)
💡 自动生成内容建议查看调整:
• 修改剧情走向 — 说"编辑剧情"
• 调整阶段内容 — 说"修改第N阶段"
• 查看完整大纲 — 说"查看剧情大纲"
多文件分卷输出:
✅ 分卷剧情大纲已自动生成!
📋 「{书名}」剧情总览:
• 类型:{连载/非连载} • 总字数:约{总字数} • 总章节:{N}章
• 阶段:{N}个/卷 • 分卷:{N}卷(多文件存储) • 合规模式:标准(自动设定)
📂 输出文件:
• 大纲/剧情/剧情大纲-卷1.md — {卷1名}({章节范围},{字数})
• 大纲/剧情/剧情大纲-卷2.md — {卷2名}({章节范围},{字数})
...
📋 分卷信息已同步至 项目信息.json → volumes
📋 写作配置:所有卷继承全局「{大纲.polish_mode}」(可随时独立调整)
💡 自动生成内容建议查看调整:
• 修改剧情走向 — 说"编辑剧情"
• 调整某卷内容 — 说"修改第N卷第M阶段"
• 调整某卷润色模式 — 说"设定编辑"
• 查看完整大纲 — 说"查看剧情大纲"
情节合理性校验体系(校验库)
此校验体系对所有模式生效,在剧情大纲生成/修改后自动执行。规则外置为 checks/ 规则库(六维度 + 执行流程,与 Core norms / NSFW techniques 同构):
| 维度 | 文件 | 内容 |
|---|---|---|
| 〇 数据源匹配 | checks/c00-source.md |
人物名/设定项/能力值/关系与已有文件精确匹配(强制最先执行,所有模式不豁免) |
| 一 知识边界 | checks/c01-knowledge.md |
信息来源可追溯/秘密边界/时空在场约束 |
| 二 专业能力边界 | checks/c02-ability.md |
职业-知识匹配/技能等级约束/跨领域排斥 |
| 三 人物行为一致性 | checks/c03-behavior.md |
性格-行为匹配/关系-互动匹配 |
| 四 世界观一致性 | checks/c04-world.md |
设定合规/设定缺口检测 |
| 五 叙事逻辑 | checks/c05-narrative.md |
因果链完整/伏笔与回收/过度巧合 |
| 六 叙事质量(增强) | checks/c06-quality.md |
波动软引导/四要素强制/冲突双类型/悬念密度/代价豁免 |
| 执行流程 | checks/flow.md |
全量/增量校验、违规处理(按模式)、合规校验规则、模板灵活调整规则、卷间一致性检查 |
加载策略:首次调度完整读取 checks/index.json 一次,按模式(手动/辅助/自动)选组读取命中维度文件;之后按工作记忆执行不重复读取。
增强要点(V1.0):
- 波动模型(
data/plot-wave-spec.json):张力 L1-L5 / 相邻差 ≥1 / 至少 2 波峰 / 波峰含代价 / 低谷埋伏笔——软引导(不满足不拦截,仅输出波动建议,防止硬约束逼迫 LLM 复用素材) - 剧情点四要素(强制):冲突(标注有伏笔/无伏笔类型)/ 代价 / 变化 / 悬念
- 冲突双类型:每阶段至少 1 个有伏笔冲突(强制);无伏笔冲突不得连续 ≥3 阶段主导(软引导)
- 代价豁免:默认强制代价,用户明确声明"爽文/无代价"才豁免(记录于项目信息或写作偏好库)
校验执行流程(见 checks/flow.md)
全量/增量校验流程、违规处理(按模式)、合规校验规则(偏离判定/额外情节/跨阶段提醒)、模板灵活调整规则与卷间一致性检查已外置 checks/flow.md——执行校验时按 flow.md 流程操作。
注意事项
- 上下文预读取是必经步骤:所有模式在进入前必须读取角色文件(三类)和设定文件,即使这些文件为空
- Write-Router → Core 加工为写入前必经步骤:梗概/阶段目标/剧情要点等供人阅读的文本,写入前必须经过 Write-Router(轻量模式)调度 Core 按大纲文本规范加工——不经此链路直接写入 = 流程违规。所有模式(手动/辅助/自动)均须执行,自动模式不豁免
- 分卷信息优先读取:预读取时检查
项目信息.json→volumes.enabled,如已启用分卷则按已有卷结构加载,不重新询问分卷 - 多文件模式文件管理:分卷多文件模式下,
剧情大纲-卷X.md各自独立;修改某一卷不自动触发其他卷的更新,由卷间一致性检查提醒用户 - 手动模式:每次只问一个问题,保持友好引导语气;用户随时可跳转到任意阶段编辑
- 辅助模式:推荐内容必须基于已有上下文(人物性格/能力/关系/世界观)生成,禁止脱离上下文凭空推荐
- 自动模式:生成质量高度依赖上下文文件的完整度;如角色文件和设定文件均为空,提示用户"无上下文数据,自动生成的剧情可能不够贴合"
- 写作配置读取优先级:多文件模式下,先查
写作配置.json→分卷.{卷号},无覆盖项则回退到大纲.polish_mode - 项目信息同步:分卷信息(
volumes.*)和分卷润色覆盖(写作配置.json→分卷)在每次分卷操作后同步更新 - 数据源匹配(维度〇):所有模式强制最先执行;模糊匹配必须询问用户,无匹配绝不放行;自动模式不豁免
- 合理性校验(维度一~六):所有模式均执行;维度六叙事质量为增强维度(波动软引导不拦截 + 四要素强制);校验失败不阻塞输出但必须标注;越严格的故事越需要逐项检查;多文件模式额外增加卷间一致性检查(见
checks/flow.md) - 知识边界铁律:一个角色不能知晓自己不在场的事件、不能具备设定之外的技能——这是最常被忽略的剧情漏洞,校验时必须优先检查
- 书名/篇幅/种类/传播范围一律从
项目信息.json取用,不重复询问 - 无
项目信息.json时,先询问书名和基本类型再继续(此时辅助和自动模式降级为询问必要信息后手动执行) - 用户输入内容后按写作配置加工(轻度/中度/重度),多文件分卷模式优先使用该卷独立配置,展示确认后调度
成品输出校验(type: "structured_md",md_category: "大纲";如涉及 JSON 文件则单独传 JSON 数据包)→ 校验后落盘。禁止自行 Write - 路径特殊字符自动处理
- NSFW 相关内容检测:如
content_rating为 NSFW,在阶段标题旁标注色色值范围,并在梗概中模糊提及但不展开描写