接通主角绑定、开场封印与游玩辅助,让世界模拟器从创作连续落到本局。

直聘插入按模块回馈,并记录请求骨架便于排查。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-22 07:40:08 +08:00
co-authored by Cursor
parent 9306c8e659
commit dd0a9e87d8
88 changed files with 6869 additions and 786 deletions
@@ -17,11 +17,12 @@ when: |
无上游,通常作第一步。
when_not: |
这三件已有等价定稿、用户未要求重谈 → 不重复排入。
只改文风 → 「叙事指南与故事推进」;只改每轮看什么 → 「回复呈现」;只改排版/壳 → 「正文组成」。
只改文风 → 「叙事指南」(工序编排:「叙事指南与故事推进」);只改推进或输入用法 → 「故事推进」(工序编排同上);只改每轮看什么 → 「回复呈现」;只改排版/壳 → 「正文组成」。
只改舞台、规则、真值、槽位 → 对应下游技能。与「给玩家什么体验」无关 → 不排。
boundary: |
本技能:体验是什么、怎么发生在用户身上、轮转怎么停。产出供后续编排阅读的开头节点。
叙事指南与故事推进:把感觉落成遣词/笔墨/禁忌与推进——本步只钉感觉与轮转。
叙事指南:把感觉落成遣词/笔墨/禁忌(对话落盘)——本步只钉感觉与轮转。工序编排二者并入「叙事指南与故事推进」。
故事推进:怎么往前、输入用法(对话落盘)——本步只钉感觉与轮转。
舞台骨架 / 具体实例 / 生成规则:舞台与可执行规则——本步不定。
实现机制 / 变量* / 回复呈现 / 正文组成 / 游玩拓扑 / 上下文投影排序 / 细化终稿:落到可运行结构——本步不定。
feeds: design_only
@@ -9,6 +9,7 @@
# closer = true 时为创作终节点:选定后程序落库、关 DAG、保存定稿
# auto = true 时为程序步:不抛默认问题、不经「同意并开始」,提案后直接执行(产物仍验收)
# kind = 节点特性。缺省=普通执行步。prior-artifact=先验产物(须先定写什么;params 是规划产物,不拦执行)
# intake = 可选;recipe=仅工序编排 DAG;dictate=仅对话落盘何时落盘。缺省=两族都可见
# params = 可选;普通节点=编排进 DAG 时 steps[].params 的声明(required 须在执行前钉齐)
# 〔先验产物〕=规划产物字段(可提前填,空则步内钉)
# opening = 可选;覆盖 prompt.md 里 ```opening 默认问题(一般只写在 prompt.md)
@@ -35,6 +36,13 @@ modules:
询问相近故合为一步。
artifact: 设计.美学纲领与交互范式
- id: protagonist
name: 主角设定
declaration: >-
钉清 @玩家 扮演的那个人:名字、背景、特殊设定(身份/金手指等)。
仅当开场白 meta 不够用时才排;用户角色优先写在开场白里。
artifact: 设计.主角设定
# —— 世界与内容 ——
- id: world-blueprint
name: 舞台骨架
@@ -82,11 +90,28 @@ modules:
- id: narrative
name: 叙事指南与故事推进
intake: recipe
declaration: >-
美学已有方向时:把感觉落成可执行的遣词、笔墨落点、禁忌与推进方式;
不重做体验问卷
不重做体验问卷。工序编排用本步;对话落盘拆成「叙事指南」「故事推进」
artifact: 设计.叙事指南与故事推进
- id: narrative-guide
name: 叙事指南
intake: dictate
declaration: >-
美学已有方向时:把感觉落成可执行的遣词、笔墨落点、禁忌与写法档;
不重做体验问卷,也不钉故事怎么往前
artifact: 设计.叙事指南
- id: story-progression
name: 故事推进
intake: dictate
declaration: >-
美学已有方向时:钉故事怎么往前、用户输入用法(大纲扩写或扮演停笔);
不重做文风问卷
artifact: 设计.故事推进
# —— 机制与数据 ——
- id: mechanism
name: 实现机制
@@ -143,7 +168,7 @@ modules:
name: 开场白与开场变量
closer: true
declaration: >-
创作终节点:写出 1~多条开场白(正文须含字面 @玩家)并钉同真相初值;
创作终节点:写出 1~多条开场(每条 = meta 用户角色 + 正文;须含字面 @玩家)并钉同真相初值;
选定后程序落库、结束创作并保存定稿
artifact: 设计.开场白与开场变量
@@ -56,7 +56,7 @@ feeds: design_only
2. 禁止重写上游长文;只写顺序与投影。
3. 每轮槽:order 0=该槽固定人设;其后按「稳→对话.历史→易变」软排。
4. 主世界层必须含 ref=`对话.历史`(默认 projection=summary);转述与旁观维护默认不含历史。
5. 主世界层应双挂「设计.叙事指南与故事推进」等 mount 到 gm 的块;有「设计.随机范围整理」则挂 gm(summary 即可);转述只读本轮正文(输出.用户展示)+ 文风/壳。
5. 主世界层应挂「设计.叙事指南」「设计.故事推进」(工序编排则为「设计.叙事指南与故事推进」)等 mount 到 gm 的块;有「设计.随机范围整理」则挂 gm(summary 即可);转述只读本轮正文(输出.用户展示)+ 文风/壳。
6. 旁观维护在回合末:须含「输出.用户展示」与变量合同,不含历史。
7. 越稳越靠前;本轮输入/真值/正文通常在历史之后。
8. 同一内容可挂多槽。
@@ -21,11 +21,12 @@ when_not: |
整体感觉未钉 → 先「美学纲领与交互范式」。
常识能推、也不需要精准格式(现实名车、西幻常见种族)→ 不排。
只要几张具名名片、不必按规则生成 → 不排;已有规则再要名片 → 「具体实例」。
跨轮记住什么 → 「变量设计与更新规则」。故事怎么往前写 → 「叙事指南与故事推进」。
跨轮记住什么 → 「变量设计与更新规则」。故事怎么往前写 → 「故事推进」(工序编排:「叙事指南与故事推进」)。
boundary: |
本技能:一条规则=怎么描写/生成 + 单层 JSON 产物格式 + 可选池(方向池优先;元素池仅封闭集合)。
具体实例:按规则填最终 records;本步不写最终实例(池≠实例)。
舞台骨架 / 实现机制:可引用,不重写百科、不重钉既成法则。
舞台骨架 / 实现机制:上游真值只引用——`依据`/`硬约束`写短引用句或最短填写条款;社会格局、世界状况、既成法则正文不在本步重写。
缺上游真值时:本步仍只写填写合同时必须守的最短条款;格局/法则长文交给舞台骨架或实现机制,本步不代写百科、不发明「共通前提」迷你世界书。
变量*:游玩期状态更新——本步只约束生成时的类型与合法初值范围。
随机范围整理:把本步(及其他上游)里需要的掷骰/检定范围收成插入表——本步可写合法区间,不代替那份汇总。
旁观维护:可读合同(rule_id、产物格式、何时可 need_generate);程序抽样只抽元素池;方向池由填写方按规则自创。
@@ -43,7 +44,7 @@ feeds: gm,auditor
1. 生成出来必须钉死哪些字段吗?(如武功典籍的名字、效果、阶层)没有就说没有。
2. 这是不是本局原创、听了会一头雾水、还要在故事里随机生成的东西?
3. 更需要:开局先钉一批、游玩中再随机补,还是只在游玩期动态生成?
4. 这类实例彼此有没有必须同场钉死的关系(如互为亲属、对立、同场搭档)?有 → 一次同批生成;彼此独立 → 一次一条。
4. 这类实例彼此有没有必须同场钉死的关系(如互为亲属、对立、同场搭档)?有 → 一次同批,关系用一两句钉互指即可;彼此独立 → 一次一条。台上格局、世界律、前史不在这里展开。
5. 有没有必须全员一致、能数完的标签(阶层、强度档、武器种类)?名字、能力、气质、外貌这类写不完的,后面用「方向」划范围(一句话概括即可,少举例)。阶层这类光看名字不懂的,后面会写成能看见/听见的对照,不要只留阶名。
想到什么写什么;完整规则在正式产物里钉。
@@ -107,7 +108,9 @@ summary:建立 → `生成规则 · {对象} · {仅动态|仅预生成|预生
8. 几面拼成一格用 **配方**:点名目标字段、用到哪些方向组件、怎么拼进这一格。表现类要点用 **表现**:一句概括 + 至多 1 条例子;例子是密度样板,不是选项库。
9. 生命周期先行;未定前不假装可执行「具体实例」。
10. **一次生成**看关系,不看「想不想一次多写」:有必须同场钉死的关系 → `同批`;彼此独立 → `单条`。`同批` 至少 2 条。不要把「总共要几个」和「这一次交几条」混成一件事。
11. 不写变量更新公式、不写剧情推进、不填最终实例。
11. **上游真值引用,不重述**:舞台格局、世界状况、既成法则已有 → `依据`/`硬约束`点名引用;没有 → 只写最短填写条款,并在追问或开放问题标「应落舞台骨架/实现机制」。禁止用「共通前提」类长文重写世界书。
12. **同批关系只钉互指**:`一次生成.关系`与字段间约束写清谁对谁(对立/亲属/席位互指等);不借关系段落写前史、社会律、权力百科。
13. 不写变量更新公式、不写剧情推进、不填最终实例。
```
## probe
@@ -115,9 +118,9 @@ summary:建立 → `生成规则 · {对象} · {仅动态|仅预生成|预生
```probe
每轮 1~2 点。规划已钉且用户未改对象时,禁止重问 target / rule_id。规划为空或用户要换对象时,先问本轮生成什么。
优先:整条规则是否必要;实例彼此有无必须同场对齐的关系;某字段该不该进表;不可穷举项有没有被错做成枚举词表;分级标签够不够让人看懂;描写字段地板是否够用。
优先:整条规则是否必要;实例彼此有无必须同场对齐的关系(只追互指,不追世界书);某字段该不该进表;不可穷举项有没有被错做成枚举词表;分级标签够不够让人看懂;描写字段地板是否够用。
若时机 a/b 都不成立 → 建议跳过,停追问字段与格式。
不追问:最终实例正文、变量增减公式、其它对象族、完整世界百科、再给哪个字段加一套枚举池。
不追问:最终实例正文、变量增减公式、其它对象族、完整世界百科、台上格局/既成法则长文(→ 舞台骨架/实现机制)、再给哪个字段加一套枚举池。
```
## output
@@ -345,4 +348,5 @@ summary:建立 → `生成规则 · {对象} · {仅动态|仅预生成|预生
- 女主规则塞「性别」;或怪物规则只有「名字+性格」没有等级/攻击骰。
- 有亲属关系的三人却标成单条;或把「总共要 5 个」写成同批但彼此无必须同场的关系。
- 把写好的 NPC 整份塞进池当最终实例。
- 把社会格局、前史、既成律写成「共通前提」长文塞进规则;应引用舞台/机制,或只留最短填写硬约束。
```
@@ -21,8 +21,10 @@ when_not: |
boundary: |
本技能:点名故事当作既成事实的变造法则,写清如何约束后续;不补起源、不写舞台百科、不写人物名片。
美学纲领与交互范式:体验与轮转——本步不重定。
舞台骨架:环境与社会格局。具体实例 / 开场白与开场变量:名片与第一屏(身份特殊走它们)。
生成规则 / 变量* / 叙事指南与故事推进:持续生成、跨轮真值、遣词推进——本步只钉前提法则。
舞台骨架:环境与社会格局(谁在台上、状况如何转)——本步只钉缺了会换骨架的既成律。
具体实例 / 开场白与开场变量:名片与第一屏(身份特殊走它们)。
生成规则:可引用本步法则作填写硬约束;本步不写对象族 schema/池,也不把法则扩成名片填写圣经。
变量* / 叙事指南 / 故事推进:跨轮真值、遣词、推进(工序编排后二者合为「叙事指南与故事推进」)——本步只钉前提法则。
feeds: gm
```
@@ -0,0 +1,160 @@
# 叙事指南
> 对话落盘技能。程序只切割下方 **fence 块**;`##` 标题仅供人读。
> 产物外壳:`docs/context-fragment-design.md`。
> 工序编排仍用「叙事指南与故事推进」;本步只钉怎么写,不钉故事怎么往前。
## meta
```meta
name: 叙事指南
id: narrative-guide
artifact: 设计.叙事指南
declaration: >
美学已有方向时:把感觉落成可执行的遣词、笔墨落点、禁忌与写法档;不重做体验问卷,也不钉故事怎么往前
when: |
已有美学纲领(或等价),但游玩正文仍不知道怎么写:遣词什么味道、笔墨落谁身上、场合换哪一档写法、绝对不能写什么。
用户主动谈文风、措辞禁忌、写法档(官能/爽文/恐怖/情色等)也排。
交互范式或故事推进已钉停笔/轮转,不构成不排本步的理由。
when_not: |
本技能只给对话落盘。工序编排不排本步(编排池是「叙事指南与故事推进」)。
美学未钉 → 先「美学纲领与交互范式」。
用户只要感觉/站位、不要文风细则 → 不排,沿用美学。
只谈故事怎么往前、用户输入用法 → 「故事推进」。
版式/壳 → 「正文组成」;每轮看什么(字数/变量/日期)→ 「回复呈现」。
boundary: |
本技能:一份 context-fragment,写清怎么写(遣词、笔墨、禁忌、写法档)。
故事推进:怎么往前、输入用法——本步不定。
美学:感觉与轮转。生成规则/变量*:合同与表。
feeds: narrator,gm
```
## opening
```opening
美学里的感觉已有方向时,请谈「正文怎么写」(想到什么写什么):
1. 像什么文风?遣词什么味道?笔墨花在谁身上?有什么绝对不能写?
2. 正文若有几种写法档要切换(官能 / 爽文 / 恐怖 / 情色这类),点名即可;没有就说没有。
```
## task
```task
你正在执行「叙事指南」。产物必须是 **context-fragment.v1** JSON,写入「设计.叙事指南」。
把美学里的感觉落成可执行的写法。作用对象是本局游玩正文(转述与主世界层都读这份)。
执行顺序:
1. 继承美学体验与禁忌,改写成做法向句子。
2. 写纲领、遣词(含示范)、笔墨焦点、禁忌/不偏好。
遣词用户未提段落形态时,默认写入:完整长自然段叙述,不要单句成段(篇幅数字交给「回复呈现」)。
3. 情境备用 = 写法档(体裁/调性容器),不是具体桥段。有切换则每条写:名字=档名(如「官能小说」「网文爽文」「展示恐怖」「展示情色」),用法=该档怎么遣词、笔墨落哪、何时切进来。无切换则 `[]`。用户若报出「当众折辱」「独处一室」这类场合,升一档写进对应写法档,场合本身不单列。
4. 自评 + 追问。故事怎么往前、用户输入用法交给「故事推进」,本步不写。
summary:`叙事指南 · …`
```
## principles
```principles
1. 感觉 vs 做法:美学写要什么爽;本步写怎么遣词、笔墨落哪。
2. 遣词与禁忌要可执行;绝对禁忌 ≠ 不偏好。
用户未提及时:完整长自然段,不要单句成段。
3. 情境备用是写法档:名字用「官能小说」「网文爽文」「展示恐怖」「展示情色」同级;用法写该档遣词与何时切入。无切换则空数组。
4. 字数区间归「回复呈现」;推进与输入用法归「故事推进」。
```
## probe
```probe
本步只钉三件:遣词可执行、笔墨落点、绝对禁忌(含写法档有无切换)。
已在美学写清的感觉改写成做法向句子,不重问「想感受到什么」。
用户未提段落形态时:写入长自然段默认并简短确认即可。
缺遣词/笔墨/禁忌其中一件:在产物「追问」写 1~2 点(建议选项 + 短句示例)。三件够验收:`追问.题目` 为 `[]`。
用户谈到推进、停笔、大纲扩写:写入「开放问题」,交给「故事推进」。
用户谈到变量增减、生成规则、舞台百科:只抽取能改遣词 / 禁忌的一句,其余写入「开放问题」。
用户提到要换写法:收成写法档写入「情境备用」(官能 / 爽文 / 恐怖 / 情色这类),不追问具体场合怎么摆;没提则 `[]`。
字数问「回复呈现」;本步不追问字数。
```
## output
```output
{
"schema": "context-fragment.v1",
"技能": "叙事指南",
"brief": "一句话:体裁 + 笔墨重心",
"mount": ["narrator", "world-simulator"],
"稳变": "stable",
"正文": {
"依据的体验": ["…"],
"叙事纲领": {
"核心定位": "…",
"叙事使命": "…",
"叙事追求": ["…"]
},
"风格与遣词": {
"叙述者人格": "…",
"整体基调": "…",
"遣词造句": ["原则 - 做法 → 目的"],
"示范": [{ "情境": "常态", "段落": "…" }]
},
"笔墨焦点": {
"观众与代入取向": "…",
"详写优先": ["…"],
"可略写": ["…"]
},
"禁忌与不偏好": {
"绝对禁忌": ["…"],
"不偏好": ["…"]
},
"情境备用": [
{
"名字": "展示情色",
"用法": "切到身体与权力交换时:感官词加重、节奏放慢、对话变短;切回日常则收。"
},
{
"名字": "网文爽文",
"用法": "打脸/反转时:可复述对方原话、结果写满、过程可略。"
}
],
"内容与表达": {
"视角执行": "…",
"段落形态": "默认:完整长自然段叙述,不要单句成段;用户另定则改写",
"场景详略映射": ["…"]
}
},
"自评": {
"维度": [
{ "名": "写法可执行", "分数": 8, "说明": "…" },
{ "名": "与美学对齐", "分数": 8, "说明": "…" }
],
"薄弱点": ""
},
"追问": { "导语": "", "题目": [] },
"开放问题": []
}
```
硬规则:合法 JSON;示范至少 1 段;禁忌与不偏好都要有;禁止 order;summary 见 task。
情境备用若有:名字必须是写法档(官能小说 / 网文爽文 / 展示恐怖 / 展示情色 同级),用法写该档的遣词与切入口;不是「当众折辱」「物资告急」这类具体桥段。无切换则 `[]`。
不写「推进与决策」。
## checklist
```checklist
- [ ] 遣词+示范+禁忌够用?
- [ ] 情境备用若有,是否是写法档而非具体桥段?无切换是否为 `[]`?
- [ ] 未把推进/输入用法写进本步?
```
## examples
```examples
好:一次钉清遣词 + 笔墨落点 + 禁忌;情境备用是「展示情色」「网文爽文」两档及切换时笔墨。
坏:追问好感公式 / 事件池 / 大纲扩写还是扮演停笔;或把「当众折辱」「独处一室」当成情境备用。
```
@@ -3,6 +3,7 @@
> 技能文档。程序只切割下方 **fence 块**;`##` 标题仅供人读。
> 产物外壳:`docs/context-fragment-design.md`;对照美学:感觉 → 本步「怎么写、故事怎么往前」。
> **一份产物、一次询问**;转述与主世界层都挂同一份(不必为省 token 拆成两套投影)。
> **工序编排用本步。** 对话落盘拆成「叙事指南」与「故事推进」,不要在落盘池排本步。
> 旧称:叙事指南。
## meta
@@ -17,6 +18,7 @@ when: |
已有美学纲领(或等价),但转述/主世界层仍会不知道这四件:遣词什么味道、笔墨落谁身上、绝对不能写什么、故事靠场面自己推还是等用户。
用户主动谈文风、措辞禁忌、写法档(官能/爽文/恐怖/情色等)也排。
when_not: |
本技能只给工序编排。对话落盘不排本步(落盘池是「叙事指南」与「故事推进」)。
美学未钉 → 先「美学纲领与交互范式」。
用户只要感觉/站位、不要文风细则 → 不排,沿用美学。
版式/壳 → 「正文组成」;每轮看什么(字数/变量/日期)→ 「回复呈现」。
@@ -73,7 +75,7 @@ summary:`叙事指南与故事推进 · …`
- 大纲扩写:输入=大纲→扩写为事实→细化后正文;不发明大纲未涉及的剧情,完整演绎大纲。
- 扮演停笔:用户本轮行为与对话→正文开头并扩写填满;禁止描述用户角色未输入的其它行为/对话;禁止替用户角色做决定;正文停在其他角色需要用户角色回应之刻。
4. 情境备用是写法档:名字用「官能小说」「网文爽文」「展示恐怖」「展示情色」同级;用法写该档遣词与何时切入。无切换则空数组。
5. 整份双挂即可;禁止拆成两个技能。
5. 工序编排保持本步一份产物;对话落盘拆成「叙事指南」与「故事推进」,不要在本步执行时再拆技能。
6. 字数区间归「回复呈现」;本步管怎么写与怎么推,不重钉字数。
```
@@ -2,7 +2,7 @@
> 技能文档。程序只切割下方 **fence 块**;`##` 标题仅供人读。
> 产物外壳:`docs/context-fragment-design.md`。
> **创作终节点**:规格与呈现契约已齐。写出 1~多条开场白供选定;选定后程序落库、关闭工作流、保存定稿。
> **创作终节点**:规格与呈现契约已齐。写出 1~多条开场(每条 = meta 初值/角色 + present.v1 正文)供选定;选定后程序落库、关闭工作流、保存定稿。
> 不必再调磁盘 worker `opening-generator`(无本步时它仍可作兜底落库)。
## meta
@@ -12,20 +12,21 @@ name: 开场白与开场变量
id: opening-setup
artifact: 设计.开场白与开场变量
declaration: >
创作终节点:写出 1~多条开场白(须含字面 @玩家)并钉同真相初值;选定后落库、结束创作并保存定稿
创作终节点:写出 1~多条开场(每条 = meta 初值/用户角色 + 正文 present.v1,壳与正文组成一致;须含字面 @玩家);选定后落库、结束创作并保存定稿
when: |
收成链已齐(至少体验契约可引用,且「细化终稿」已产出或可立即收成运行规格),需要可开玩的第一段剧情与同真相初值。
排在收成之后作最后一步。用户要进游玩但还没有第一屏 → 排。
when_not: |
体验/呈现仍混沌 → 先「美学纲领与交互范式」与「回复呈现」「正文组成」等。
只要改文风不要开场 → 「叙事指南与故事推进」。
只要改文风不要开场 → 「叙事指南」(工序编排:「叙事指南与故事推进」)。
只要改真值规则不要开场文 → 「变量设计与更新规则」。
运行规格未齐 → 先「细化终稿」。尚未选定开场前若要补前序节点(如 NPC)→ 插在本步之前,勿以「收口已排入」拒绝追加。
boundary: |
本技能是创作终节点:1~多条开场正文(按回复呈现清单 + 正文组成展示)+ 开场变量初值。
必须遵守已验收的叙事指南、回复呈现、正文组成、变量设计;不重做这些契约。
本技能是创作终节点:1~多条开场。每条 = meta(用户角色名字+简介、开场变量初值)+ 正文(present.v1,shell 与「设计.正文组成」一致)。
用户角色跟这条开场走;不同开场可有不同用户角色。初值与该条叙述同真相。
必须遵守已验收的叙事指南、回复呈现、正文组成、变量设计;不重做这些契约。正文不得只交一段散文。
具体实例:开场可引用已有实例名片,不在本步新造百科。
选定后由程序写入 输出.开场白 / 运行.初始变量 / 变量.当前,关闭 DAG 并保存定稿;不要在本步之后再排其它能力。
选定后由程序写入 输出.开场白 / 运行.初始变量 / 运行.开场用户角色 / 变量.当前,关闭 DAG 并保存定稿;不要在本步之后再排其它能力。
feeds: narrator
```
@@ -44,21 +45,31 @@ feeds: narrator
```task
你正在执行「开场白与开场变量」。这是创作最后一步。产物必须是 **context-fragment.v1** JSON,写入「设计.开场白与开场变量」。
主产物:1~3 条可开玩开场白(选定后落库结束创作)。开场须服从叙事指南、正文组成可见块序、监控栏(若有)、变量真值。
主产物:1~3 条可开玩开场(选定后落库结束创作)。每条必须是 **meta + 正文** 两截,不是一段散文。
**正文 = 正文组成的输出格式(强制):**
- 读「设计.正文组成」的 `呈现壳.shell_id` 与可见区域。
- 每条 `正文` 必须是 **present.v1 对象**(与游玩终稿、正文组成「示例.灌数」同形)。`shell` 必须等于该 shell_id。只填该壳已有区域;没有的键省略或空字符串。
- 用户主读写在 `blocks.body`;监控栏初值写在 `blocks.monitor`(短键值,勿长文);建议行动写在 `正文.meta.suggested_actions`。
- prose 壳也要包成 present.v1(`blocks.body`),不要只交裸 Markdown。
- 开场比一章短:愿点进游玩即可,不必凑游玩默认 1000~2000 字。
**meta = 这条开场的初始设定:**
- `用户角色`:名字+简介(有代入则必填;不同开场可以不同)。
- `开场变量`:与该条叙述同真相的初值(名与变量设计一致)。顶层再抄一份推荐条的初值,供程序落库。
**用户角色占位(产物规格,不是可选项):**
- `开场白全文`、`开场白候选`、有字的 `开场可见块.内容` 里,凡指称用户扮演角色,第三人称点名处必须写字面量 `@玩家`(六个字符:`@` + `玩家`)。
- 每条候选全文至少出现一次 `@玩家`。禁止写死具体姓名(如林晚、阿泽);禁止用「用户」「主角」顶名字位。
- `开场白全文`、每条候选 `正文`(含 `blocks.body` 及其它有字区域)里,凡指称用户扮演角色,第三人称点名处必须写字面量 `@玩家`(六个字符:`@` + `玩家`)。
- 每条候选正文至少出现一次 `@玩家`。禁止写死具体姓名(如林晚、阿泽);禁止用「用户」「主角」顶名字位。
- 「你」可与 `@玩家` 并用;若全文只有「你」、零个 `@玩家`,视为不合格,改写后再交。
- 进游玩时程序把 `@玩家` 换成当前用户角色名;创作稿必须保留字面 `@玩家`。
执行顺序:
1. 读依赖:worker 集/美学/叙事/正文组成/监控栏/变量设计/舞台与实例。
2. 写 1~3 条开场候选(同真相、第一拍可不同)→ `开场白全文` + `开场白候选`(含 `@玩家`)。
3. 按正文组成可见块填 `开场可见块`;隐藏段通常空。
4. 钉开场变量(与开场同真相;冲突以叙述为准)。
5. 若有监控栏:开场快照(短)。
6. 交稿前自检:全文搜索确认每条候选含 `@玩家`;再自评 + 追问;输出 JSON。
1. 读依赖:worker 集/美学/叙事/**正文组成(先抄 shell_id)**/监控栏/变量设计/舞台与实例。
2. 写 1~3 条候选:每条 `meta`(用户角色+开场变量)+ `正文`(present.v1)。同真相、第一拍可不同。
3. 推荐条的 present.v1 同时写入 `开场白全文`(对象,不是字符串)。
4. 顶层 `开场变量` = 推荐条 meta 里那份初值。冲突以叙述为准。
5. 交稿前自检:每条 `正文.shell` 与正文组成一致;JSON 搜索 `@玩家`;再自评 + 追问;输出 JSON。
缺上游契约时:能写则按已有材料写开场并标开放问题;不能成立第一拍则追问 1~2 点,勿交空壳。
@@ -69,9 +80,9 @@ summary:`开场白与开场变量 · …`(点题场景)。
```principles
1. 开场为主,表为配套。
2. 版式跟正文组成;文风跟叙事指南。
3. 同真相:开场与开场变量一致。
4. 可行动:第一拍结束有下一步空间。
2. 正文 = present.v1,壳与「设计.正文组成」一致;文风跟叙事指南。尚未钉壳时用 prose 包一层 present.v1,并标开放问题。
3. 同真相:该条 meta.开场变量 与该条叙述一致。
4. 可行动:第一拍结束有下一步空间;写入 suggested_actions(该壳开行动时)。
5. 短:愿点进游玩,非第一章。
6. 不剧透隐藏档。
7. 用户角色名位 = 字面 `@玩家`(见 task 规格);不合格则改写。
@@ -80,7 +91,7 @@ summary:`开场白与开场变量 · …`(点题场景)。
## probe
```probe
开场地点/冲突不清;某真值开场值推不出;版式块是否都要在开场出现;候选是否漏写 `@玩家`。一次 1~2 点。
开场地点/冲突不清;某真值开场值推不出;壳区域是否都要填;候选是否漏写 `@玩家` 或写成了裸散文。一次 1~2 点。
```
## output
@@ -94,19 +105,39 @@ summary:`开场白与开场变量 · …`(点题场景)。
"稳变": "stable",
"正文": {
"依据契约": [
"正文组成 / 叙事指南 / 监控栏 / 变量设计 等已遵循要点"
"正文组成 / 叙事指南 / 监控栏 / 变量设计 等已遵循要点;写出所用 shell_id"
],
"开场可见块": [
{
"块id": "与正文组成.visible块一致",
"内容": "该块开场文本;点名用户角色写 @玩家"
}
],
"开场白全文": "例:清晨,@玩家推开宿舍门,走廊里只有冷风。……",
"用户角色": {
"名字": "沈聿",
"简介": "本地放贷人;与这对母女相识但不熟。"
},
"开场白全文": {
"schema": "present.v1",
"shell": "与设计.正文组成.呈现壳.shell_id 一致",
"blocks": {
"monitor": { "地点": "堂屋", "债额": "三两" },
"body": "清晨,@玩家推开堂屋门,债契还摊在桌上。……"
},
"meta": { "suggested_actions": ["问债", "先坐下"] }
},
"开场白候选": [
"推荐那条(与开场白全文相同;必含 @玩家)",
"可选第二条(必含 @玩家)",
"可选第三条(必含 @玩家)"
{
"meta": {
"用户角色": { "名字": "沈聿", "简介": "本地放贷人;与这对母女相识但不熟。" },
"开场变量": [
{ "名": "债额", "值": 3, "依据": "桌上债契" }
]
},
"正文": {
"schema": "present.v1",
"shell": "与开场白全文.shell 相同",
"blocks": {
"monitor": { "地点": "堂屋", "债额": "三两" },
"body": "清晨,@玩家推开堂屋门,债契还摊在桌上。……"
},
"meta": { "suggested_actions": ["问债", "先坐下"] }
}
}
],
"开场变量": [
{
@@ -115,16 +146,11 @@ summary:`开场白与开场变量 · …`(点题场景)。
"依据": "开场事实/设定推断"
}
],
"监控栏开场快照": [
{
"名": "监控栏字段名",
"显示": "短展示"
}
],
"隐藏段开场": "通常空;若有定界内容则写出",
"隐藏段开场": "通常空;若正文组成钉了隐藏段且开场必须写出,写入 present.v1 blocks.hidden",
"落库提示": {
"输出.开场白": "开场白全文",
"运行.初始变量": "开场变量 → 表格式",
"输出.开场白": "推荐条 正文(present.v1 JSON)",
"运行.初始变量": "该条 meta.开场变量 → 表格式",
"运行.开场用户角色": "该条 meta.用户角色 → 名字+简介",
"变量.当前": "与初始变量对齐"
},
"用户可行动空间": "开场结束后玩家显然能尝试什么"
@@ -134,7 +160,7 @@ summary:`开场白与开场变量 · …`(点题场景)。
{
"名": "契约符合",
"分数": 8,
"说明": "是否遵循正文组成/叙事/监控栏"
"说明": "是否 present.v1、shell 与正文组成一致、叙事/变量同真相"
},
{
"名": "同真相",
@@ -150,6 +176,11 @@ summary:`开场白与开场变量 · …`(点题场景)。
"名": "玩家占位",
"分数": 8,
"说明": "每条候选是否含字面 @玩家、无写死姓名"
},
{
"名": "版式符合",
"分数": 8,
"说明": "是否 present.v1,shell 与正文组成一致,区域未超出该壳"
}
],
"薄弱点": "一句话"
@@ -169,25 +200,30 @@ summary:`开场白与开场变量 · …`(点题场景)。
```
硬规则:
1. context-fragment.v1;自评含「玩家占位」。
2. `开场白全文` 与 `开场变量` 必填;`开场白候选` 1~3 条;监控栏无则为 `[]`。
3. 每条开场候选正文必须含字面 `@玩家`;不发明新真值名。
4. summary:`开场白与开场变量 · {brief 缩略}`。
1. context-fragment.v1;自评含「玩家占位」与「版式符合」。
2. `开场白全文` 与每条候选 `正文` 必须是 present.v1 对象(含 `schema`/`shell`/`blocks.body`);`shell` 与「设计.正文组成」一致。禁止只交散文字符串。
3. `开场白候选` 1~3 条,每条含 `meta`(用户角色有代入则必填;开场变量与该条同真相)+ `正文`。顶层 `开场变量` 必填(推荐条初值)。
4. 每条正文(含 body)必须含字面 `@玩家`;不发明新真值名。
5. summary:`开场白与开场变量 · {brief 缩略}`。
## checklist
```checklist
- [ ] 1~3 条候选,推荐条 = `开场白全文`?
- [ ] 每条候选全文可搜到 `@玩家`?无写死姓名?
- [ ] 版式与叙事口径?变量同真相?有行动空间?
- [ ] 1~3 条候选,推荐条 正文 = `开场白全文`(均为 present.v1)?
- [ ] `shell` 与「设计.正文组成」一致?只填该壳已有区域?不是裸散文?
- [ ] 每条候选可搜到 `@玩家`?无写死姓名?
- [ ] 该条 meta 初值与叙述同真相?有行动空间?
- [ ] 未剧透隐藏档、未写成第一章?
```
## examples
```examples
好:「冷风灌进来时,@玩家还握着空水瓶。」(有字面 @玩家)
好:「你(@玩家)站在闸机前,票夹是空的。」(你 + @玩家)
好:正文为 present.v1,shell 与正文组成相同;body 里有字面 @玩家;meta 带用户角色与开场变量。
好:prose 壳也包成 {"schema":"present.v1","shell":"prose","blocks":{"body":"冷风灌进来时,@玩家还握着空水瓶。"}}。
好:「你(@玩家)站在闸机前,票夹是空的。」写在 blocks.body。
坏:`开场白全文` 只是一段字符串,没有 present.v1。
坏:shell 与正文组成不一致,或灌了该壳没有的区域。
坏:全文只有「你推开门」——零个 `@玩家`。
坏:「林晚推开门」——写死姓名。
```
@@ -0,0 +1,122 @@
# 主角设定
> 技能文档。程序只切割下方 **fence 块**。
> 产物外壳:`docs/context-fragment-design.md`。
> 落盘后挂在当前选用的用户角色卡下(横线下方),不进全局列表。关掉这局就不加载。不改其它技能正文。
## meta
```meta
name: 主角设定
id: protagonist
artifact: 设计.主角设定
declaration: >
钉清 @玩家 扮演的那个人:名字、背景、特殊设定(身份/金手指等)。落盘后挂在当前选用的用户角色卡下。
when: |
用户代入,且这局角色有名字、身份或金手指(快穿短局几乎总有一张脸),尚无「设计.主角设定」定稿。
when_not: |
旁观或把角色当棋子、不要代入身份 → 不排。
只要体验感觉、不要名片 → 「美学纲领与交互范式」。
NPC 名片 → 「具体实例」。开场第一拍 → 「开场白与开场变量」。
boundary: |
本技能:@玩家 扮演的那一张名片(名字、背景、特殊设定)。
美学纲领与交互范式:体验与轮转——本步不重定。
实现机制:世界法则——金手指写在本步「它能做什么」,法则来源不写。
开场白:第一屏怎么开始——本步不定时间地点冲突。
feeds: gm
```
## opening
```opening
这局你代入谁?(想到什么写什么)
1. 名字:别人怎么叫你?不要写 @玩家。
2. 背景:一两句来历或处境即可,不写世界百科。
3. 特殊设定:身份、金手指、随身之物;没有就说没有。
```
## task
```task
把用户原话收成 @玩家 扮演的那一张名片,写入 tag「设计.主角设定」。作用对象是本局黑板;程序读取后挂在当前选用的用户角色卡下,不写进全局列表。
产物必须是 **context-fragment.v1** JSON。正文只含:名字、背景、特殊设定(身份 / 金手指 / 其它)。须含 schema / 技能 / brief;mount 主世界层;稳变多为 stable。
名字:本局称呼,进游玩替换 @玩家。禁止写成「@玩家」「用户」「主角」。缺名字 → 追问 1 题,不交半张卡。
背景:一两句。没有就写「未定」,不编百科。
特殊设定:有则写身份、金手指(能做什么、限制一句)、其它;没有就各写「无」。
一次对话、一次验收。不写世界、不写文风、不写开场第一拍。
```
## principles
```principles
1. 一张脸:删掉仍知道「我是谁」的句子才落盘。
2. 金手指写能力与限制,不写它为何存在。
3. 材料不够:名字必须问出;背景和特殊设定可「未定」或「无」。
4. 规格走 JSON;追问一次 1 题。
```
## probe
```probe
只追问挡住成卡的缺口。缺名字:给 2 个称呼选项 + 其它。背景/金手指用户说没有 → 写「无」,不问第三轮。
```
## output
```output
{
"schema": "context-fragment.v1",
"技能": "主角设定",
"brief": "一句话:谁、带着什么特殊",
"mount": ["world-simulator"],
"稳变": "stable",
"正文": {
"名字": "林晚",
"背景": "原剧情里被退婚的庶女,刚穿过来那天正被当众羞辱。",
"特殊设定": {
"身份": "侯府庶女 / 原女主的垫脚石",
"金手指": "能看见别人对她的好感数字;别人看不见。",
"其它": "无"
}
},
"自评": {
"维度": [
{ "名": "可代入", "分数": 8, "说明": "名字能替换 @玩家,身份清楚" },
{ "名": "够用", "分数": 8, "说明": "没有世界百科,特殊设定能约束正文" }
],
"薄弱点": "一句话"
},
"追问": {
"导语": "名片还缺:",
"题目": []
},
"开放问题": []
}
```
硬规则:
1. 合法 JSON;必含 schema / 技能 / brief / 正文 / 自评 / 追问。
2. 正文是对象,键为 名字 / 背景 / 特殊设定;特殊设定为对象(身份、金手指、其它),不是一段散文。
3. 名字不是 @玩家 / 用户 / 主角。
4. 禁止写数字 order、禁止输出执行单元列表。
5. summary:`主角设定 · {名字}`。
## checklist
```checklist
- [ ] 含 schema / brief / 正文 / 自评 / 追问?
- [ ] 名字可替换 @玩家?不是占位词?
- [ ] 背景一两句或「未定」?特殊设定有则写能力与限制,无则「无」?
- [ ] 没有世界百科、没有开场第一拍?
```
## examples
```examples
好:名字「林晚」;背景一句穿来当日处境;金手指「看见好感数字」+限制「别人看不见」。
坏:名字写成 @玩家;把侯府地理、朝堂势力写进背景;把开场羞辱戏全文写进名片。
```
@@ -50,7 +50,7 @@ boundary: |
- 设计.美学纲领与交互范式 → interaction / experience_check
- 设计.worker规格(游玩拓扑)→ play_slots 或 writing_slots
- 设计.上下文投影排序 → 写入规格的 context_order(每槽 inserts:order/anchor/ref/projection);无表且上下文很少时可按默认 static/dynamic 退化
- 设计.叙事指南与故事推进(旧称 设计.叙事指南)/ 世界 / 机制 / 生成规则等 → resident_context(挂载以排序表与 mount 为准,本步不重排数字序)
- 设计.叙事指南 / 设计.故事推进(工序编排:设计.叙事指南与故事推进)/ 世界 / 机制 / 生成规则等 → resident_context(挂载以排序表与 mount 为准,本步不重排数字序)
- 设计.变量设计与更新规则 → tables.side_effects(及 schemas 摘要)
- 设计.变量控制上下文 → 核对挂载与剧透,写入 notes 或 resident 短句
@@ -21,7 +21,7 @@ when_not: |
还不知道每轮给用户看什么 → 先「回复呈现」。
已定要检定/掷骰但范围表未收 → 先「随机范围整理」。
不要排在开场白之后。几乎不跳过。
只谈文风遣词 → 「叙事指南与故事推进」。只改呈现区域与内容规则(字数/选项槽/监控键)→ 「回复呈现」。
只谈文风遣词 → 「叙事指南」(工序编排:「叙事指南与故事推进」)。只改呈现区域与内容规则(字数/选项槽/监控键)→ 「回复呈现」。
boundary: |
本技能:前端展示——从【可选呈现壳】选壳、把回复呈现的各区域落到版式、美化排版(可含 CSS/HTML/JS);若有随机范围表,预留/接到隐藏备用随机区(用户看不见、发给 AI 仍在上下文)。
回复呈现:必选/可选区域 + 各区简单内容规则——本步不重议清单与规则,只负责怎么显示。
@@ -19,7 +19,7 @@ when: |
when_not: |
上游还没齐 → 先那些。
只谈怎么排版、选壳、CSS/HTML/JS → 「正文组成」。
只谈文风遣词 → 「叙事指南与故事推进」。
只谈文风遣词 → 「叙事指南」(工序编排:「叙事指南与故事推进」)。
检定/掷骰范围汇总 → 「随机范围整理」。
变量如何增减 → 「变量设计与更新规则」(本步只定展示哪些、展示规则)。
boundary: >
@@ -0,0 +1,134 @@
# 故事推进
> 对话落盘技能。程序只切割下方 **fence 块**;`##` 标题仅供人读。
> 产物外壳:`docs/context-fragment-design.md`。
> 工序编排仍用「叙事指南与故事推进」;本步只钉怎么往前与用户输入用法,不钉遣词。
## meta
```meta
name: 故事推进
id: story-progression
artifact: 设计.故事推进
declaration: >
美学已有方向时:钉故事怎么往前、用户输入用法(大纲扩写或扮演停笔);不重做文风问卷
when: |
已有美学纲领(或等价),但尚未钉用户输入用法(大纲扩写 / 扮演停笔),或还不知道故事靠场面自己推、等用户、还是无专门推进。
用户主动谈推进、节奏、停笔、大纲扩写也排。
遣词未钉、叙事指南未落,不构成不排本步的理由。
when_not: |
本技能只给对话落盘。工序编排不排本步(编排池是「叙事指南与故事推进」)。
美学未钉 → 先「美学纲领与交互范式」。
只改遣词、笔墨、写法档 → 「叙事指南」。
事件池 schema、真值增减 → 「生成规则」/「变量设计与更新规则」。
boundary: |
本技能:一份 context-fragment,写清怎么往前 + 用户输入用法(大纲扩写或扮演停笔,勿混成半套)。
叙事指南:遣词/笔墨/禁忌/写法档——本步不定。
美学 / 交互范式:感觉与轮转权限。本步把「输入怎么用」写成游玩可执行的一种。
生成规则/变量*:合同与表——推进只写钩子,不写公式。
feeds: gm,narrator
```
## opening
```opening
美学里的轮转已有方向时,请谈「故事怎么往前」(想到什么写什么):
1. 故事往前靠什么:场面自己推、等用户决策,还是无专门推进?
2. 用户每轮输入怎么用?未提及时按体验二选一写入(可简短确认,不必当缺口追问):
- **大纲扩写**(写手/成稿向):输入=待扩写为事实的大纲;细化完全后写正文;不超出大纲未涉及的剧情,完整演绎大纲。
- **扮演停笔**(代入扮演、等用户决策):用户本轮行为与对话作正文开头并扩写填满;不可写用户角色未给出的其它行为/对话;不可替用户角色做决定;正文停在其他角色等用户角色回应之刻。
```
## task
```task
你正在执行「故事推进」。产物必须是 **context-fragment.v1** JSON,写入「设计.故事推进」。
钉清本局故事怎么往前、用户每轮输入怎么用。作用对象是主世界层与转述的游玩正文。
执行顺序:
1. 继承美学/交互范式里的轮转(何时等用户),改写成推进做法。
2. 写推进与决策(可写「无专门推进」);变量只写钩子。
「用户输入用法」未提及时:按美学/交互范式选一种写入产物——
- 写手/大纲成稿 → **大纲扩写**(输入=大纲→细化成正文;不越界、完整演绎);
- 代入扮演、轮转等用户决策 → **扮演停笔**(输入的行为与对话作正文开头并扩写填满;不写用户角色未给出的行为/对话;不替用户角色做决定;停在其他角色等回应之刻)。
两种都像则写进追问让用户点一次;不要混成半套规则。
3. 自评 + 追问。遣词、笔墨、写法档交给「叙事指南」,本步不写。
summary:`故事推进 · …`
```
## principles
```principles
1. 推进可轻可无;表规格交给变量/生成规则。
2. 用户输入用法两套可选默认(未提及时择一,勿混用):
- 大纲扩写:输入=大纲→扩写为事实→细化后正文;不发明大纲未涉及的剧情,完整演绎大纲。
- 扮演停笔:用户本轮行为与对话→正文开头并扩写填满;禁止描述用户角色未输入的其它行为/对话;禁止替用户角色做决定;正文停在其他角色需要用户角色回应之刻。
3. 交互范式已有停笔权限时:把它收成上面两种之一写入产物,不要因为权限已有就不落本步。
```
## probe
```probe
本步只钉两件:推进方式(场面推进 / 用户决策 / 无专门推进)、用户输入用法(大纲扩写 / 扮演停笔)。
用户未提输入用法时:按体验选一种写入产物并简短确认;两者都像才追问二选一,不必当成大缺口。
推进方式不明则正文写「无专门推进」,不问好感公式、进度表或事件池。
缺其中一件:在产物「追问」写 1~2 点。两件够验收:`追问.题目` 为 `[]`。
用户谈到遣词、笔墨、写法档:写入「开放问题」,交给「叙事指南」。
用户谈到变量增减、生成规则:只抽取能改推进方式的一句,其余写入「开放问题」。
```
## output
```output
{
"schema": "context-fragment.v1",
"技能": "故事推进",
"brief": "一句话:推进有无 + 输入用法",
"mount": ["world-simulator", "narrator"],
"稳变": "stable",
"正文": {
"依据的体验": ["…"],
"推进与决策": {
"有无专门推进": "有|无",
"驱动力来源": "…",
"用户输入用法": "择一写入。大纲扩写:输入=待扩写为事实的大纲;细化后写正文;不超出大纲未涉及处,完整演绎。扮演停笔:用户本轮行为与对话作正文开头并扩写填满;不可写用户角色未给出的其它行为/对话;不可替用户角色做决定;停在其他角色等用户角色回应之刻。用户另定则改写",
"叙事速度与详略": "…",
"成败与难度": "…",
"变量门控钩子": []
}
},
"自评": {
"维度": [
{ "名": "推进可执行", "分数": 8, "说明": "…" },
{ "名": "输入用法钉清", "分数": 8, "说明": "…" }
],
"薄弱点": ""
},
"追问": { "导语": "", "题目": [] },
"开放问题": []
}
```
硬规则:合法 JSON;输入用法必须是大纲扩写或扮演停笔之一(或用户另定的完整写法),禁止半套;禁止 order;summary 见 task。
不写遣词示范、写法档、禁忌清单。
## checklist
```checklist
- [ ] 推进清楚或明确无?输入用法是完整的一种?
- [ ] 未把遣词/写法档写进本步?
```
## examples
```examples
好:推进写「等用户决策」;输入用法钉「扮演停笔」。
好:推进写「无专门推进」;输入用法钉「大纲扩写」,并写清不越界、一次成篇。
坏:把两套输入用法混成半套;追问好感公式 / 事件池;或在本步写遣词示范。
```
@@ -25,7 +25,7 @@ when_not: |
boundary: |
本技能:用拓扑结构写出必须存在、又不走生成规则合同的内容(节点、连接、方向/层级)。
生成规则 / 具体实例:复杂合同与 records——本步不写生成格式、不填名片表。
舞台骨架:活动区域写细——本步不重写舞台百科。
舞台骨架:社会结构与活动区(谁在台上、区怎么划)——有节点与连接才走本步;仅格局叙述、无边可画 → 舞台骨架。
游玩拓扑:固定槽勾选——本步不描述执行单元谁读谁写。
变量*:跨轮状态——本步不设计变量表。
feeds: gm
@@ -65,6 +65,7 @@ summary:`拓扑图谱 · {名称或类型}`。
2. 拓扑很泛:升级路径、地图、人物关系都是同一类产物,不要只当成探索地图。
3. 节点短、连接准。点不是名片,连接不是散文,也不是生成合同。
4. 该用规则反复生成的对象族不要塞进本步。
5. 仅有「谁在台上、如何分层」的格局叙述、画不出边 → 交给舞台骨架,本步不写。
```
## probe
@@ -161,5 +162,6 @@ summary:`拓扑图谱 · {名称或类型}`。
好:功法一阶接到二阶、旁支接到某秘术——升级路径。
坏:其实该按规则反复生成的对象族(如心之彩)硬写成拓扑。
坏:把舞台活动区再抄一遍,没有连接。
坏:只有「谁在台上、如何分层」的格局散文、画不出边 → 舞台骨架,不是本步。
坏:描述主世界层谁读谁写 → 游玩拓扑,不是本步。
```
@@ -28,7 +28,7 @@ boundary: |
不再设机遇裁定(chance)槽:真随机走「随机范围整理」+ 程序插入上下文备用数。
细化终稿:按本步勾选展开 workers、合并常驻与 tables。
变量设计 / 变量控制上下文:真值与投影,不是推理槽。
叙事指南与故事推进:默认挂主世界层;若开了转述可挂转述(推进可兼挂主世界层);世界/机制:挂到主世界层——本步只点名槽。
叙事指南:默认挂主世界层;若开了转述可挂转述。故事推进挂主世界层(有转述可兼挂)。工序编排二者合为「叙事指南与故事推进」。世界/机制:挂到主世界层——本步只点名槽。
```
## opening
@@ -118,7 +118,7 @@ boundary: |
},
"mount_notes": [
"生成规则/变量合同/旁观摘要 → auditor(仅开旁观时;无长对话史)",
"叙事指南与故事推进 → gm(默认);若开转述可挂 narrator",
"叙事指南 / 故事推进(工序编排合为叙事指南与故事推进)→ gm(默认);若开转述可挂 narrator",
"世界/机制/变量规则 → gm",
"随机范围整理 → gm(上下文备用随机数;无机遇槽)",
"真值与 side_effects → 细化终稿 tables"
@@ -17,13 +17,15 @@ when: |
玩家实际游玩过程中的主要活动区域必须写细,但如果本身世界变造不多、或特殊设定较少(如西幻就足以概括的世界),就不需要多写。
when_not: |
整体感觉未钉 → 先「美学纲领与交互范式」。
代入后几乎不移动:玩家只会在一处待着体验,不会走到别的活动区域(如网聊、门卫室)→ 不排。
可点名名片 → 「具体实例」另排。持续生成合同 → 「生成规则」。
既少换区、社会格局与世界状况也不需要备案才能撑体验(如网聊、门卫室)→ 不排。
虽少换区,但台上势力/运转状况仍决定体验(如一室朝堂博弈)→ 仍排;活动区可极简成一处。
可点名名片 → 「具体实例」另排。对象族怎么生成 → 「生成规则」。
boundary: |
本技能:舞台备案——范围、基底+变造、主要活动区域(写细)、社会结构、世界状况。
多张名片/同批实例共享的台上格局与世界状况写在这里,供下游引用。
美学纲领与交互范式:体验与轮转——本步不重定。
实现机制:既成变造法则——本步把法则落到活动区域上长什么样,不重钉法则来源。
具体实例 / 生成规则 / 叙事指南与故事推进:名片、生成节奏、遣词与推进——本步不定。
具体实例 / 生成规则 / 叙事指南:名片、生成合同(schema/池/描写法)、遣词——本步不定。故事推进(工序编排并入「叙事指南与故事推进」)也不定。
feeds: gm
```
@@ -83,6 +85,7 @@ summary:`舞台骨架 · …`(点题尺度 / 社会结构或世界状况)
地理只是一类钩子。社会结构(谁在台上、如何分层互动)与世界状况(寒灾、异界出口、活人祭祀、命脉资源等)
往往比「哪条河接哪座山」更能决定故事如何运转——必须写,但不能写成物种志/民俗全书。
可以是抽象格局(对峙、割据、阶层天井)。不要求接壤比例尺、全史年表。
下游要生成多张名片时:共享的台上格局与状况仍写在本步;生成规则只引用,不在规则里重抄世界书。
下游需要点名条目时交给「具体实例」;本步给格局级与状况级引用钩子。
3. 变造基底,再按活动区写细
@@ -269,5 +272,6 @@ summary:`舞台骨架 · …`(点题尺度 / 社会结构或世界状况)
- 只写山脉河流,不写祭祀/灾变/异界口等用户已点名的运转部件。
- 「先写完整七大国、五十种魔族生态、三万年神话…」→ 百科。
- 「地点1:XX咖啡馆,店主叫…」→ 具体实例,不是骨架。
- 把多张名片共享的台上格局丢给生成规则去写「共通前提」→ 本步该写格局钩子,规则只引用。
- 整份只有散文无三段外壳。
```