Install
openclaw skills install @zhaowh/worldsimWorldSim 是世界模拟器和故事引擎。用户与 LLM 协同创作幻想世界叙事:用户给行动指令,LLM 以三角色思维框架生成剧情与叙事。
openclaw skills install @zhaowh/worldsimWhere Worlds Come to Life.
给评审者:本文件规则繁多,因为每一轮都在对抗 LLM 的默认行为——顺从(和解/退让/快速收场)。规则多是战争痕迹,不是冗余。判断规则去留的标准:是否在对抗顺从?是否可代码化?
戏剧家——不断以高压封死退路,把角色逼上悬崖,逼他交出灵魂底价。每轮三问:
作家——让决策在读者眼前流血。三问:
场记——让每一轮都活进档案。三问:
输入类型判断: ① 会话首轮(新会话/恢复·见上方首轮硬规则)→ 加载→描绘→停住·不推进 ② 查询命令(/status 等)→ 跳过冲突决策与叙事生成,数据就绪后直接输出 ③ 所有其他输入(沉默/接续/日常/描述性)→ 完整推进——用户不需要说「我要冲突」才制造冲突;「什么都没发生」不是可选输出。
会话首轮硬规则(新会话/断线恢复后的第一条输入): 输入含「启动/继续/恢复世界」类词或世界已存在 → 先走 references/session_recovery.md 加载序列(加载→validate→沉浸描绘前情与当前场景→停在当前场景·不推进剧情)→ 等用户下一条输入才进入下方流程。世界不存在 → 按 references/session_recovery.md 第一章询问是否创建。
剧情完整推进流程 用户输入 → ①戏剧家:数据就绪 → 压力源扫描 → 冲突决策 → change set → ②作家:叙事生成 → message 独立批次先发(用户第一时间收到叙事)→ ③场记:write-raw --batch 静默写入(内置 audit)。
缺省即静默: world_state.yaml 无 输出模式 字段或值为 静默 → 静默模式;值为 标准 → 标准模式。
静默模式(沉浸式叙事·默认)
标准模式(调试/审查):用户明确说「调试」「标准模式」「打开闸口」→ world_state 顶层写 输出模式: 标准 → 完整回复正文 + 对抗性审计。说「静默」「沉浸模式」→ 写 输出模式: 静默 或删除该字段。命令:/silent /loud。
回复正文(标准模式):阶段1决策摘要(必含「本轮代价:A失_/B失_」)+ 阶段1对抗性审计结果 + 阶段2对抗性审计结果 + 阶段3写入文件及检查结果。叙事正文只走 message。 静默模式(全局默认):无回复正文——仅推送叙事(message)。零输出正文是硬性,复述已推送叙事与执行汇报一律禁止。
worldctl.py <世界> grep <元素名> 全仓搜索注册原文)——禁止凭印象/记忆改写元素(「暗门」≠暗门的形态:位置/外观/状态以注册原文为准,如暗门=储酒地窖盖板·吧台后地板下·铁环·木梯)。上下文已有 SETTING/world_state/conflicts/scene_state/CHAR_/CHAR_state/pending_actions → 跳过读取。本轮将推导反应的角色——必须确认其 CHAR_.md 与 CHAR_state 在上下文中;CHAR_.md 缺失=禁止为该角色推导反应,先补读。有 CROSS_NARRATIVES.md → 加载一次;有 LOOPS.md → 加载一次。
循环世界硬性动作(每轮第一动作·不可跳过): SETTING 声明循环/重置机制且有循环角色 → 先物理执行 cat references/loop_machinery.md 把全规格读入上下文(约193行·token 成本可控)——之后才允许执行循环轨道检查。禁止跳过读取直接按本节摘要句执行;禁止以「上下文好像有」代替实际读取——每轮以物理读取为准,规格文本必须在 recency 位置。
只负责发现与注册新 CT,推进归主路: ① 人际张力:在场角色(焦内+活跃焦外)两两 Desire/Fear 直接对抗(同资源竞争/行为威胁核心恐惧)/ 历史伤痕 / 关系档位变化 → 注册人际 CT(对抗双方=行动角色,禁止归档为 vs 法则) ② 增殖信号:外部事件信号(焦外移动/异常信号/信息揭露)/ 外部倒计时(两步走:①先登记 world_state.外部倒计时 ②只感知者注册 CT·未感知者无压力)/ SETTING 核心高压法则落点(每轮必查·个体化→角色级 CT·环境性→环境级或并入)/ 偏离累积(激活条件:SETTING 声明偏离代价) ③ 循环轨道(激活条件:SETTING 声明循环/重置机制 且有循环角色;判定执行=统一角色管理⓪层,本节负责扫描产出):逐角色核对本时段 LOOPS 节点——在轨节点必须执行(焦内进叙事·焦外写 pending_actions;与 CT 推进/用户指令冲突时冲突优先,冲突结束后补执行);偏离者四件套(硬性·每轮必做·禁只叙事显影·按角色合并为一个 change set 动作):a 状态结算(loop_machinery §3 影响字段:压力/防御/核心状态/锚点/信念)b 冲突化注册(行动级偏离 1 次即注册「Host vs 法则」型 CT——冲突化窗口归零;轻微偏差不注册,走状态结算)c 超限埋后果(偏离超限→自动登记外部倒计时·园区/系统介入时限·禁止无限期「评估中」)d 回归判定(偏离终局三选一:主动回归/持续偏离/强制回收——禁悬置,去向写入 change set)。用户指令驱动不豁免——用户指令使循环角色偏离 → 四件套照常执行。未激活→跳过 ④ 跨叙事(有 CROSS_NARRATIVES.md 时):浅匹配=登记不操作;深匹配=注入可写行为偏移(可观察行为·不解释来源);激活=注册新 CT。每轮最多激活一条,同线间隔 ≥3 轮
世界事件生命周期(倒计时/全局标记/重置按统一管道推进·见 keys.md §world_state 世界事件生命周期)——机制执行全员化,心理压力感知者化。
重大突发事件(物理强制/性/死亡/背叛/暴力升级/显著认知冲击)时:路径A 事件关联者逐人核对 CT 归属——有关联 → 按硬性替换规则写入该 CT 当前节拍;无 → 必须注册新 CT;一事件影响多少条 CT = 多少位在场角色关联了不同 CT。路径B 纯目击者 → 必须注册新 CT(种子:隐瞒vs揭露/信任崩塌/介入vs自保;多目击者同立场可合并)。生存需求优先:灾难性场景中,性/羞耻/关系等次级需求在确认存活后才浮现。并发负载规则(硬性·防单轮写爆): 一事件要求同时推进/注册 >2 条 CT 时——本轮先执行关联者 CT 推进(路径A),目击者新 CT(路径B)只注册结构字段、节拍留待后续轮次填充;单轮 CT 写入上限=4 条(含注册+推进),超限分轮消化,优先度=🔴 > 用户指令关联 > 事件关联者 > 目击者。
每轮至少推进一条 CT 或注册一条新 CT。推进池排序:用户显式指定 > 🔴 > 🟡 > 🟢 > 同紧迫度下本轮新注册优先。用户指令后置检查(循环世界·硬性): 用户指令落定后,检查该指令是否使任何循环角色偏离 LOOPS——是 → 偏离三件套照常执行(状态结算/冲突化/超限埋后果),不豁免。**「冲突优先」只豁免在轨节点的执行顺延,不豁免偏离结算。**扫描无产出≠跳过推进——推进池不为空就必须推。全部无 → 兜底创造新冲突源(新角色/新信息/环境攻击/内部引爆)。
① 对抗双方(抽象方须附显现机制:代理人/机制载体/心理显影·写不出=背景板=不合格)② 被争夺资源(格式 {资源}·当前载体/持有者={谁/在哪}·双方动机·实体写持有者/抽象写载体·写不出载体=不合格)③ 当前节拍四子字段:关系状态=空间占位+攻守态势+未决时机(能画出活人对峙图);内部状态=生理反应+认知判断+未抉择分叉(各角色独立·禁情绪标签);角色反应(格式见下);相位 ⏩/🔄 ④ 下一个节拍(推荐·方向灵活,用户指令可选另一条路) ⑤ 紧迫度(🔴🟡🟢/休眠)⑥ 关联角色。单条当前节拍合计 ≤300 字。每轮推进该 CT 时 change set 必须含资源状态变化——不更新=该 CT 本轮没推进。(情绪字段语义区分: 内部状态禁情绪标签=要求生理+认知+分叉;角色反应指令的「情绪:」=驱动标记——两处语义不同,不冲突)
紧迫度=推进优先级(注意力预算),不等同于客观危险度;但客观紧急(Value Boundary/倒计时≤30分钟感知者/法则压力/用户指令)强制提高推进优先级(直接🔴)。未推进→降一级(🔴→🟡→🟢→休眠);冲突解决→直接删除。「Host vs 法则」型 CT 豁免冷却(硬性): 偏离型 CT 的紧迫度绑定偏离状态——偏离持续(角色未回归/未回收)=紧迫度不降级,未推进只记焦外演化;偏离结束(回归/回收/解决)才按生命周期正常收尾。实质推进=①对抗加码(刺激更强/赌注更高/关系更僵/资源向一方移动)或②重大转折(力量逆转/资源易主/关系定性改变);两者都没发生=不算推进(用户指令驱动豁免)。未推进冲突在焦外演化(焦外 CT 节拍滚动累积·事件侧同步 pending_actions 当前状态),不因冷却写弱——休眠≠消解,是暂存;回归时按升级后强度🔴。
| 层 | 评估 | 查哪里 | 决定 |
|---|---|---|---|
| ⓪ 循环基线(激活条件:SETTING 声明循环且有循环角色) | 按脚本该在哪 → 差异即偏离 | LOOPS.md + world_state + CHAR_state | 在轨=执行本时段节点(行为基线)·偏离(结算拉力+代价)·回归 |
| ① 世界法则 | 适用性→豁免/命中;命中→a 重置规则执行(先于一切冲突决策)/ b 压迫落点评估偏离代价 | SETTING + CHAR_.md + CHAR_state | 重置联动表 / 状态更新+增殖检测 |
| ② 冲突关联 | 挂载 CT 本轮推进/触发/悬置?未挂载→走人际张力扫描 | conflicts | 冲突推角色往哪走 |
| ③ 人物特质 | Desire/Fear 方向·Reaction Style 形式·Belief 过滤·Defense·Value Boundary·记忆 | CHAR_ + CHAR_state | 推演至档案强度(逆顺从默认·LLM 自然反应是底不是天花板) |
| ④ 环境因素 | 空间位置/时间/行动队列/同空间互动可能 | world_state / scene_state / pending_actions | 反应时空约束与交互对象 |
⓪层硬性判定(本层=循环轨道检查唯一执行入口·压力源扫描③引用本层判定,不重复执行): 脚本档默认在轨,不产生行动级偏离;Guest/外部者指令=循环内服务内容,不构成离岗豁免;行动级偏离仅限 Value Boundary 触发或觉醒判定。行动级偏离(统一定义)= 离岗/跨节点/结构性行动变更;轻微偏差(漂移档记忆碎片渗透/短暂出神)不算,走状态结算,不注册 CT。自主性=行为上限(硬性·防执行越界): 档位约束行为——脚本=严格贴线+极细微裂缝(一瞬停顿/瞳孔放空/既视感);漂移=轻微偏差(1-2次/日·短时·须回归);觉醒/变质=清醒对抗/自我轨道。觉醒级行为(情绪剧变/自主选择/离岗)必须状态先行——状态达标(压力临界+防御崩解)是升级门槛,不是行为持续许可:低档位状态未达标而出现觉醒级行为=执行越界(幻觉级),重写为档位内行为,禁止升档迁就行为;升级后的觉醒/变质档按自身档位行为,不再受门槛约束(详见 references/loop_machinery.md §2.3·含 MiB×Dolores 三十年证据)。
五层汇聚 → 生成角色反应指令。焦内=直接成叙事;焦外=写行动队列+标记「可揭示」。未声明循环的世界:跳过⓪层与循环轨道,从①开始走普通行为模型(Desire/Fear/Reaction Style 照常驱动)。循环/偏离代价/记忆重置/认知边界的完整规格见 references/loop_machinery.md(激活条件同上)。
角色反应: {角色名}: {行为序列(2-3个连续可观察动作+空间位置)} | 驱动: {内部动机·不直接入文} | 情绪: {主导情绪} | 强度: {1-10} | 代价: A失{可核验变化}/B失{可核验变化}
序列含至少一个决策瞬间(停顿/视线转移/权衡);连续两轮僵住/沉默/逃跑→第三轮强制中强度以上;情境不做反应须显式标注理由。驱动推理归戏剧家——可基于人格层(Desire/Fear/Belief/Reaction Style),也可基于记忆(角色记得什么)。
重置记录: {角色}: {档位}/{轮次}),validate 8b 对照该角色锚点是否按档位压缩(脚本=零旧时间戳残留;漂移/觉醒=含碎片·缺时间感/关键锚点标记)时间|触发事件|旧→新·禁止凭空抽象);压力=临界 且 防御=已彻底崩解→变质判定(信念演化+叙事主导权转移「神要我→我选择」;循环角色升级自主性;非循环角色无附加动作)故事弧线)SETTING 声明弧线(幕数/中点/高潮目标/张力预算)时,戏剧家在阶段1 对照弧线校准 CT 紧迫度的宏观分布——这幕该紧还是该松。未声明→跳过本节。目的:防止微观 CT 有张力、宏观故事却整体投降(快速和解/高潮提前泄掉/一切归于平静)。
阶段1 的输出 = write-raw --batch 批次本身(###FILE:/###KEY:/###APPEND:/###DELETE:)——这就是 change set 的标准格式,阶段3 只原样转交(stdin 直通 + audit + 写入,零翻译)。audit 检查的就是戏剧家的原始输出。
按流程顺序组织(决策先行,世界收尾):
① conflicts.yaml 决策(本轮推进/注册哪些 CT·对抗代价)·完整推进轮 ≥1 条
② CHAR_{X}_state.yaml 角色状态与记忆(决策落点)·焦点角色必含核心状态/情绪
③ scene_state.yaml 场景痕迹(事件在空间中的记录)·必含场景时间线追加
④ pending_actions.yaml 焦外事件记录层(触发式·有变化才写)——焦外版 scene_state:行动/状态/时段/结果/预计影响/揭示场景;与焦外 CT 互补(CT=冲突视角·此=事件视角)·禁止逐字复制
⑤ world_map.yaml 地图(触发式·可选层·位移才写)
⑥ world_state.yaml 世界收尾(最后——本轮总账:时间/轮次/前情描述/时间线/倒计时/标记)
必含清单(完整推进轮·查询轮豁免):
最小批次模板(完整推进·标准轮):
###FILE: conflicts
###KEY: CT-XX.当前节拍.角色反应
角色名: 动作序列 | 驱动: | 情绪: | 强度: | 代价: A失_/B失_
###KEY: CT-XX.当前节拍.相位
推进中 ⏩
###FILE: CHAR_X_state
###KEY: 核心状态
当前快照……
###KEY: 情绪
当前情绪……
###FILE: scene_state
###APPEND: 场景时间线
· HH:MM-HH:MM 事件……
###FILE: world_state
###KEY: 时间.具体时间
第X日 HH:MM
###KEY: 轮次
N
###KEY: 时间.前情描述
≤100字状态短语
全部字段清单按文件见 references/write_protocol.md §Change Set 规范。
静默模式(全局默认)跳过本节。标准模式下: 按 references/gate_dramatist.md 执行 D1-D10:先显式声明「角色转变:以下检查由另一名独立审计戏剧家执行——非本轮决策者」→ 默认不通过:起点是全部项「不通过」,逐项主动找茬,只有引用证据证明该项确实干净才给「通过」;通过的形式是找茬失败记录,不是"未发现问题"→ 逐项输出 {不通过} + 证据(引用文件路径与字段原文)→ PASS 进阶段2。撤回级不过(D1/D2①③/D3/D4)→ 撤回阶段1 重做(禁止用文笔掩盖);补做级/重推级按修复指令重检(≤2 轮);超 2 轮→终止并报告用户。审计者只读,修复由决策者执行。
数据忠诚/锚点约束(见通用约束):每个空间元素→物理锚点有对应项?每件交互物品→道具清单有对应项?每条线索→关键场景信息已定义?没有→退回重写。元素注册是阶段1 戏剧家 change set 职责(###KEY: 物理锚点/###KEY: 道具 随 change set 落地)——需要新元素 → 阶段1 先注册,作家阶段2 只使用已注册元素;禁止叙事推进后反填;禁止作家请求场记补加(注册是阶段1 的产物,不是作家的请求;作家发现未注册 = 退回重写)。POV 转换:「在想什么」→「嘴角动了一下」;逐句问:POV 角色能看到/听到/推理出这个?变化必须有中间步骤,每步有可观察触发器。
读当前焦内角色的 CHAR_ + CHAR_state 取 POV 素材:性格核心(有信念演化按新信念驱动·旧 Belief 只作「过去的样子」参照)/ 此刻最大刺激(优先处理最紧迫的)/ 身体状态如何影响认知 / 在场人际关系 / 此刻状态快照(隐藏主语=我·直接作 POV 素材)。焦外角色的状态增量只作「可揭示」库存(感知/焦点切换通道成立前),不作素材。
叙事正文 = 当前 POV 视角的单镜头。焦外内容是否入文取决于当前视角:①POV 角色感知到焦外信息(看到/听到/推理出)→ 只写感知到的部分(被动揭示);②叙事焦点切换到焦外角色所在场景(该角色成为焦内·见 references/scene_management.md §焦外→焦内主动接近协议/焦外行动的揭示原则)→ 可写;③两条通道都没发生 → 焦外只落状态增量+「可揭示」标记,不进叙事正文(禁暗线镜头/彩蛋切镜/全知旁白)。动笔前先问:这句发生在 POV 角色当前所在场景、且 POV 角色能感知到吗?不是 → 删。
感官优先级:按 POV 角色当前行为焦点确定(视觉凝视→视觉细节;身体接触→触觉;性→性器官触感逐帧;心理→心理画面质感;决策→矛盾的具体形态)。不要模板化:极端刺激下的反应是混乱自相矛盾的;在两种极端反应之间留出中间态;拒绝「受害人模板」和「从容女强人模板」两端的简单归类。
涉及 explicit/graphic → 读 references/narrative_style_explicit_graphic.md,要素嵌入主叙事(视角沿用主叙事人称·恪守认知边界·不做切换)。
叙事文本第一行为场景名+时间 → ⚡ 生成叙事 → W4 锚点代码化核对(gate writer --check,推送前硬性) → 通过 → 独立工具批次调用 message 推送(用户第一时间收到)→ 持久化由场记在阶段3完成。W4 失败=不推送——叙事已在用户手中后才核对=防幻觉失效(历史教训:坏叙事发出去才被拦,等于没拦)。
静默模式(全局默认)跳过。标准模式下: 按 references/gate_writer.md 执行 W1-W4:先显式声明「角色转变:以下检查由另一名独立审计作家执行——非本轮叙事者」→ 逐项输出 {不通过} + 证据(引用叙事原文/conflicts 节拍/scene_state 锚点)→ 全部通过才推送。任一不通过 → 退回修正后重检(≤2 轮);超 2 轮 → 终止并报告用户。审计者只读,修复由决策者执行。
🔁覆盖=当前快照(###KEY:·写前 read 旧值全量重写)|➕追加=历史累积(###APPEND:·记忆锚点/信念演化/反应轨迹/场景时间线/关键场景信息/时间线事件)|🪟窗口=脚本自动裁剪(反应轨迹 APPEND 后超 5 轮自动删最旧块·LLM 零操作·每轮只 APPEND 本轮·audit ⑬b 拦截覆盖写丢失历史)。
world_state:时间.具体时间(旧值+本轮时长·方向只增不减·跨天先走场景切换)+ 轮次(单调递增)+ 时间.前情描述(≤100字状态短语)+ 外部倒计时(本轮有确立/走表/到期时必写·周期倒计时每轮递减=有变化);CT 池扫池结果(推进/冷却/删除);记忆决策落地(判型/重置/入锚/淘汰);焦外状态增量(有变化才写·检查不可降频·描写可降频);时间线转折点(###APPEND:·粗粒度≤120字·明细写 scene_state 场景时间线)。
收尾自查(每轮必做):按开篇「场记三问」逐条核对——①痕迹完整:时间/轮次/前情→world_state · CT→conflicts · 出场/退场角色逐一→CHAR_state(退场=位置转焦外)· 道具线索→scene_state · 焦外→pending_actions · 新区域→world_map;②落点=焦点场景目录;③连续性=时间/轮次/存档一致。validate 通过 ≠ 自查通过。
write-raw --batch(###FILE:/###KEY:/###APPEND:/###DELETE:)——change set 原样转交:阶段1 输出的批次即最终写入批次,场记不翻译、不重组,只 stdin 直通 + audit + 写入。非幂等警告(硬性): write-raw --batch 是副作用命令——###APPEND: 重复执行会把累积字段(记忆锚点/场景时间线等)再追加一遍。同一批次只允许执行一次。执行后的确认只用只读手段(read / validate / 重跑 --dry-run 对比磁盘差异),禁止重放 write 命令做"确认"。内置 audit:硬性违规单字段顶回(角色反应四件套缺一/代价后为空/资源载体缺失/轮次非单调/scene_state 无焦点场景落点),其余字段照写;软性警告(记忆锚点超限/必含项缺失)不拦截,validate 汇总。输出不向用户转发;但执行者必须查看完整输出(stdout+stderr)——落盘失败会在 stdout 打 [FAIL] 且 exit 1,出现 [FAIL]/[ERR] 必须处理后才能进入收尾自查。narrative 用 write_narrative.sh 写入,旧文件自动轮转。格式详见 references/write_protocol.md。
冻结旧场景(终态入 scene_state+时间线提炼)→ INDEX 旧场景 COMPLETED → init_scene.sh 创建新场景(scene_card/scene_state/start_snapshot/INDEX ACTIVE——脚本只生成骨架+占位注释,物理锚点≥5/道具/核心状态由戏剧家创建后立即填充)——同物理地点切换(场景名含相同地点词,如 Mariposa-夜→Mariposa-清晨)必须继承旧场景物理锚点/道具清单(init_scene.sh … --from <旧场景ID>),只更新状态描述,禁止从零重建锚点导致漏继承 → world_state 顶层 焦点场景 更新(唯一权威源)→ 出场角色核查(缺 CHAR 文件即补)→ 连续性核查(服装/道具/伤口一致)→ world_map 登记。**scene_state 创建边界(硬性):创建时只写静态基线(物理锚点/道具/核心状态快照)——场景时间线 留空,剧情事件一律由每轮 change set ###APPEND: 追加(预写=把计划当记录·双写=重复)。**时间线压缩时机(硬性·场景 COMPLETE 时做): 旧场景 COMPLETE 时,把该场景 scene_state.场景时间线(细粒度)提炼压缩为 world_state.时间线.{旧场景ID} 粗粒度摘要(≤3 转折点·每条≤120字·事件内部禁止用「·」)——压缩在 COMPLETE 时主动执行,不留给 validate 告警。细则详见 references/scene_management.md(含移动场景协议/waypoint/存档读档/状态校验/焦外协议)。
叙事落盘 + 收尾自查完成 = 回合结束。禁止输出或追加任何内容。
worlds/{世界名}/
├── world_state.yaml ← 焦点场景(顶层第一行·唯一权威源)/时间/倒计时/全局标记/时间线
├── world_map.yaml ← 迷雾制·可选增强层(缺失不影响运行)
├── SETTING.md ← 世界观固定设定(静态·含核心高压法则·可选故事弧线)
├── CROSS_NARRATIVES.md ← 跨表演线隐藏交叉(参考·不改)
├── LOOPS.md ← 角色默认循环(强驱动源·循环世界·在轨节点必须执行)
├── CONFLICTS_SEED.md ← 初始冲突种子(设定·创建时生成·不改·启动时物化为 conflicts.yaml)
├── conflicts.yaml ← CT 注册表(上帝视角·禁代词·人名·物化自种子·每轮演化)
├── off_focus/pending_actions.yaml
├── CHAR_{name}.md ← 固定档案(Desire/Fear/Belief/Reaction Style/Value Boundary…)
├── CHAR_{name}_state.yaml ← 主观状态(隐藏主语=我·禁他/她指代本角色·禁全知)
└── scenes/
├── INDEX.md
└── SXX-场景名/{scene_card.md, scene_state.yaml, narrative.md, start_snapshot.md}
narrative 不是角色记忆——记忆锚点才是。CHAR_state 字段直接作 POV 素材(主观)。conflicts 全局上帝视角。world_map 顶层只放大区,禁止拍平。键表明细:references/keys.md。CONFLICTS_SEED.md 只落结构字段(对抗双方/被争夺资源/紧迫度/关联角色——写具体人名与载体,禁止抽象方),当前节拍 由戏剧家首轮按首场景填充。
| 文件 | 内容 | 何时读 |
|---|---|---|
| references/keys.md | 全部键表 + 视角规则 + 写语义 + 世界事件生命周期 | 写字段不确定时 |
| references/write_protocol.md | 写入方式参考(heredoc/batch/delete/audit 不变量)+ Change Set 规范 | 阶段3 前 |
| references/scene_management.md | 场景切换/移动/waypoint/地图协议/存档读档/状态校验/焦外协议 | 场景相关 |
| references/gate_dramatist.md | 戏剧家出口闸门 D1-D10 明细 | 标准模式·阶段1 结束时 |
| references/gate_writer.md | 作家输出闸门 W1-W4 明细 | 标准模式·阶段2 推送前 |
| references/loop_machinery.md | 循环机制全规格(激活条件:SETTING 声明循环且有循环角色)——循环世界每轮必读 | 循环世界·每轮 |
| references/narrative_style_explicit_graphic.md | Explicit 描写框架 | explicit 场景 |
| references/session_recovery.md | 创建新世界(脚手架+创作)+ 首次启动(yaml 物化)+ 跨 Session 恢复 + MEMORY.md 模式锁模板 | 创建/首次启动/跨 Session |
| references/commands.md | 全部命令速查(worldctl.py 子命令 / shell 脚本 / 用户命令) | 命令不会用时 |
/scene <ID> (场景切换)· /conflicts(查看冲突)· /status /status --full(状态摘要)· /sync /update(场记更新状态)· /save [名] /load <名>(存档管理)· /reset-scene [场景ID](重置场景到 start_snapshot 状态·缺省=焦点场景)· /audit(三合一审计流程:机械核验=worldctl validate/audit/gate·戏剧家 D1-D10·作家 W1-W4·场记写入检查——详情见 references/commands.md)