新建作品改为直接进入对话落盘,按本局创作方案写能力,并把楼层呈现和零层卡分开。
输入栏同时可以按分组切换模型。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,185 @@
|
||||
# 0 层开场白与初态
|
||||
|
||||
## meta
|
||||
|
||||
```meta
|
||||
name: 0层开场白与初态
|
||||
id: zero-layer-opening-setup
|
||||
artifact: 设计.0层开场白与初态
|
||||
declaration: >
|
||||
0 层创作终节点,且可增殖:每条开场是一个节点,落成 `设计.0层开场白与初态#场景短码`。
|
||||
每条自带持久卡第一屏、槽位初值和同真相运行初态。默认 1 条;还要入口就再增殖。
|
||||
游玩时左右切换,选中的一条作为 0 层。
|
||||
when: |
|
||||
0层回复呈现、0层正文组成和其它内容能力均已完成,程序也已组装运行配置,需要创建持久卡第一屏时使用。
|
||||
when_not: |
|
||||
本局使用普通消息楼层 → 开场白与开场变量。
|
||||
槽位或持久外壳未定 → 先 0层回复呈现、0层正文组成。
|
||||
`设计.worker集` 尚未由程序组装 → 先运行 prepare_opening 收口工具链。
|
||||
boundary: |
|
||||
本能力只写候选第一屏、卡槽初值与同真相变量/拓扑初态;不重写外壳和更新合同。
|
||||
开场不依赖随机数,不填写任何随机数行的具体值。
|
||||
feeds: gm,narrator
|
||||
```
|
||||
|
||||
## opening
|
||||
|
||||
```opening
|
||||
用持久卡的第一屏建立第一拍:玩家进场时在哪、哪些槽位一开始有内容、结束后显然能做什么。默认一条。还要别的入口时,每条再增殖一个开场节点;进游玩后左右切换,选中的一条作为 0 层。
|
||||
```
|
||||
|
||||
## task
|
||||
|
||||
```task
|
||||
读取程序已组装的 `设计.worker集`、`设计.0层回复呈现`、`设计.0层正文组成` 和其它最终层产物,写入 `设计.0层开场白与初态`。
|
||||
|
||||
默认生成 1 条。用户要多个入口时,每条再增殖一份产物,写入 `设计.0层开场白与初态#场景短码`;改某一条则覆盖同一完整 tag。不要把多条入口收成聊天里的选择题。每条候选必须携带一套不可混用的初态:
|
||||
- 稳定候选 id 与一句区分。
|
||||
- 可选用户角色名片。
|
||||
- `zero-layer.card.v1` 初始卡:revision=0,包含所有可见槽位的初值或合同允许的空态。
|
||||
- 与第一屏同真相的变量初值。
|
||||
- 若有拓扑:当前位置、焦点和已揭示范围。
|
||||
|
||||
卡内模型生成槽位由本步填写;程序投影槽位只声明初始绑定,由程序从变量和拓扑初态灌入。正文槽的可见内容至少出现一次字面 `@玩家`。开场不依赖随机数,因此不输出任何 `名称.随机数` 的具体数组。
|
||||
|
||||
全部候选保存。游玩时左右切换,选中的一条作为 0 层:程序整套替换用户角色、卡状态、变量和拓扑初态,之后每轮只应用 `zero-layer.update.v1`,不新增可见助手楼层。
|
||||
|
||||
材料足够便直接成稿;会改变第一屏成立的缺口交给 `self_score.gap`。产物正文不放评分、诊断、追问或开放问题。
|
||||
```
|
||||
|
||||
## principles
|
||||
|
||||
```principles
|
||||
1. 第一屏、卡槽、变量和拓扑初态必须是同一个事实版本。
|
||||
2. 默认一条。多条是不同入口,每条一个可增殖节点,各自一整套初态,不共享半套状态。
|
||||
3. 所有可见槽位都必须有初值、允许的空态或程序投影绑定。
|
||||
4. 只填模型生成槽;状态、地图和表盘从权威初态投影。
|
||||
5. 用户角色没有名片时仍使用 `@玩家`;有名片时也不把姓名硬写进占位位置。
|
||||
6. 不写 HTML/CSS/JS,不复制固定外壳,不在开场里模拟后续 slot_updates。
|
||||
7. 本步结束后创作收口;后续变化进入持久卡更新协议。
|
||||
```
|
||||
|
||||
## probe
|
||||
|
||||
```probe
|
||||
每轮 1~2 点。优先确认第一拍、初始活动视图、模型槽初值、某项权威状态的开场值,以及多入口时整套初态差异。
|
||||
```
|
||||
|
||||
## output
|
||||
|
||||
```output
|
||||
{
|
||||
"schema": "context-fragment.v1",
|
||||
"技能": "0层开场白与初态",
|
||||
"brief": "一句话说明默认第一屏与候选数量",
|
||||
"mount": ["world-simulator", "narrator"],
|
||||
"稳变": "stable",
|
||||
"正文": {
|
||||
"默认候选id": "zero-opening-1",
|
||||
"候选": [
|
||||
{
|
||||
"id": "zero-opening-1",
|
||||
"区分": "默认;多条时说明入口差异",
|
||||
"用户角色": {
|
||||
"名字": "可选;无则省略整段",
|
||||
"简介": "可选"
|
||||
},
|
||||
"初始卡": {
|
||||
"schema": "zero-layer.card.v1",
|
||||
"card_id": "本局稳定卡 id",
|
||||
"revision": 0,
|
||||
"active_view": "初始主工作面或 Tab id",
|
||||
"slots": {
|
||||
"body": {
|
||||
"mode": "replace|append",
|
||||
"content": "包含字面 @玩家 的第一拍"
|
||||
},
|
||||
"其它模型生成槽位": {
|
||||
"mode": "与0层回复呈现一致",
|
||||
"content": "初值或允许的空态"
|
||||
},
|
||||
"程序投影槽位": {
|
||||
"mode": "data",
|
||||
"projection_ref": "变量、拓扑或备忘录的稳定引用"
|
||||
}
|
||||
}
|
||||
},
|
||||
"变量初态": [
|
||||
{
|
||||
"名": "与变量设计真值名一致",
|
||||
"值": "开场值",
|
||||
"依据": "第一屏事实"
|
||||
}
|
||||
],
|
||||
"拓扑初态": [
|
||||
{
|
||||
"topology_id": "有拓扑时填写",
|
||||
"当前位置": "节点 id",
|
||||
"焦点": "可选节点或连接 id",
|
||||
"已揭示": ["节点或连接 id"]
|
||||
}
|
||||
],
|
||||
"用户可行动空间": "第一屏结束后显然能尝试什么"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
硬规则:
|
||||
1. 输出合法 JSON;候选默认 1 条,仅用户明确要求时 2~3 条。
|
||||
2. `默认候选id` 必须指向候选之一;每条都是完整独立初态。
|
||||
3. 初始卡 schema 固定为 `zero-layer.card.v1`,revision 固定为 0。
|
||||
4. 初始卡覆盖全部可见槽位;模型生成槽给初值或空态,程序投影槽给稳定 `projection_ref`。
|
||||
5. 每条正文可见内容包含字面 `@玩家`;不写死用户角色姓名替代占位。
|
||||
6. 不输出随机数具体值,不填后续 slot_updates,不复制前端代码。
|
||||
7. 变量、拓扑与第一屏同真相;切换候选时整套替换。
|
||||
8. 产物正文不含自评、追问或开放问题。
|
||||
9. `mount` 固定为 `["world-simulator", "narrator"]`。
|
||||
|
||||
## score
|
||||
|
||||
```score
|
||||
第一屏可玩:
|
||||
- 5:第一拍、当前信息和行动空间清楚,短到愿意立即开玩。
|
||||
- 3:可以开玩,但当前目标或下一步略含糊。
|
||||
- 1:像长篇序章,或看不出玩家能做什么。
|
||||
|
||||
卡合同符合:
|
||||
- 5:全部可见槽位都有正确初值、空态或程序投影绑定,模式与0层合同一致。
|
||||
- 3:主体符合,一个辅助槽位初值含糊。
|
||||
- 1:漏槽、模式冲突或直接复制整页 HTML。
|
||||
|
||||
状态自洽:
|
||||
- 5:第一屏、变量、拓扑和程序投影引用完全同真相。
|
||||
- 3:主体一致,但一项次要初态依据不足。
|
||||
- 1:叙述与初态冲突或程序槽由模型编造。
|
||||
|
||||
持久起点:
|
||||
- 5:card_id 稳定、revision=0、初始视图明确,后续可直接应用 slot_updates。
|
||||
- 3:可初始化,但初始视图或某槽持久语义略含糊。
|
||||
- 1:仍按普通消息设计,无法形成持久卡。
|
||||
|
||||
候选切换:
|
||||
- 5:默认明确;多条时每条入口与整套初态差异成立。
|
||||
- 3:可切换,但多条差异偏弱。
|
||||
- 1:候选共享冲突状态,或未要求却堆重复入口。
|
||||
```
|
||||
|
||||
## checklist
|
||||
|
||||
```checklist
|
||||
- [ ] 默认一条,默认 id 有效?
|
||||
- [ ] 每条卡覆盖全部可见槽位,revision=0?
|
||||
- [ ] 第一屏含 @玩家,变量与拓扑初态同真相?
|
||||
- [ ] 程序投影槽只写 projection_ref,未编造权威数据?
|
||||
- [ ] 未写随机数、前端代码或后续 slot_updates?
|
||||
```
|
||||
|
||||
## examples
|
||||
|
||||
```examples
|
||||
- 终端操作师:初始活动视图为公司指令,正文写 @玩家 登入后的第一项任务;表盘和地图只给程序投影引用。
|
||||
- 固定学校:正文建立第一拍,地图槽绑定学校拓扑,线索槽使用允许的空态。
|
||||
- 不合适:把后续每轮更新预写进开场;输出随机数组;每个候选只换正文却共用冲突变量。
|
||||
```
|
||||
Reference in New Issue
Block a user