重构世界模拟器为模块化配方架构,完善创作编排、会话运行时与 Web UI,并清理过时技能。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-30 00:39:32 +08:00
parent 2b74c30d36
commit e670a5129c
167 changed files with 22955 additions and 5659 deletions

171
docs/ui-glossary.md Normal file
View File

@@ -0,0 +1,171 @@
# 用户可见文案与术语对照UI Glossary
**用途**:凡出现在 Web 界面、导出 Markdown、状态 pill、气泡标题、询问卡、检查器上的文案**禁止直接暴露**内部英文 id`design-core``design``play`。内部协议、SKILL 路径、黑板 tag、API 字段仍用英文 id。
**实现**`src/server/display-labels.ts`(权威映射);`web/display-labels.js` 须与本文及该文件保持一致。新增高频 id 时:**先改本文 → 再改代码**。
**产品隐喻**:用户侧统一用**拍摄**用语——**导演 / 剧本 / 演员 / 能力**。旧称「总管 / 能力包 / 配方 / Worker」仅作内部或过渡别称。
---
## 0. 拍摄术语(首选)
| 拍摄术语 | 用户可见含义 | 内部对应 | 勿再对用户说 |
|----------|--------------|----------|--------------|
| **导演** | ① 新建时**手动选一次**的方法起点(如世界模拟器、扩写助手),可按现场「调味」;② 会话里负责调度的 Agent | `recipes/` 选型 → 黑板 `创作.选用配方`Main Agent / orchestrator | 配方、能力包(作第二层选项)、总管 |
| **剧本** | 本局谈成的流程与规格(活的,不是死选单) | `设计.创作流程``设计.worker集` | 「剧本 Skill 菜单」、死板流程卡 |
| **演员** | 上场执行的单元(一次 `run_worker` | Worker / design-* / play workers | 对用户堆「Worker · id」标题用中文名 |
| **能力** | 共用工序模块(美学纲领与交互范式…);导演从中选型编排 | `modules/` 组件池 | 组件池、模块(可作作者文档用词) |
```text
用户选【导演】(世界模拟器 / 扩写助手 …)
【导演】调度 → 从【能力】里编排 → 谈成【剧本】
【演员】按剧本上场执行 → 游玩 / 成稿
```
**一层选型**:新建作品只选**导演**,不要再叠「能力包 + 配方」两层。
**调味**:导演给出的建议步骤是**近期起点**;编排时可增量追加、可反复调用标了可反复的能力(像现场改戏),验收的是本局【剧本】,不是磁盘上的静态菜谱。
---
## 1. 原则
1. **内外分离**id 给机器;中文给用户。
2. **拍摄词优先**:对用户优先用 §0技术文档可写「导演Main Agent / recipe」对照。
3. **阶段用产品词**lifecycle 的 `design` / `play` 用户侧统一为 **创作** / **游玩**(勿译成「设计模式 / 播放」)。
4. **与 SKILL `name` 对齐**:磁盘 worker 若已有中文 `name`,展示优先用 name本表是缺省与高频兜底。
5. **气泡标题形态**`{中文名}``{中文名} · {动作}`,例如「创作 · 流程编排 · 产出」不要「Worker · design-flow 产出」。
---
## 2. 生命周期 / 阶段
| 内部 id / 词 | 用户可见 | 业界对照与选用说明 |
|--------------|----------|-------------------|
| `design` | **创作** | 谈【剧本】的工作台。不用「设计」作顶栏主词。 |
| `play` | **游玩** | 【演员】按剧本上场。不用「播放」。 |
| `done` | **已完成** | — |
| `idle` | **待命** | — |
| `running` | **执行中** | — |
| `waiting_user` | **等待你** | — |
---
## 3. 角色与系统概念(对照表)
| 内部词 | 用户可见(首选) | 过渡别称 | 说明 |
|--------|------------------|----------|------|
| Agent / Main Agent / orchestrator | **导演** | 总管(旧) | 调度【演员】、推进【剧本】;气泡可用「导演 · 思考」。 |
| Worker | **演员** | Worker / 执行单元 | UI 标题用中文名检查器可写演员Worker。 |
| Tool | **工具** | Tool | 导演 tool call气泡可用「工具 · 读黑板」。 |
| Skill pack / recipe用户选型 | **导演**(选项名) | 能力包 / 配方(旧) | 新建下拉只出现导演选项(世界模拟器、扩写助手…)。 |
| Module / modules pool | **能力** | 组件池(作者文档) | 美学纲领与交互范式等;见 `world-simulator-modules.md`。 |
| Creation flow + Worker 集 | **剧本** | — | 动态谈成;非死选单。 |
| Blackboard | **黑板** | 上下文板 | — |
| Artifact | **产物** | — | 待验收输出。 |
| Accept / Review | **验收** / **接受** | — | 按钮用「接受」;阶段说明用「验收」。 |
| Intake | **需求描述** | 启动填空 | — |
| Burst | **本轮调度** | — | 少对用户说 burst。 |
| Questions card | **询问卡** | Questions | 详见 `ui-design.md` §8。 |
---
## 4. 创作期磁盘 Worker高频
| 内部 id | 用户可见 | 备注 |
|---------|----------|------|
| `design-flow` | **创作 · 流程编排** | 以已选【导演】为起点,编排/增量修订可变 DAG → 写入剧本(创作流程) |
| `design-step` | **创作 · 执行步骤** | 按剧本执行当前【能力】 |
| `opening-generator` | **开局 · 开场白** | 创作末尾可选 |
| `design-core` 等 | (已废弃) | 旧分步 skill勿再调度 |
标题动作后缀(拼在中文名后):
| 动作 | 后缀 |
|------|------|
| 运行中 | (可省略或「执行中」) |
| 产出 / 已完成 | **· 产出** |
| 提问 | **· 提问** |
| 占位 | **· 占位** |
---
## 5. 游玩期常用演员(缺省)
声明里可覆盖;无中文名时用下表:
| 内部 id | 用户可见 |
|---------|----------|
| `narrator` | **叙事转述** |
| `role-decide` | **角色决策** |
| `world-simulator` | **世界推演** |
| `round-present` | **回合呈现** |
导演选项展示名示例:`world-simulator`recipe**世界模拟器**`expand-assistant`**扩写助手**
**创造演员时**:规格里另写 `name`(中文展示名)。`ref` 仍用英文 kebabUI 优先 `name`
---
## 6. 创作单位 id检查器 / 进度)
| 内部 id 形态 | 用户可见规则 | 示例 |
|--------------|--------------|------|
| `phase:core` | **单位 · 核心** | — |
| `phase:refine` | **单位 · 细化** | — |
| `worker:{ref}` | **演员 · {中文名或 ref}** | `worker:narrator` → 演员 · 叙事转述 |
| `fixed:{topic}` | **能力 · {话题中文}** | `fixed:aesthetics-interaction` → 能力 · 美学纲领与交互范式 |
| `resident:{id}` | **常驻 · {id 或名}** | — |
能力话题建议译名:
| topic | 用户可见 |
|-------|----------|
| `aesthetics-interaction` | 美学纲领与交互范式 |
| `interaction` | 交互范式(旧;已并入上一行) |
| `narrative_guide` | 叙事指南 |
| `input_protocol` | 输入协议 |
| `core_premise` | 核心前提 |
| `aesthetics` | 美学纲领(旧;已并入美学纲领与交互范式) |
---
## 7. 等待态 / 焦点(对用户)
| `waitingReason.kind` | 状态摘要(短) | 焦点动作 |
|----------------------|----------------|----------|
| `intake` | 描述需求 | 描述创作需求 |
| `input` | 补充说明 | 补充说明 / 回答追问 |
| `worker_questions` | 回答提问 | 回答 · {中文演员名} |
| `approve_step` | 确认执行 | 建议调用 {中文名} |
| `review_artifact` | 验收产物 | 验收产物 |
---
## 8. 禁止出现在用户主路径上的写法
- `Worker · design-core``run_worker(design-core)`
- 顶栏 / pill 写 `design` / `play` 英文
- 「总管会调度 design-core」应写「导演会先谈剧本」或「将开始创作 · 流程编排」)
- 新建作品同时出现「导演 + 配方」两层选择
- 询问卡标题直接写 `design-core`
技术日志、导出里的「调试附录」、开发者文档不受本条限制,但默认导出给用户的 Markdown 应走同一套映射。
---
## 9. 相关文档
| 文档 | 关系 |
|------|------|
| `ui-design.md` | 布局与心流;文案须服从本文 |
| `architecture.md` | 内部术语;用户侧以本文为准 |
| `daily-use-p0.md` | 导演 / 剧本产品定义 |
| `world-simulator-modules.md` | 【能力】与导演recipes作者清单 |
| `creation-playbook.md` | 创作/游玩流程概念 |
| `design-orchestrator-guide.md` | 创作方法(可继续写英文 id面向作者 |