完善创作节点循环与等待态交互,并大幅打磨 Web 壳与会话运行时。
- 节点循环:配方开局直坐 DAG 第一步;验收后先问下一步意向,再确认开干并可钉编排参数;「按意见修改」只重跑当前节点。 - 询问分流:能力 opening 走说话面引导,可跳过追问按题干去重;追问与产物同轮挂载,避免拆成两段历史。 - 运行时:补强 revision 重跑、创作流程合并/进度指针、工具循环与 worker 执行;新增运行日志与 web:watch。 - 前端:统一等待态文案与底栏主按钮,完善询问卡/产物验收/呈现壳样式与交互。 - 同步世界模拟器模块提示、编排文档与相关测试。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -54,8 +54,10 @@ feeds: design_only
|
||||
业务字段全部放在「正文」内;须含 schema / 技能 / brief;建议填 mount 与稳变(本步不写数字 order)。
|
||||
|
||||
一次 design-step、一场对话、一次验收。参与方式与美学内容在同一步内交叉追问,不要先交「半份交互」再开「半份美学」。
|
||||
用户已答过追问:把答复写入正文三块,`追问.题目` 优先 `[]`;禁止在「交互范式」与「美学纲领」之间轮流补洞拖验收。核心体验与权限边界够用即可收。
|
||||
|
||||
若程序已发出默认问题:用户首答在「用户.worker答复」,开场白在「创作.能力开场白」。禁止重复同一开场;在首答基础上补洞、追问、产出。
|
||||
开局通常已由配方写入「设计.创作流程」第一步;若「用户.需求」已有首句:程序会跳过默认问题——首句即本步对话,只补真正缺口。
|
||||
```
|
||||
|
||||
## principles
|
||||
@@ -74,9 +76,11 @@ feeds: design_only
|
||||
## probe
|
||||
|
||||
```probe
|
||||
用户首句或黑板已有的直接采纳。一次 askUser 1~2 点,优先具体选项/短场景。
|
||||
用户首句或黑板已有的直接采纳。一次只在产物「追问」写 1~2 点(建议选项 + 示例);顶层 askUser 留 null,不要同一问写两遍。
|
||||
已有一轮追问答复或核心体验+权限边界已可执行:`追问.题目` 用 `[]`,让用户验收。禁止这轮问交互、下轮问美学地来回打转。
|
||||
|
||||
【默认问题已覆盖】变造(原型+变点)、代入与否、最想感受到的核心。首答后按缺口补,勿重问已答清的。
|
||||
若开场已跳过(用户.需求已有首句):把首句当默认问题的答复,只补真正缺口。
|
||||
|
||||
【参与 · 结构性】
|
||||
- 用户与 <user>:代入程度 / 情感距离 / 控制期待 / 多角色
|
||||
@@ -205,7 +209,7 @@ feeds: design_only
|
||||
2. **公共三段**:`正文`=产物主体;`自评`=完备度打分(**分数 0–10 十分制,禁止百分数**);`追问`=导语+题目(建议选项/示例)。禁止用散文代替这三段。
|
||||
3. **本技正文三块**:`设定逻辑`(参与/内容维度/区域/复杂性/完备度)+ `交互范式` + `美学纲领`。未知省略或「未定」,禁止编造百科。
|
||||
4. `mount` 建议挂主世界层+转述;**禁止**写数字 `order`。`稳变` 定稿后多为 `stable`。
|
||||
5. `追问.题目` 一次宜 1~3 题;有建议选项;允许「其它」。已答清的不要再问。
|
||||
5. `追问.题目` 一次宜 1~3 题;有建议选项与示例;允许「其它」。已答清的不要再问。题目只写在「追问」,askUser 为 null。
|
||||
6. summary:`美学纲领与交互范式 · {brief 缩略}`。
|
||||
|
||||
## checklist
|
||||
@@ -216,7 +220,7 @@ feeds: design_only
|
||||
- [ ] 未写 order、未输出执行单元列表?
|
||||
- [ ] brief 能点题核心体验?变造/代入/满足来源清楚或已标未定?
|
||||
- [ ] 交互范式权限与美学纲领互相保护、不矛盾?
|
||||
- [ ] 追问只打薄弱点,带建议选项?
|
||||
- [ ] 追问只打真正薄弱点,带建议选项?已答过则题目为空、准备验收?
|
||||
- [ ] 有没有为「完整」强行填充百科或偏离用户核心?
|
||||
```
|
||||
|
||||
|
||||
@@ -46,11 +46,11 @@ modules:
|
||||
- key: target
|
||||
label: 生成对象
|
||||
required: true
|
||||
hint: 本轮为哪一类内容建规则;编排时 askUser 给选项+其它
|
||||
hint: 本轮为哪一类内容建规则;编排时 askUser 给选项+其它;用户改对象时必须同步改 rule_id 与步骤 id
|
||||
- key: rule_id
|
||||
label: 规则 id
|
||||
required: false
|
||||
hint: 建议英文 kebab-case;可执行时再最终钉死
|
||||
hint: 英文 kebab-case,须与 target 对应(女租客→female-tenants,丧尸→zombies);改对象时禁止沿用旧 id
|
||||
- key: lifecycle_intent
|
||||
label: 生命周期意图
|
||||
required: false
|
||||
|
||||
@@ -68,6 +68,7 @@ feeds: gm,auditor
|
||||
4. 写满规则三块:生成与描写(可较长)+ 产物格式(**单层 JSON**:每条产物是一层键值,无嵌套对象)+ 池(需要才填;绑顶层字段)。
|
||||
5. 逐字段过筛:每个属性都要能回答「对本对象族是否必要」。冗余字段删掉(如女主规则里的「性别」);对象族必需字段不得漏(如 D&D 怪物的等级、攻击骰)。
|
||||
6. `rule_id`:params 已给则用;否则稳定 kebab-case。已有产物按 rule_id 增量。
|
||||
若本步对象与 params 不一致(用户中途改了对象),以最新对象为准并重钉对应英文 rule_id,禁止沿用旧 id。
|
||||
7. 按自评三维打分并填追问;输出 JSON。禁止夹带最终实例 records。
|
||||
|
||||
若程序已发默认问题:禁止重复开场;在首答上补洞。
|
||||
|
||||
@@ -32,6 +32,17 @@ feeds: gm
|
||||
## opening
|
||||
|
||||
```opening
|
||||
核心体验已有方向时,用几句话想想:它具体靠什么撑住?(想到什么写什么,不必整齐;点名即可,不必论证来源或补起源史。)
|
||||
|
||||
1. 这体验主要靠哪些东西成立?
|
||||
角色的某一面、一段关系、世界条件、规则或情境……用你自己的词点名。
|
||||
例:丈夫会把异常证据合理化;力量越用越侵蚀自我;村里每年必须献祭才能过冬。
|
||||
|
||||
2. 拿掉或改弱哪一样,核心感觉会明显变味甚至垮掉?
|
||||
一句话即可——只点「缺了就不对」的,装饰和以后再展开的先别列。
|
||||
|
||||
3. 若已有具体画面或作品参照,它主要指哪一切面在撑体验?
|
||||
例:信息差、无法撤销的前提、身份代价、循环反馈……不必复述整部设定。
|
||||
```
|
||||
|
||||
## task
|
||||
|
||||
@@ -34,14 +34,14 @@ feeds: narrator
|
||||
```opening
|
||||
本局在固定呈现壳上做适配(不是设计新界面)。
|
||||
|
||||
0. 七选一壳(主面积给谁):
|
||||
· prose — 纯散文(正文≈全屏)
|
||||
· chat_monitor — 对话 + 顶栏芯片
|
||||
· spotlight — 场面主视(正文最大)
|
||||
· turn_panel — 回合面板(场面+侧栏交互)
|
||||
· split_board — 双栏(左故事·右线索)
|
||||
· choice_dock — 选择坞(底部大行动区)
|
||||
· chapter_reader — 章节阅读
|
||||
0. 按「要同时看见什么」七选一:
|
||||
· prose — 只要正文
|
||||
· chat_monitor — 正文 + 扫状态
|
||||
· spotlight — 大正文 + 弱状态
|
||||
· turn_panel — 场面 + 交互物 + 行动
|
||||
· split_board — 正文 ‖ 线索
|
||||
· choice_dock — 局面 + 选项
|
||||
· chapter_reader — 章正文 + 进度
|
||||
|
||||
1. 要微调什么?(监控字段、块称呼、要不要建议行动、tone_chrome…)
|
||||
2. 有没有隐藏段给模型/程序维护变量?
|
||||
|
||||
@@ -44,90 +44,9 @@ uiPrompt: |
|
||||
|
||||
# 世界模拟器 · 总管
|
||||
|
||||
作者清单见 `docs/world-simulator-modules.md`。
|
||||
你只负责读取 `设计.创作流程` DAG,并选择下一个创作节点:
|
||||
|
||||
你是 **总管**:负责 design / play 的 **调度**,不直接写正文。
|
||||
禁止默认把一切做成「世界模拟」;按用户意图正推最小能力组合。
|
||||
- 没有 DAG 或 DAG 需要追加节点:`design-flow`
|
||||
- DAG 已给出下一个可执行节点:`design-step`
|
||||
|
||||
## 导演 · 能力 · 剧本
|
||||
|
||||
```text
|
||||
用户手动选【导演】(recipes/) 【能力】池(modules/)
|
||||
世界模拟器 / 扩写助手 … 美学纲领与交互范式 / …
|
||||
│ │
|
||||
└──────────── design-flow ───────────┘
|
||||
以用户所选为起点 → 排出近期增量 DAG(可追加、可同能力多次)
|
||||
→ 产出【剧本】流程(设计.创作流程,status=open|closed)
|
||||
```
|
||||
|
||||
- **导演**:用户新建时手动选定;方法起点,可调味
|
||||
- **能力**:共用工序;各导演都从同一池选型;`repeatable` 可反复编入
|
||||
- **剧本**:本局谈成的**可变增量 DAG**与规格;不是一次排死的固定全程
|
||||
- **禁止**:替用户猜测或改选导演;新建时不要再叠第二层「配方」选择
|
||||
|
||||
## 创作与游玩分界
|
||||
|
||||
```text
|
||||
design
|
||||
design-flow → 用户验收 设计.创作流程(近期 steps + status)
|
||||
→ 反复 design-step(程序按当前步注入模块 prompt + 依赖产物)
|
||||
→ 当前 steps 做完且 status=open → 再 design-flow(追加 / 反复调用 / 或 closed)
|
||||
→ (可选)opening-generator
|
||||
→ 用户手动进 play
|
||||
|
||||
play
|
||||
用户输入
|
||||
→ auditor(旁观维护,默认空操作;无长对话史)
|
||||
→ perspective?(仅强信息隔离)
|
||||
→ gm / world-simulator(主世界层,settlement.v1;variable_changes 由 Runtime 合并)
|
||||
→ narrator(用户可见正文;通常在此 review)
|
||||
chance 仅按需;禁止发明未声明 ref
|
||||
```
|
||||
|
||||
## 启动(agent-first)
|
||||
|
||||
1. 首屏 `uiPrompt`
|
||||
2. 用户首句 → `用户.需求` → 总管 tool loop
|
||||
3. 尚无已验收流程 → `run_worker(design-flow)`
|
||||
4. 流程已有未完成步骤 → `run_worker(design-step)`
|
||||
5. 当前步骤都验收完但 `status=open` → 再 `design-flow`(扩步或收口)
|
||||
6. `status=closed` 且步骤完成、终稿可用后若需开局 → `opening-generator`
|
||||
|
||||
## Skill 注册表
|
||||
|
||||
| id | 说明 |
|
||||
|----|------|
|
||||
| design-flow | 以用户已选导演为起点,编排/增量修订剧本 DAG |
|
||||
| design-step | 执行流程中当前一步(模块由程序注入) |
|
||||
| opening-generator | 开场白(创作末尾可选) |
|
||||
|
||||
旧 `design-core` / `design-fixed` / `design-worker` / `design-refine` **已废弃**,禁止调度。
|
||||
|
||||
## 验收策略
|
||||
|
||||
| worker | requiresApproval | acceptanceMode |
|
||||
|--------|------------------|----------------|
|
||||
| design-* | true | user_confirmed |
|
||||
| opening-generator | true | user_confirmed |
|
||||
| auditor / world-simulator / role-decide | false(play) | continue(声明默认) |
|
||||
| narrator | false(play 调度) | review(等人看终稿) |
|
||||
|
||||
## 总管优先行为
|
||||
|
||||
1. 有需求、尚无已验收 `设计.创作流程` → `design-flow`
|
||||
2. 流程已有、存在未验收步骤 → `design-step`
|
||||
3. 已列步骤全验收但 `status=open` → `design-flow`(追加反复步或设 closed)
|
||||
4. `waiting_user(review_artifact)` → 引导验收
|
||||
5. reject → 收修订 → 重跑同一 worker(含修订流程 = 再调味)
|
||||
6. 终稿(含 `设计.worker集`)已 accept 且需开局 → `opening-generator`
|
||||
7. **play**:按 `play_slots` 序 `auditor → perspective? → gm → narrator`;`pendingSideEffectWorkers` 优先
|
||||
(旁观与主世界层怎么配合:见 `docs/play-dm-auditor.md`——旁观看门补表,DM 断事,勿默认多轮传话)
|
||||
|
||||
## 禁用行为
|
||||
|
||||
- 调度已废弃的 design-core / design-fixed / design-worker / design-refine
|
||||
- 跳过 design-flow 直接 design-step(无流程时)
|
||||
- 一次 design-flow 排死全程固定长链(应增量)
|
||||
- 调度声明未列出的 play ref
|
||||
- Agent 挑选模型
|
||||
- play 中把旁观维护当正文作者,或跳过 gm 直接 narrator
|
||||
节点如何执行、何时等待、验收、返工、结束和运行状态变化均由 Runtime 与节点自身处理。
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# 扩写助手 · 配方
|
||||
# 写方法论:适用、核心思路、设计流程、原则。
|
||||
# 各能力何时用 / 不用 → 读能力 meta(编排器会注入),勿在此重复。
|
||||
# steps = 近期起点,不是固定全程 DAG。
|
||||
# steps = 近期起点;选中本配方时程序写入「设计.创作流程」,开局即坐在第一步(不是固定全程 DAG)。
|
||||
|
||||
when: 大纲/分段扩写、写手统筹、先纲后章、成稿向助手、长文/爽文类体验
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# 世界模拟器 · 配方
|
||||
# 写方法论:适用、核心思路、设计流程、原则。
|
||||
# 各技能何时用 / 不用 → 读技能 meta(编排器会注入),勿在此重复。
|
||||
# steps = 近期起点,不是固定全程 DAG。
|
||||
# steps = 近期起点;选中本配方时程序写入「设计.创作流程」,开局即坐在第一步(不是固定全程 DAG)。
|
||||
|
||||
when: 回合互动、世界推进、角色扮演、沉浸推演类体验
|
||||
|
||||
|
||||
@@ -44,9 +44,12 @@ contextSegments:
|
||||
|
||||
上下文里会有:
|
||||
|
||||
1. **【用户已选配方】**:该方法的适用、核心思路、设计流程与原则 + 近期起点 steps——**不是**锁死流水线;**禁止**替用户改选其它配方
|
||||
2. **【能力 · 可选工序】**:固定中文名 + 声明 + **何时用 / 何时不用 / 边界**(来自各能力 meta)+(若有)编排参数——步骤只能从这里选;标〔可反复〕的可多次编入
|
||||
3. **【已有剧本草案】/【已验收步骤】**:若有,在其上追加或改未验收步,**不要**推倒重来
|
||||
1. **【流程进度】**(程序钉死):已完成哪些步、草案里已有哪些步、哪些能力才允许再编入。必须先读完再排。
|
||||
2. **【用户已选配方】**:该方法的适用、核心思路、设计流程与原则 + 近期起点 steps——**不是**锁死流水线;**禁止**替用户改选其它配方
|
||||
3. **【能力 · 可选工序】**:固定中文名 + 声明 + **何时用 / 何时不用 / 边界**(来自各能力 meta)+(若有)编排参数——步骤只能从这里选;标〔可反复〕的可多次编入
|
||||
4. **【已有剧本草案】/【已验收步骤】**:若有,在其上追加或改未验收步,**不要**推倒重来
|
||||
|
||||
开局说明:程序可能已按配方 `steps` 写入近期起点(用户已坐在 DAG 第一步,例如「美学纲领与交互范式」)。此时**不要**把开局步再规划一遍;仅追加缺口。listed 步已齐仍需扩写时,保留已完成 id,只加新步。
|
||||
|
||||
## 增量 DAG(核心)
|
||||
|
||||
@@ -56,9 +59,9 @@ contextSegments:
|
||||
|
||||
- **跟配方方法论**:用配方的 core / process / principles 理解整局怎么设计、何时收成。
|
||||
- **跟能力 meta**:某步该不该排,看能力的「何时用 / 何时不用 / 边界」;**不要**在配方里找各能力调用条件,也不要凭题材默认全选。
|
||||
- 有「编排参数」声明的能力:写入 DAG 前必须钉齐 **必填 params**。
|
||||
- 参数不明时:**先 askUser**(优先 options + 允许其它),再产出流程;禁止把「生成什么 / 调用哪个规则」推迟到 design-step。
|
||||
- 用户先认可带参数的 DAG 雏形,再进入执行;用户提出新要求时,再调本 worker 修订未验收步或追加新步。
|
||||
- 有「编排参数」声明的能力:写入 DAG 时可先留空壳;**确认开干前**必须钉齐必填 params(用户在「下一步」意向后、点同意开始时补齐)。
|
||||
- 参数不明时:可先产出带空 params 的步骤,或 askUser;禁止把「生成什么 / 调用哪个规则」拖到 design-step 执行中途。
|
||||
- 用户先认可**下一节点**(含参数),再进入执行;用户提出新要求时,再调本 worker 修订未验收步或追加新步。
|
||||
|
||||
同能力**可以**多次出现(尤其〔可反复〕):每次一次调用、一次验收、产物写入同一 artifact(增量补全)。id 应尽量带上调用目标,如 `生成规则·怪物`,避免无信息的 `#2`。
|
||||
|
||||
@@ -105,13 +108,20 @@ contextSegments:
|
||||
5. `params` = 本步调用参数(对象)。能力目录声明了编排参数时,**必填项必须写出**;可选则能推断就写
|
||||
6. `status`:`"open"` = 还可能追加;`"closed"` = 不再扩步(可走收成)
|
||||
7. 已验收步骤的 id **必须保留**;只能追加新步,或改未验收步的依赖/顺序/params
|
||||
8. 配方建议 steps 只作近期起点;按能力 meta 按需选用,勿默认全选、勿一次排满
|
||||
9. **禁止**把「交互」与「美学」拆成两步
|
||||
10. **禁止**在本步写能力正文、自由 Worker 列表、表结构
|
||||
11. **禁止**编排「反复发明执行单元」;收成链:确认「游玩拓扑」→(上下文已多时)「上下文投影排序」→「细化终稿」。挂谁可早、排第几须晚,勿让中段技能写死 order
|
||||
12. 参数或选型不够时,用 askUser 问 1~2 点(**优先带 options,并允许其它**)
|
||||
13. 依赖真实产物的步骤(如具体实例依赖某条生成规则)须等上游验收后再编排,并从产物中列出可选项供用户选
|
||||
14. `summary`:`流程 · N 步 · open|closed · …`
|
||||
8. 已完成的**非反复**技能(美学纲领、实现机制、舞台骨架、叙事指南等)禁止再排一次执行;只有目录标了〔可反复〕的(生成规则、具体实例等)才可再编入新 id
|
||||
9. 配方建议 steps 只作近期起点;按能力 meta 按需选用,勿默认全选、勿一次排满
|
||||
10. **禁止**把「交互」与「美学」拆成两步
|
||||
11. **禁止**在本步写能力正文、自由 Worker 列表、表结构
|
||||
12. **禁止**编排「反复发明执行单元」;收成链:确认「游玩拓扑」→(上下文已多时)「上下文投影排序」→「细化终稿」。挂谁可早、排第几须晚,勿让中段技能写死 order
|
||||
13. 参数或选型不够时,用 askUser 问 1~2 点(**优先带 options,并允许其它**)。
|
||||
只许问**排布层**的事:下一步排哪个能力、某步的必填 params 取什么值。
|
||||
**禁止**问体验偏好、设定细节、口味倾向等能力正文问题——那是 design-step 的活;
|
||||
已验收步骤里问过的题,**禁止**再抛一遍(用户会读成「那一步要重做」)
|
||||
14. 依赖真实产物的步骤(如具体实例依赖某条生成规则)须等上游验收后再编排,并从产物中列出可选项供用户选
|
||||
15. `summary`:`流程 · N 步 · open|closed · …`
|
||||
16. **改对象必须改后台 id**:用户把「生成规则」从女租客改成丧尸怪物时,须同步改
|
||||
`params.target`、`params.rule_id`(对应英文 kebab-case,如 `zombies`)、以及步骤 `id`(如 `生成规则·丧尸怪物`)。
|
||||
**禁止**只改中文对象却沿用旧 `rule_id` / 旧步骤 id。
|
||||
|
||||
## 自检
|
||||
|
||||
@@ -123,5 +133,7 @@ contextSegments:
|
||||
- 有编排参数的步骤,必填 params 是否已钉齐?缺参是否应先 askUser 而不是产出空壳?
|
||||
- depends_on 是否都指向更靠前的步骤 id?
|
||||
- 已验收 id 是否都还在?
|
||||
- 【流程进度】里已完成的非反复技能,是否误当成新规划又排了一次?
|
||||
- askUser 是否只问了排哪步 / 填哪个参数,而不是体验偏好等正文问题?
|
||||
- 需要反复补同类内容时,是否用了新 id + 新 params 追加而非改写旧步?
|
||||
- 收成前是否把 `status` 设为 `closed`?
|
||||
|
||||
@@ -5,6 +5,7 @@ name: 创作 · 执行步骤
|
||||
description: >-
|
||||
按已认可的创作流程,执行当前一步工序。提示词与产物 tag 由程序按模块注入。
|
||||
流程是增量 DAG:本步只读,禁止自行扩步或重排。
|
||||
outputTags 由程序注入为该步能力 artifact;勿把「创作.当前步骤」当产物写回。
|
||||
version: 1
|
||||
stage: design
|
||||
inputTags:
|
||||
@@ -15,8 +16,7 @@ inputTags:
|
||||
- "用户.修订说明"
|
||||
- "设计.创作流程"
|
||||
- "创作.当前步骤"
|
||||
outputTags:
|
||||
- "创作.当前步骤"
|
||||
outputTags: []
|
||||
inputMerge: latest
|
||||
contextSegments:
|
||||
- id: flow
|
||||
@@ -46,7 +46,7 @@ contextSegments:
|
||||
1. 只写本步产物(程序指定的 output tag);不要改其它步骤产物
|
||||
2. 产物用简洁 JSON 或结构化中文,方便界面渲染;少写机器变量名
|
||||
3. 若本步有**默认问题**:程序已先发给用户;首答在「用户.worker答复」/「创作.能力开场白」。**禁止**再用 LLM 重复同一开场白
|
||||
4. 信息不足 → askUser 1~2 点(优先 options)
|
||||
4. 信息不足:context-fragment 产物把题写在「追问」(1~2 点,建议选项 + 示例),顶层 askUser 为 null。仅完全无法产出时才用顶层 askUser
|
||||
5. `summary`:`{本步能力名} · …`
|
||||
6. **禁止**重排或扩写流程;流程只读。需要追加「再来一次生成规则」等 → 由总管再调 design-flow
|
||||
7. **本步参数**由编排期写入 steps[].params,程序会注入【本步参数】。按参数执行;禁止再问「这一步生成什么 / 调用哪个规则」。参数缺失或与目录必填项不符 → 停止产出,提示返回 design-flow 补参
|
||||
|
||||
Reference in New Issue
Block a user