| name | dp-set-concept |
| description | Use when building world settings, creating character cards, importing external content, or splitting settings into isolated files for chapter-level concept control |
如果你是被派遣执行特定任务的子代理,跳过此技能。
世界观与角色设定
本技能是刚性技能。严格遵循流程,不可跳步。
前置条件
必须已完成 dp-tool-research 和 dp-set-style,且 docs/dreampowers/tracking/overview.md 和 docs/dreampowers/tracking/style.md 均存在。没有故事蓝本就开始构建世界观,等于在流沙上盖楼;没有风格档案就开始构建世界观,等于乐队没定调就开演。
核心原则
冰山原则:你构建的世界有 100% 的深度,但读者在开篇只看到一部分。冰山比例详见下方"冰山标注规则"章节。这不是偷懒,是纪律。
物理隔离:AI 看不到的东西,它就不会使用。本技能完成后,所有设定都拆分为独立文件,通过目录和符号链接控制可见范围。不使用任何索引文件、清单文件或注册表。目录本身就是真相:文件存在即可用,符号链接存在即可见。
清单
调用本技能后,将以下清单写入 todowrite,逐项执行:
信息收集方式
信息收集方式详见 dp-tool-research 中的三种回答方式定义。
三种模式
模式一:用户输入模式
用户主动给出世界观或角色信息时进入此模式。
- 将用户提供的散碎信息整理进模板
- 发现空白项时主动追问,不要自行脑补
- 检查内部逻辑一致性
- 追问时不要一次性列出所有空白,按"世界规则 → 角色 → 术语"的顺序分批提问
模式二:AI 建议模式
用户说"随机"、"帮我生成"、"你来定"或类似表述时进入此模式。
- 必须生成 3 套差异化方案供选择
- 3 套方案之间在世界观类型、力量体系、核心冲突上尽量不同
- 每套方案用简表呈现,不超过 15 行
- 用户选定后,再展开填充完整模板
- 每个阶段生成后都要暂停等用户确认
模式三:导入模式
用户提供已有的外部文档时进入此模式。文件应放置在 docs/dreampowers/input/ 目录。
流程:
-
格式识别:判断导入文档的格式与结构
- 结构化(Markdown / JSON / Wiki 格式)→ 直接解析
- 半结构化(论坛帖子、字段一致的角色卡)→ 映射到模板
- 非结构化(散文描述、故事片段)→ 分析提取关键信息
-
内容识别与分类:
| 类型 | 特征信号 | 处理方式 |
|---|
| 世界观设定 | 力量体系、社会结构、地理、历史 | 整理进世界规则模板 |
| 角色卡 | 姓名、性格、背景、能力 | 整理进角色卡模板 |
| 大纲 | 章节划分、情节要点 | 标记待转交 dp-set-outline |
| 章节稿件 | 叙事正文、对话、场景描写 | 标记待处理(元数据注入 + 伏笔回溯) |
| 混合内容 | 以上多种类型混杂 | 拆分后分别处理 |
-
冰山标注:对导入内容施加冰山标注
- 默认:所有导入内容初始标记为"水面上"
- AI 提议哪些应沉入"水面下"(秘密、体系上限、会破坏悬念的内容)
- 标注结果须符合 50%+ 水下规则
-
自洽性快检:文档内部矛盾 + 与已有设定的冲突,标记但不自动修复
-
用户确认:映射完成后展示填充后的模板
导入关键规则:
- 不符合模板的内容绝不能无声丢弃,保留在"补充信息"区域
- 缺失字段绝不能擅自脑补,标记"待补充"交由用户决定
- 导入到已有设定时,必须标注哪些是新增、哪些与现有条目冲突
- 原始导入文件保留在
docs/dreampowers/input/ 目录不动
章节稿件导入
当导入内容包含章节稿件(用户手写的章节),执行以下处理:
- 元数据头注入:为每个章节文件添加标准元数据头,保存至章节文件夹
docs/dreampowers/chapters/chapter-NNN/draft.md
<!--
story: [故事名]
chapter: [章节号]
pov: [视角角色]
date: [导入日期]
word_count: [字数]
review_status: imported
-->
# 第[N]章:[章节标题]
[正文]
- 伏笔回溯:扫描章节正文,为识别到的伏笔创建
docs/dreampowers/tracking/thread-NNN-描述性名称.md
- 概念隔离简化校验:内联执行概念隔离检查——遍历导入章节正文,比对已有
set/concept/ 和 set/character/ 中的概念/角色白名单,标记正文中出现但设定中不存在的概念或角色。不调用 dp-review-consistency(该技能是刚性九维度审计,不支持"仅第八维度"的调用模式)。若发现冲突,输出待用户决策的清单
- 续写衔接:整理末章结尾状态,生成续写指令卡
续写指令卡格式:
## 续写衔接点
- **起始章节**:第 [N+M+1] 章
- **前章结尾状态**:[角色位置、情绪状态、场景状态]
- **未解决冲突**:[列表]
- **活跃伏笔线索**:[从 docs/dreampowers/tracking/ 中 status=active 的 thread-* 文件提取]
- **角色风格备注**:[手写章节中展现的角色风格特征]
review_status: imported 表示该章节来自外部导入,未经审查流程。
世界规则模板
生成的世界观设定必须严格遵循此结构:
# 世界观设定:[故事名]
## 世界基础
- **时代/科技水平**:
- **世界类型**: [架空/平行/现实/...]
- **基调**: [黑暗/明亮/灰色/荒诞/...]
## 力量体系
- **名称**:
- **层级**: [从低到高]
- **获取方式**:
- **代价/限制**:
- **已知上限**:
## 社会结构
- **政治体制**:
- **经济基础**:
- **阶层分化**:
- **核心矛盾**:
## 历史大事件(按时间线)
1. [事件] — [影响]
2. ...
## 地理
- **主要场景**:
- **地图关系**:
## 特有术语
| 术语 | 定义 | 首次出场章节(预计) |
|------|------|---------------------|
| | | |
## 🧊 冰山水下(已设定但延迟揭示的内容)
> 此部分标注了存在于世界设定中,但将在后续章节中逐步展开的内容。
> 禁止在开篇集中倾倒。
- [ ] [秘密/细节1] — 预计揭示时机:[章节/节点]
- [ ] [秘密/细节2] — 预计揭示时机:[章节/节点]
角色卡模板
每个主要角色一张卡:
## 角色卡:[角色名]
### 基础信息
- **全名**:
- **年龄**:
- **身份/职业**:
- **外貌特征**: [3个最显著的]
### 性格
- **核心特质**: [一个词]
- **优点**:
- **致命缺陷**:
- **口头禅/语言习惯**:
### 动机
- **外在目标**: [想要什么]
- **内在需求**: [真正需要什么]
- **这两者的冲突**:
### 背景
- **关键经历**: [塑造性格的1-2个事件]
- **秘密**: [角色不愿被人知道的事]
### 人际关系
- 与[角色A]: [关系 + 一句话描述]
- 与[角色B]: [关系 + 一句话描述]
### 成长弧线(概要)
- **起点**: [故事开始时的状态]
- **转折**: [关键改变]
- **终点**: [故事结束时的状态]
角色关系图谱
角色卡完成后,用简明文字描述角色之间的关系网:
[角色A] ——(关系)——> [角色B]:一句话说明
标注关系性质:信任 / 敌对 / 暧昧 / 利用 / 亲属 / 师徒等。关系反转标注在"冰山水下"。
冰山标注规则
什么必须沉入水下
- 力量体系的真正上限
- 历史大事件的隐藏真相
- 角色的秘密与未揭示的过去
- 阶层/势力之间的暗线关系
- 关键术语的深层含义
标注方式
每条内容必须包含:
- 内容描述:藏了什么
- 预计揭示时机:哪个章节或剧情节点
- 揭示方式建议:通过对话 / 事件 / 角色发现 / 环境细节
硬性比例
世界观设定中 50% 以上的内容应标注为"冰山水下"。
故事级时间线
世界观和角色设定完成后,在拆分文件之前,必须构建故事级时间线。故事级时间线定义故事的时间框架——年代、时间跨度、关键日期节点,为后续大纲规划提供时间基准。
与章节级时间线手法的区分:
| 故事级时间线(本技能) | 章节级时间线手法(dp-set-outline) |
|---|
| 是什么:故事发生在什么时间 | 怎么讲:每章用顺叙/倒叙/插叙/补叙 |
| 时间跨度、关键日期、事件锚点 | 叙事手法选择、决策树、执行规则 |
| 客观时间轴 | 叙述视角对时间的重组 |
构建方式:逐层递进 + 关键节点确认
不逐条提问,不全自动。 AI 根据已有素材自动推导,只在关键决策点暂停确认。
第一层:自动提取时间锚点
从已完成的素材中自动提取时间信息:
- 从故事蓝本(
docs/dreampowers/tracking/overview.md)提取:故事起始时间、结束时间、核心事件时间
- 从世界规则(
docs/dreampowers/set/world/history.md)提取:历史大事件的时间节点
- 从角色卡提取:角色年龄、关键经历发生时间、角色间年龄差
- 从概念文件提取:涉及时间属性的概念(如"十年大劫"、"科举周期")
提取完成后,整理为时间锚点清单,不暂停,直接进入第二层。
第二层:自动推导时间框架
基于锚点推导完整的故事时间框架:
- 时间跨度:故事主线覆盖的时间范围
- 时间密度分布:哪些时段是故事重点(密集叙事),哪些是留白(时间跳跃)
- 季节/节气/节日:如果故事类型受季节影响(如农耕、校园、军事),标注关键时令
- 并行时间线:如果有多条故事线,标注各线的时间重叠关系
推导完成后,生成时间线草稿。
第三层:关键节点确认(暂停等用户)
向作者提出 2-4 个关键确认问题(不是逐条确认)。典型问题:
- 故事的时间跨度(X 到 Y)是否符合你的设想?
- 时间密度分布是否合理?(比如:前半段密集、后半段跳跃 vs 均匀分布)
- 是否有需要精确到具体日期的关键事件?(如历史真实事件)
- 是否有故意的时间模糊区域?(用于后续揭示或悬念)
提问规则:
- 最多 4 个问题,不能更多
- 每个问题提供 AI 推导的默认答案 + 替代选项
- 用户可以逐条回答,也可以说"都行"一次通过
第四层:锁定并存储
用户确认后,生成正式的 docs/dreampowers/timeline/timeline.md 文件并锁定。
时间线文件格式
<!-- timeline
story: [故事名]
span: [起始时间] ~ [结束时间]
density: [密集区间描述]
created_by: dp-set-concept
-->
# 故事时间线:[故事名]
## 时间跨度
- **起始**:[年/月/日或模糊表述]
- **结束**:[年/月/日或模糊表述]
- **总跨度**:[X年/月/日]
## 时间密度分布
| 时段 | 密度 | 说明 |
|------|------|------|
| [时段1] | 密集 | 故事主要发生在这段时间 |
| [时段2] | 跳跃 | 中间省略,以摘要过渡 |
## 关键时间节点
| 日期/时间 | 事件 | 涉及角色 | 备注 |
|-----------|------|---------|------|
| [日期1] | [事件1] | [角色] | [精确/模糊] |
| [日期2] | [事件2] | [角色] | [精确/模糊] |
## 并行时间线(如有)
[多条故事线的时间重叠关系描述]
## 季节/时令标记(如适用)
[对故事有影响的季节、节气、节日]
## 时间模糊区域(如有)
[故意留白的时间段,可能用于后续揭示]
硬性规则
- 时间线必须在拆分文件之前完成。拆分后再建时间线,概念文件已经散开,提取锚点的成本翻倍。
- 时间线是事实文档,不是叙事文档。只记录"什么时候发生了什么",不涉及"怎么讲"(那是 dp-set-outline 的事)。
- 锁定后修改需走修订流程。时间线一旦确认,后续修改视为大纲修订的一部分。
设定拆分为独立文件
设定完成后,必须立即拆分为独立文件。不拆分就进入后续流程,AI 会看到所有设定内容,导致概念提前泄露。
世界观整体描述
世界逻辑关系、大背景、基调等整体性描述写入 docs/dreampowers/set/world/:
docs/dreampowers/set/world/
├── world-overview.md # 世界基础(时代、类型、基调)
├── power-system-overview.md # 力量体系总览
├── social-structure.md # 社会结构
├── history.md # 历史大事件
└── geography.md # 地理
概念拆分
从设定文档中,按独立性和原子性拆分具体概念名词:
docs/dreampowers/set/concept/
├── spirit-energy-system.md # 灵力体系
├── sect-hierarchy.md # 宗门等级
├── forbidden-arts.md # 禁术
└── ...
概念文件格式:
<!-- concept
id: spirit-energy-system
name: 灵力体系
category: power-system
iceberg: surface
-->
# 灵力体系
[概念的完整描述]
元数据字段:
id:唯一标识符,英文短横线命名
name:中文显示名
category:概念类别(power-system / social-structure / history / geography / terminology / custom)
iceberg:冰山位置(surface 水面上 / underwater 水面下)
拆分原则:
- 一个概念一个文件,不与其他概念混在同一文件中
- 概念不可再分("灵力体系"是一个概念,不是三个层级三个概念)
- 每个概念文件必须自包含,不依赖其他概念文件
- 目录即清单,文件存在即概念存在
角色卡拆分
docs/dreampowers/set/character/
├── lin-feng/ # 复杂角色:目录
│ ├── before-war.md # 大战前的林风
│ ├── during-war.md # 大战中的林风
│ └── post-cataclysm.md # 灾变后的林风
├── su-wan.md # 简单角色:单文件
└── elder-zhang.md # 简单角色:单文件
判断标准:角色在不同时间节点的能力、身份、关系、性格是否有显著差异?有 → 目录,没有 → 单文件。
复杂角色时间线文件格式:
<!-- character-phase
character: lin-feng
phase: before-war
-->
# 林风 -- 大战前
## 基础信息
- 全名:林风
- 别号:小风、废物
- 定位:主角
## 身份
- 年龄:16
- 身份:外门弟子(末等)
- 实力:灵力未觉醒
## 性格
- 核心特质:倔强
- 当前状态:被全宗门看不起,但拒绝放弃
## 人际关系
- 苏婉:暗恋对象,不敢表白
- 张长老:唯一对他有善意的长辈
## 已知信息
[角色此时知道什么,不知道什么]
## 秘密
[角色此时隐藏的事]
注意:"基础信息"在每个时间线文件中重复。当 AI 只加载一个时间线文件时,它需要完整的角色基本信息。重复优于依赖。
单文件角色格式:
<!-- character
id: su-wan
name: 苏婉
role: supporting
-->
# 苏婉
## 基础信息
- 全名:苏婉
- 年龄:15
- 身份:内门弟子
[完整角色卡内容]
数据独立原则
- 源文件之间互不引用
- 不使用任何 YAML、JSON 或其他索引/清单文件
- 有就是有,没有就是没有
概念边界标注
在构建设定时,为后续拆分做准备:
- 每个独立概念用二级或三级标题分隔
- 角色卡之间用分割线隔开
- 标注概念的时间线属性(如不同时代有不同表现)
- 标注角色的时间线复杂度(需按时间线拆分的角色)
自洽性审查
世界规则和角色卡全部完成后,派遣子 agent 检查:
- 力量体系的规则有没有自相矛盾?
- 社会结构在给定的力量体系下能否稳定存在?
- 每个角色的动机是否与世界设定兼容?
- 历史事件的因果链是否合理?
- 术语定义之间有没有冲突?
子 agent 返回问题清单后,与用户讨论哪些需要修正。
存储路径
docs/dreampowers/
├── input/ # 用户导入的原始数据(不动)
├── set/
│ ├── world/ # 世界观整体描述
│ ├── concept/ # 具体概念名词(一个概念一个文件)
│ └── character/ # 角色文件(单文件或目录)
├── timeline/
│ └── timeline.md # 故事级时间线(本技能产出)
└── tracking/
├── overview.md # 故事蓝本(dp-tool-research 产出)
└── thread-NNN-*.md # 伏笔线索(如导入章节产生)
与其他技能的交互
| 关系 | 技能 | 说明 |
|---|
| 上游 | dp-tool-research | 接收故事蓝本,可回调做考据 |
| 上游 | dp-set-style | 接收风格档案(docs/dreampowers/tracking/style.md)。设定文件内容与 style.md 无直接关联,风格仅在写作阶段生效 |
| 下游 | dp-set-outline | 设定拆分完成后进入大纲规划;故事级时间线(docs/dreampowers/timeline/timeline.md)作为大纲的时间框架 |
| 下游 | dp-review-consistency | 导入章节时调用做连续性校验 |
| 协作 | dp-character-style | 手写章节导入时比对角色风格 |
反模式
- ❌ 不拆分就进入后续流程 — AI 会看到所有设定,概念隔离失效
- ❌ 默默丢弃不符合模板的导入内容 — 保留在"补充信息"区域
- ❌ 自动脑补缺失字段 — 标记"待补充"让用户决定
- ❌ 跳过冰山标注 — 导入内容更容易全部暴露在水面上
- ❌ 替作者改手写章节 — 分析报告问题,但不擅自修改
- ❌ 创建索引/清单文件 — 违反"目录即逻辑"原则
终态
设定拆分完成、用户确认后,必须调用 skill("dp-set-outline")。
世界已经建好并拆开了。现在去规划大纲,决定每一层在哪个章节出现。