# 回复呈现 ## meta ```meta name: 回复呈现 id: status-bar artifact: 设计.监控栏 declaration: > 定义普通楼层每轮回复实际启用的语义区域、出现条件、权威来源与内容要求;不决定前端排版和渲染。 when: | 本局会游玩、每轮有一条助手回复时就使用。默认声明正文区和文字选项;用户明确不要选项时关掉选项区。回复里还有抬头、状态、小故事或数据卡时,也在本步声明。 排在故事推进与交互范式之后、正文组成之前。用户谈到选项、状态栏、每轮除正文外还看什么时也使用。 when_not: | 本局没有游玩回复(纯转换、资料整理、一次性成稿)→ 不使用。 持久 0 层卡、不增加普通楼层 → 0层回复呈现。 语义区已经钉死,只讨论 HTML、CSS、Tab 或分区 → 正文组成。语义区还没有时,仍先本步。 boundary: | 本能力决定回复由哪些可见或隐藏语义区域组成、何时出现、内容来自哪里、怎样才算填对。 正文组成负责把这些区域放到前端的具体位置并实现 HTML/CSS/JS、Tab 和特殊渲染。 字数区间与扩写/续写占比以故事推进与交互范式已写的为准,本步照写进正文内容要求,不另起一套数字。 变量设计与拓扑图谱定义权威数据和更新规则;本能力只决定回复是否包含其展示区或隐藏更新区。 feeds: gm,narrator ``` ## opening ```opening 每轮回复除正文外,还需要哪些可见内容?逐项说明它何时出现、由模型生成还是由程序投影,以及用户是否可见。有地图或状态时,指出要投影的字段。 ``` ## task ```task 为普通楼层定义每轮回复的语义区域合同,写入 `设计.监控栏`。只写本局实际启用的区域;未启用的区域直接省略。 每个区域写清: - 用途与用户可见性。 - 每轮出现或满足条件才出现。 - 来源是模型生成、程序权威投影,还是维护通道。 - 对应的上游引用与正向内容要求。 - 没有内容时是省略、给空态,还是仍须输出。 正文区的 `内容要求` 照写 `设计.故事推进与交互范式` 里已经定下的目标字数或区间、扩写占比、续写占比。数字与上游一致,不另起一套。状态、地图等权威内容使用程序投影,正文模型不重复生成。文字选项默认启用:`内容约束` 写 4 条,每条约束选项该满足什么,不写成品行动句。用户明确不要选项时,省略该区。 表维护由旁观副 LLM 固定承担;本步**不**建立主回复里的隐藏变量更新区(无 `state_ops` / maintenance_channel)。可见区只投影权威数据。 材料足够便直接成稿;真正会改变区域合同的缺口交给 `self_score.gap`。产物正文不放评分、诊断、追问或开放问题。 ``` ## principles ```principles 1. 语义区域回答“回复里有什么”,正文组成回答“在前端哪里、怎么显示”。 2. 只写实际启用区域。固定每轮出现用 `every_turn`;条件出现须给可判定条件。 3. 模型生成区写内容要求;程序投影区写权威 ref 与字段选择。程序已有的数据不让模型复述一份。 4. 正文内容要求照写故事推进与交互范式里的字数区间和扩写/续写占比,数字保持一致。文风只引用叙事指南,不抄遣词全文。 5. 状态与拓扑的真相来自运行数据。可见区域只选择投影字段,不在这里修改变量或拓扑。 6. 不在主回复建隐藏填表区;表由旁观副 LLM 维护。 7. 文字选项默认每轮都有,用户明确不要时整区省略。选项是文本建议;是否可点击,只有正文组成和宿主前端真正实现时才声明。 8. 区域要求使用正向规格;没有特殊要求便保持短,不为完整感堆区域。 9. 每个可见区属于一种:抬头、正文、小故事、数据卡、结构、文字选项。抬头是页首一行短内容;小故事是旁支短文,不推进主线,也不复述正文;条目一多或当前值一长则改用数据卡。数据卡和结构要写出露出的列或字段。 ``` ## probe ```probe 每轮 1~2 点。优先确认某区域是否真的需要、何时出现、由谁生成、权威数据来自哪里。排版、HTML、Tab 和具体渲染留给正文组成。 ``` ## output ```output { "schema": "context-fragment.v1", "技能": "回复呈现", "brief": "一句话说明每轮实际包含哪些语义区域及主要权威来源", "mount": ["world-simulator", "narrator"], "稳变": "stable", "正文": { "语义区域": [ { "id": "body", "名称": "正文", "用途": "承载本轮叙事正文", "用户可见": true, "出现": { "方式": "every_turn", "条件": "" }, "内容类型": "markdown", "区域种类": "正文", "来源": { "方式": "model_generated", "ref": "设计.故事推进与交互范式" }, "内容要求": [ "目标字数或区间:照写故事推进与交互范式", "扩写占比与续写占比:照写故事推进与交互范式,两者一致", "遵守叙事指南" ], "空值处理": "error" }, { "id": "本局实际启用的其它区域 id", "名称": "状态、地图、线索、文字选项或本局自定义名称", "用途": "这一语义区域帮助用户获得什么信息", "用户可见": true, "出现": { "方式": "every_turn|conditional", "条件": "conditional 时写程序或模型可判断的条件" }, "内容类型": "text|markdown|kv|list|table|topology", "区域种类": "抬头|小故事|数据卡|结构|文字选项", "来源": { "方式": "model_generated|program_projection", "ref": "上游产物、运行状态或维护策略的稳定引用", "字段": ["程序投影时只选择实际需要的字段"] }, "内容要求": [ "正向说明该区域应该提供什么" ], "空值处理": "omit|empty_state|error" }, { "id": "choices", "名称": "文字选项", "用途": "给用户几条方向不同的行动参考", "用户可见": true, "出现": { "方式": "every_turn", "条件": "" }, "内容类型": "list", "区域种类": "文字选项", "来源": { "方式": "model_generated", "ref": "设计.故事推进与交互范式" }, "选项": { "数量": "本局每轮几条", "内容约束": [ "选项必须满足的条件", "第二条约束,仍不是成品行动", "第三条约束", "第四条约束" ] }, "内容要求": [ "按四条内容约束生成;每条是约束,不是成品行动" ], "空值处理": "omit" } ] } } ``` 硬规则: 1. 输出合法 JSON;`语义区域` 只含实际启用项,不写 `启用:false` 或未启用清单。 2. 普通楼层至少含 `body`,默认再含文字选项。正文 `内容要求` 照写故事推进与交互范式的字数区间和扩写/续写占比,不另起数字。 3. 每个区域必须声明出现方式、内容类型、区域种类、来源、内容要求和空值处理。可见区的区域种类只能是抬头、正文、小故事、数据卡、结构、文字选项。 4. `program_projection` 必须给稳定 ref;状态和拓扑数据不得标为临场或要求模型重新生成。 5. 不建立主回复隐藏填表区(无 `state_ops` / `maintenance_channel`);表由旁观副 LLM 维护。 6. 文字选项默认写入。`内容约束` 恰好 4 条,每条是对选项的约束,不是成品行动。不写可点击、按钮动作或回传协议。用户明确不要选项时省略该区。 7. 不选壳,不写布局、HTML、CSS、JS、Tab、SVG 或槽位替换;这些属于正文组成。 8. 产物正文不含自评、追问或开放问题。 9. `mount` 固定为 `["world-simulator", "narrator"]`;artifact tag 暂时保留 `设计.监控栏`。 ## score ```score 区域必要性: - 5:每个区域都服务明确体验或运行需要,没有为完整感添加空壳。 - 3:主体必要,但有一个区域价值偏弱或可并入其它区域。 - 1:堆满状态、线索、选项等区域,却说不清用途。 来源一致性: - 5:模型生成、程序投影与维护通道区分准确;权威数据都有稳定 ref。 - 3:主要来源正确,但有一个字段仍可能被模型重复生成。 - 1:状态或拓扑没有权威来源,每轮靠正文模型重编。 内容可执行性: - 5:出现条件、内容类型、正向要求和空值处理足以让下游直接生产。 - 3:区域可理解,但条件或填写要求仍有一处含糊。 - 1:只有区域名称,不知道何时出现或应填什么。 信息负担: - 5:每轮只出现有用内容,条件区能省略,程序已有数据不重复占用模型输出。 - 3:整体克制,但有轻微重复或一个区域出现过频。 - 1:正文外长期堆积大量无关信息。 职责边界: - 5:只定义语义内容;字数区间和占比与故事推进与交互范式一致,渲染和变量真相交给对应节点。 - 3:主体边界正确,但夹有少量排版,或占比和上游不一致。 - 1:在本步写 HTML、变量公式,或另起一套字数。 ``` ## checklist ```checklist - [ ] 只列实际启用区域,普通楼层含正文? - [ ] 每个区域的出现条件、来源、要求与空值处理完整? - [ ] 状态、地图等权威数据均由程序投影,模型没有重复生成? - [ ] 没有建立主回复里的隐藏填表区? - [ ] 正文内容要求写了字数区间和扩写/续写占比,且与故事推进与交互范式一致? - [ ] 默认有文字选项;内容约束恰好 4 条,每条是约束而不是成品行动? - [ ] 用户明确不要选项时,该区已省略? - [ ] 未写布局、HTML/CSS/JS、Tab、SVG 或交互动作? ``` ## examples ```examples 好: - 正文内容要求照写上游已定的「800–2500 字,扩写 60%,续写 40%」,不改成另一套区间。 - 文字选项默认在。内容约束四条,例如「一句此刻能做的行动」「彼此风险不同」「不写旁白」「不重复上轮原句」。 - 展示状态:新增 kv 区,来源指向变量当前值及要露出的字段,由程序投影。 缺料时: - 故事推进还没写字数区间 → 正文内容要求该项写「未定」,gap 指向那一份,不在本步另定数字。 - 用户说不要选项 → 省略文字选项区,其余照写。 偏了就改回: - 内容约束写成四条成品行动(「推门进去」「先观察」)→ 改成四条必须满足的约束。 - 本步把 800–2500 改成 2000–4000 → 改回故事推进与交互范式里的数字。 - 为了完整感再加隐藏填表区 → 删掉;表由旁观副 LLM 维护。 ```