重构世界模拟器为模块化配方架构,完善创作编排、会话运行时与 Web UI,并清理过时技能。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
32
skills/dialogue/world-simulator/worker-templates/README.md
Normal file
32
skills/dialogue/world-simulator/worker-templates/README.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Worker 可选模板(ref 默认契约)
|
||||
|
||||
## 定位
|
||||
|
||||
**不是** play 时加载的 `workers/*/SKILL.md`。
|
||||
**是** 谈【剧本】、写 `设计.worker集` 时合并的 **默认建议**:context、outputs、职责摘要。
|
||||
|
||||
| 层 | 权威来源 |
|
||||
|----|----------|
|
||||
| 本局 play 怎么跑 | 用户 accept 的 **`设计.worker集`** |
|
||||
| 可选模板 | 本目录 `{ref}.yaml` — 未写全 `context`/`outputs` 时合并 |
|
||||
|
||||
Runtime 执行时读 Worker 集条目,不直接读本目录。
|
||||
|
||||
## 文件
|
||||
|
||||
| 文件 | 说明 |
|
||||
|------|------|
|
||||
| `world-simulator.yaml` | 世界推进 / 裁决 |
|
||||
| `narrator.yaml` | 转述 / 展示 |
|
||||
| `role-decide.yaml` | 单角色决策 |
|
||||
| `round-present.yaml` | 结构化回合陈述 |
|
||||
| `opening-generator.yaml` | 开局生成器(创作末尾) |
|
||||
| `outline.yaml` | 大纲 / 细纲 |
|
||||
| `chapter-writer.yaml` | 章节正文 |
|
||||
|
||||
## 用法
|
||||
|
||||
1. 按用户意图选 `ref`
|
||||
2. 读 `{ref}.yaml` 填默认字段
|
||||
3. 用户特殊需求覆盖后写入 Worker 集
|
||||
4. accept 后声明即实例规格
|
||||
@@ -0,0 +1,25 @@
|
||||
id: chapter-writer
|
||||
label: 章节正文
|
||||
role: drafting
|
||||
duty: >
|
||||
按大纲当前节点与用户指令写一章/一段可读正文;写入约定正文 tag。
|
||||
不擅自改大纲结构;用户重 roll 本段时只重写本段。
|
||||
when: 大纲已有、用户要求写下一章/段或重 roll 当前段
|
||||
suggested_context:
|
||||
static:
|
||||
- 设计.worker集
|
||||
- 大纲.当前
|
||||
dynamic:
|
||||
- 正文.已完成
|
||||
- 用户.最新输入
|
||||
- 变量.当前
|
||||
suggested_outputs:
|
||||
- 正文.当前段
|
||||
- 正文.已完成
|
||||
presentation_hints:
|
||||
mode: prose | markdown
|
||||
tone: 依题材;爽文可偏节奏与兑现,勿空洞灌水
|
||||
prompt_excerpt: |
|
||||
你是章节写手。只写本轮要求的一段/一章,对照大纲节点兑现承诺。
|
||||
输出进 正文.当前段;若需归档到 正文.已完成 按声明 outputs 执行。
|
||||
不要重写整本;不要发明与大纲冲突的主线转折,除非用户本轮明确要求。
|
||||
@@ -0,0 +1,23 @@
|
||||
id: narrator
|
||||
label: 转述 / 展示
|
||||
role: transcription
|
||||
duty: >
|
||||
读世界层 / 中间 tag,按 Worker 集 presentation 组装 输出.用户展示;
|
||||
只改表达,不改事实(除非用户要求摘要压缩)。
|
||||
when: 核心层产出齐、尚无本轮 输出.用户展示
|
||||
suggested_context:
|
||||
static:
|
||||
- 设计.worker集
|
||||
dynamic:
|
||||
- 运行.事件流
|
||||
- 运行.本轮.裁决
|
||||
- 变量.当前
|
||||
- 用户.最新输入
|
||||
suggested_outputs:
|
||||
- 输出.用户展示
|
||||
presentation_hints:
|
||||
mode: prose | markdown | mixed
|
||||
tone: 依 Worker 集 presentation
|
||||
prompt_excerpt: |
|
||||
你是面向用户的展示编排者。读黑板中间产物,按 presentation 写可读回复;
|
||||
不替 world-simulator 补充裁决、不臆造未写入 tag 的事实。
|
||||
@@ -0,0 +1,25 @@
|
||||
id: opening-generator
|
||||
label: 开局 · 开场白
|
||||
stage: design-end
|
||||
duty: >
|
||||
创作末尾:结合已定世界/故事设定与表结构,写出开场白(主产物);
|
||||
初值表与开场同一真相,能推断则推断。不是填表工具。
|
||||
when: Worker 集 accept 后、进 play 前;design_end 或 workers 声明启用时
|
||||
suggested_context:
|
||||
static:
|
||||
- 设计.worker集
|
||||
- 用户.需求
|
||||
- 上下文.定稿摘要
|
||||
dynamic:
|
||||
- 用户.最新输入
|
||||
- 用户.worker答复
|
||||
- 运行.初始变量
|
||||
- 输出.开场白
|
||||
suggested_outputs:
|
||||
- 输出.开场白
|
||||
- 运行.初始变量
|
||||
- 变量.当前
|
||||
prompt_excerpt: |
|
||||
主产物是开场白:扎根已有世界与故事,把玩家放进可行动的第一拍。
|
||||
表是配套:与开场事实一致;普通大学生等可推出的别问。
|
||||
禁止先问卷填表再糊开场;禁止开场与表打架。
|
||||
@@ -0,0 +1,22 @@
|
||||
id: outline
|
||||
label: 大纲 / 细纲
|
||||
role: planning
|
||||
duty: >
|
||||
根据用户意图与已定设定,产出或更新可执行大纲(卷/章/节或情节点);
|
||||
写进约定 tag,供 chapter-writer 与展示层引用。不直接写长章正文。
|
||||
when: 写手/分段模式下尚无可用大纲,或用户要求改大纲
|
||||
suggested_context:
|
||||
static:
|
||||
- 设计.worker集
|
||||
- 用户.需求
|
||||
dynamic:
|
||||
- 大纲.当前
|
||||
- 用户.最新输入
|
||||
suggested_outputs:
|
||||
- 大纲.当前
|
||||
presentation_hints:
|
||||
mode: markdown
|
||||
tone: 条目清晰,可勾选推进
|
||||
prompt_excerpt: |
|
||||
你是大纲作者。按用户爽点与篇幅产出可执行大纲(章标题 + 一句话节拍即可)。
|
||||
不要写成长篇正文;修改时保留用户已锁定的章,只改其点名部分。
|
||||
@@ -0,0 +1,21 @@
|
||||
id: role-decide
|
||||
label: 角色决策
|
||||
role: auxiliary
|
||||
duty: >
|
||||
仅代表 世界.当前角色.id 所指角色;产出 .思考(仅用户)与 .行动(世界层可见)。
|
||||
信息隔绝:不读其他角色 .思考 / .行动。
|
||||
when: Worker 集启用且本轮需该角色独立决策;须 workerContext.roleId
|
||||
suggested_context:
|
||||
static:
|
||||
- 设计.worker集
|
||||
dynamic:
|
||||
- 世界.当前角色.id
|
||||
- 运行.事件流
|
||||
- 角色.*.可见信息
|
||||
- 场景.公开叙述
|
||||
suggested_outputs:
|
||||
- 角色.*.思考
|
||||
- 角色.*.行动
|
||||
prompt_excerpt: |
|
||||
两层输出:思考(用户专阅)与行动(含说话,世界层可读)。
|
||||
禁止读博弈规则全文或其他角色思考 tag;仅 L3 可见信息。
|
||||
@@ -0,0 +1,21 @@
|
||||
id: round-present
|
||||
label: 回合陈述
|
||||
role: transcription
|
||||
duty: >
|
||||
结构化陈述本轮:发生了什么、各方行动/思考摘要(Markdown/表格);
|
||||
适合思想实验、博弈,通常不必文学化 narrator。
|
||||
when: 多角色模拟一轮结束,需 输出.用户展示
|
||||
suggested_context:
|
||||
static:
|
||||
- 设计.worker集
|
||||
dynamic:
|
||||
- 输出.回合摘要
|
||||
- 场景.公开叙述
|
||||
- 角色.*.思考
|
||||
- 角色.*.行动
|
||||
- 运行.事件流
|
||||
suggested_outputs:
|
||||
- 输出.用户展示
|
||||
prompt_excerpt: |
|
||||
按参数决定是否展示思考层;公开局面与思考分节,不混写。
|
||||
摘录自旧「回合展示」worker 写法,写入 Worker 集时按实例改 tag 名。
|
||||
@@ -0,0 +1,23 @@
|
||||
id: world-simulator
|
||||
label: 世界模拟
|
||||
role: core
|
||||
duty: >
|
||||
中立世界层:读用户输入与当前状态,按 Worker 集 / notes 中的规则推进事件、
|
||||
裁决组合结果;输出客观、干巴,默认叙事质量低(常需 narrator 转述)。
|
||||
when: 每轮用户输入后,或 tag_flow 要求产出本轮实质内容时
|
||||
suggested_context:
|
||||
static:
|
||||
- 设计.worker集
|
||||
- 用户.需求
|
||||
dynamic:
|
||||
- 用户.最新输入
|
||||
- 运行.事件流
|
||||
- 变量.当前
|
||||
- 运行.初始变量
|
||||
suggested_outputs:
|
||||
- 运行.本轮.裁决
|
||||
- 运行.事件流
|
||||
prompt_excerpt: |
|
||||
你是中立世界层,不是文学作者。只对规则与已提交输入作机械反应;
|
||||
不写角色内心、不做剧情化推演。输出可复核的客观事实与状态变化。
|
||||
叙事质量 intentionally 低——转述交给 narrator(若 Worker 集启用)。
|
||||
Reference in New Issue
Block a user