引入游玩回合与开场收口,抽出可替换 agent 司机并支持运行中止;完善预设洞位、世界书拼装与试跑,并打磨会话运行时与 Web 交互。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -12,12 +12,12 @@
|
||||
| 叙事指南与故事推进 | **专用 mosaic**(风格与写法 \| 推进与决策) | `renderNarrativeBodyHtml` |
|
||||
| 变量设计 | **结构化卡**(真值 / side_effects) | `renderVariableDesignHtml` |
|
||||
| 变量控制上下文 | 通用 fragment | context-fragment |
|
||||
| 正文组成 | 通用 fragment + 游玩期 **present 壳** | fragment;游玩 `present-shells.js` |
|
||||
| 正文组成 | **专用卡**:present 壳渲染 `正文.示例.灌数`(看美化)+ 契约折叠 | `renderReplyFormatBodyHtml` |
|
||||
| 设计监控栏 | 通用 fragment | context-fragment |
|
||||
| 游玩拓扑 | **槽位芯片卡** | `renderPlaySlotsHtml` |
|
||||
| 上下文投影排序 | **排序卡** | `renderContextOrderHtml` |
|
||||
| 裁决包 settlement.v1 | **分节卡** | `renderSettlementSectionsHtml` |
|
||||
| 开场白与开场变量 | 通用 fragment | context-fragment |
|
||||
| 开场白与开场变量 | 专用:候选 swipe + 呈现壳 | `renderOpeningSetupBodyHtml` |
|
||||
| 拓扑图谱 | (骨架未写) | — |
|
||||
|
||||
**说明:** 「通用 fragment」= 公共头(brief/mount/自评)+ 正文结构化树,已比生 JSON 友好;「专用」= 按技能排版的 mosaic/卡片。
|
||||
|
||||
@@ -121,7 +121,8 @@
|
||||
"steps": [
|
||||
{ "id": "美学纲领与交互范式", "name": "美学纲领与交互范式", "depends_on": [] },
|
||||
{ "id": "生成规则", "name": "生成规则", "depends_on": ["美学纲领与交互范式"] },
|
||||
{ "id": "生成规则#2", "name": "生成规则", "depends_on": ["生成规则"] }
|
||||
{ "id": "生成规则#2", "name": "生成规则", "depends_on": ["生成规则"] },
|
||||
{ "id": "美学纲领与交互范式·改", "name": "美学纲领与交互范式", "mode": "revise", "revises": "美学纲领与交互范式", "depends_on": ["生成规则#2"] }
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -133,9 +134,13 @@
|
||||
| `id` | 本局步骤唯一键;同技能多次必须不同 |
|
||||
| `name` | 必须与技能目录中的**固定中文名**完全一致(可重复) |
|
||||
| `depends_on` | 依赖的其它步骤 **id**(若某 name 在本流程唯一,也可写 name) |
|
||||
| `mode` | 可选。缺省 / `fresh` = 从零新建;`revise` = 回头修改,继承 `revises` 所指那步的既有产物 |
|
||||
| `revises` | `mode=revise` 时必填:被改的既有步骤 id(须更前、同 name) |
|
||||
| `params` | 可选。普通节点=编排参数。〔先验产物〕=编排器规划的产物内容(可空;执行注入【规划产物】) |
|
||||
|
||||
程序用中文 `name` 映射到 `artifact` tag;流程 JSON **不写**英文模块 id / tag。
|
||||
**禁止**一次排死全程固定长链;「生成规则」「具体实例」等标了 `repeatable` 的技能应允许多次编入。
|
||||
**禁止**一次排死全程固定长链;「生成规则」「具体实例」等标了 `repeatable` 的技能应允许多次**新建**编入。已完成节点要改用 `mode=revise`,不要再排一条 fresh。
|
||||
〔先验产物〕节点可提前规划多条「写什么」写入 params;规划可空,「生成什么」在步内钉。
|
||||
|
||||
## 2.5 已合并技能(勿拆回)
|
||||
|
||||
@@ -326,6 +331,8 @@ boundary: |
|
||||
|------|------|
|
||||
| `declaration` | 插入编排提示,选型 |
|
||||
| `name` / `artifact` | 流程与执行映射 |
|
||||
| `kind` | 可选;节点特性。`prior-artifact` = 先验产物(须先定写什么;params 是规划产物,执行注入【规划产物】,不拦确认开干) |
|
||||
| `params` | 可选;普通节点=编排参数。〔先验产物〕=规划产物字段(可提前填,空则步内钉) |
|
||||
| `opening` | 可选覆盖;一般只写在 prompt 的 `opening` 块 |
|
||||
|
||||
改 `name` 会破坏已有工作流计划 JSON,尽量不改。
|
||||
@@ -462,12 +469,12 @@ artifact:
|
||||
| 美学纲领与交互范式 | `aesthetics-interaction` | 范例 |
|
||||
| 实现机制 | `mechanism` | 已写 |
|
||||
| 舞台骨架 | `world-blueprint` | 已写(`context-fragment.v1`;社会结构 + 世界状况) |
|
||||
| 生成规则 | `generation-rules` | 已写(`context-fragment.v1`;可反复;合同严、正文可长) |
|
||||
| 具体实例 | `concrete-instances` | 已写(`context-fragment.v1`;可反复;只按规则执行) |
|
||||
| 生成规则 | `generation-rules` | 已写(`context-fragment.v1`;可反复;〔先验产物〕;合同严、正文可长) |
|
||||
| 具体实例 | `concrete-instances` | 已写(`context-fragment.v1`;可反复;〔先验产物〕;只按规则执行) |
|
||||
| 叙事指南与故事推进 | `narrative` | 已写(`context-fragment.v1`;遣词/笔墨/禁忌+推进;旧称叙事指南) |
|
||||
| 正文组成 | `reply-format` | 已写(用户可见版式+隐藏段+前端拆分;旧称设计回复格式) |
|
||||
| 正文组成 | `reply-format` | 已写(壳适配 + 示例 present 预览看美化;旧称设计回复格式) |
|
||||
| 设计监控栏 | `status-bar` | 已写(只盯会变信息;旧称设计状态栏) |
|
||||
| 开场白与开场变量 | `opening-setup` | 已写(开场正文+初值;守正文组成) |
|
||||
| 开场白与开场变量 | `opening-setup` | 已写(〔收口〕:1~多条开场;选定后落库并保存定稿) |
|
||||
| 拓扑图谱 | `topology` | 待细写 |
|
||||
| 变量设计与更新规则 | `variable-design` | 已写;见 progressive-data-design.md |
|
||||
| 变量控制上下文 | `variable-context` | 已写 |
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
生成规则正文:必要性判断 + `rules[]`(生成与描写 + **单层**产物格式 + 可选多池绑顶层字段);自评=必要性/属性妥当/格式准确。
|
||||
美学纲领自评仍为:交互范式 / 美学纲领 / 整体协调(勿与生成规则三维混用)。
|
||||
叙事指南与故事推进正文:一份全文(纲领/遣词/笔墨/禁忌/推进等);**整份**双挂转述与主世界层,不为省 token 拆两套投影。artifact=`设计.叙事指南与故事推进`。
|
||||
正文组成:**基于固定呈现壳适配微调**(选 `shell_id` + 微调轴;块只挂壳已有区域);artifact=`设计.正文组成`。见 `docs/play-presentation-shells.md`。
|
||||
正文组成:**基于固定呈现壳适配微调**(选 `shell_id` + 微调轴;块只挂壳已有区域);正文含 **`示例`**(`present.v1` 灌数,验收壳与美化;非正史,文笔不重要);artifact=`设计.正文组成`。见 `docs/play-presentation-shells.md`。
|
||||
设计监控栏:只监控会变字段(可含攻略目标/场景交互物);artifact=`设计.监控栏`(旧称状态栏)。
|
||||
变量设计:真值 + **维护语句** + **Data映射索引**(指向具体实例)+ side_effects。
|
||||
变量控制上下文:各槽视野 + **旁观汇总**;mount 含主世界层与旁观维护。
|
||||
@@ -82,8 +82,8 @@ order 4: 用户.最新输入(full)
|
||||
```json
|
||||
{
|
||||
"schema": "context-order.v1",
|
||||
"brief": "扁平投影序",
|
||||
"play_slots": { "gm": true, "narrator": true, "perspective": false },
|
||||
"brief": "先名册再分配:旁观 + 主世界层 + 转述",
|
||||
"play_slots": { "auditor": true, "gm": true, "narrator": true, "perspective": false },
|
||||
"slots": [
|
||||
{
|
||||
"ref": "world-simulator",
|
||||
@@ -99,6 +99,8 @@ order 4: 用户.最新输入(full)
|
||||
}
|
||||
```
|
||||
|
||||
创作期 LLM 也可先写 `agents[]`(`id` 为 `auditor` / `gm` / `narrator` / `perspective` / `chance`,含 `enabled` / `when` / `inserts`);程序会收成上表的 `slots` + `play_slots`。运行时仍读 `slots[].ref`(worker ref)。
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| `order` | 每槽独立扁平数字序;**0 建议为人设** |
|
||||
|
||||
@@ -36,9 +36,11 @@ Book 跨 Session:过程、资产、游玩
|
||||
新建作品 → UI 选配方 → 用户首句
|
||||
→ design-flow:排出近期 设计.创作流程(工作流计划 / 增量 DAG,status=open|closed)
|
||||
→ 反复 design-step:注入当前技能 modules/{id}/prompt.md + 依赖产物
|
||||
→ 不够则再 design-flow(可追加 / 反复调用 repeatable 技能)→ closed
|
||||
→ 不够则再 design-flow(可追加 / 反复调用 repeatable 技能作**新建**;已完成节点用回头修改继承旧稿)→ closed
|
||||
→ 收成 设计.worker集(运行规格)→ 验收后才可进 play
|
||||
→ (可选)opening-generator → 用户手动进游玩
|
||||
→ 开场白与开场变量(若编排):1~多条开场 → 选定 → 程序落库、关 DAG、保存 instance
|
||||
→ (无开场白节点时可选)opening-generator 兜底落库
|
||||
→ 用户手动进游玩
|
||||
→ run:执行单元按契约从黑板重装;acceptance=review 处停、压缩过程 tag
|
||||
```
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
→ 按「要同时看见什么」选 shell_id(不是按好看)
|
||||
→ 只改允许的微调轴
|
||||
→ 禁止改分区骨架、禁止发明第八种布局
|
||||
游玩期:往壳区域灌数;正文随 600~3000 字撑高滚动
|
||||
游玩期:往壳区域灌数;正文随 500~2000 字撑高滚动
|
||||
```
|
||||
|
||||
选壳依据(同时可见关系):
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
| 优先级 | 区域 | 视觉待遇 |
|
||||
|--------|------|----------|
|
||||
| **P0** | `body` | 阅读主轴;**随字数撑高**(单轮按 600~3000 字设计),由页面/消息区滚动 |
|
||||
| **P0** | `body` | 阅读主轴;**随字数撑高**(单轮按 500~2000 字设计),由页面/消息区滚动 |
|
||||
| **P1** | 建议行动 | 要决策时醒目;`choice_dock` 坞 **sticky 贴底** |
|
||||
| **P2** | `monitor` | 芯片密排,高度固定矮 |
|
||||
| **P3** | `header` / `footer` / `aside` | 辅助;双栏 **aside sticky**,长文仍可对照 |
|
||||
@@ -88,6 +88,7 @@
|
||||
正文.呈现壳.shell_id → 七选一
|
||||
正文.呈现壳.微调 → 只填允许轴
|
||||
正文.可见块[] → 挂到壳已有区域
|
||||
正文.示例.灌数 → present.v1 形状预览(非正史;专供验收壳/美化)
|
||||
|
||||
设计.监控栏 → monitor 字段表
|
||||
运行.本轮.裁决 → body 事实;suggested_actions → 行动区
|
||||
@@ -130,4 +131,4 @@
|
||||
|
||||
---
|
||||
|
||||
修订:2026-08-13 · 七壳;明确信息层级与主面积。
|
||||
修订:2026-08-22 · 七壳;终稿阅读柱;单轮正文 500~2000 字。
|
||||
|
||||
+60
-25
@@ -216,39 +216,72 @@ type UnsupportedPresetSection = {
|
||||
|
||||
## 4. 上下文装配规则
|
||||
|
||||
一次请求的上下文装配按以下顺序执行:
|
||||
运行时只走一份 `promptOrder`:遇到普通条目原样插入,遇到 marker 就填洞。空的酒馆角色卡 / 世界书 marker **不填我们的正文**(跳过)。
|
||||
|
||||
### 4.1 Marker 词汇表
|
||||
|
||||
酒馆原有(导入后保留位置,空洞跳过):
|
||||
|
||||
```text
|
||||
1. 读取 PresetPackage.promptOrder。
|
||||
worldInfoBefore personaDescription charDescription charPersonality
|
||||
scenario worldInfoAfter dialogueExamples chatHistory
|
||||
```
|
||||
|
||||
我们新增(由 context-order 填值;生成内容按 **世界书条目** 看待,不是角色卡字段):
|
||||
|
||||
| identifier | 填什么 |
|
||||
|---|---|
|
||||
| `worldBookBefore` | `对话.历史` 之前的 inserts,每条为标题+正文 |
|
||||
| `chatHistory` | 共用酒馆 id;填 `对话.历史` |
|
||||
| `worldBookAfter` | 历史之后、本轮之前(变量、工单等)。**不是** `worldInfoAfter` |
|
||||
| `currentTurn` | `用户.最新输入`,role=user |
|
||||
| `postTurn` | 本轮输入之后的 inserts(可空) |
|
||||
|
||||
`worldInfoBefore` / `worldInfoAfter` 都在酒馆历史 **前**,不能承接「我们写的、历史后」,因此不要复用那两个 id。
|
||||
|
||||
### 4.2 导入时插入四个洞
|
||||
|
||||
导入 SillyTavern `prompt_order` 时,以 `chatHistory` 为锚点切开并插入:
|
||||
|
||||
```text
|
||||
[...ST 历史前条目...]
|
||||
worldBookBefore
|
||||
chatHistory
|
||||
worldBookAfter
|
||||
currentTurn
|
||||
[...ST 历史后条目...]
|
||||
postTurn
|
||||
```
|
||||
|
||||
若原文没有 `chatHistory`,把它补在历史前条目之后,再接后四个洞。原生预设也可以直接按这份扩展 order 来写。无选用预设时,play worker 仍按现有 `assembleWorkerContext` 拼装(不走 prompt_order)。
|
||||
|
||||
社区预设里包着 WI 洞的装饰分隔会留在历史前段,中间可能是空的。第一版接受。
|
||||
|
||||
### 4.3 六段夹心(扫 order 后的效果)
|
||||
|
||||
```text
|
||||
1. 酒馆内、历史前(ST 普通条目)
|
||||
2. 我们写的、历史前(worldBookBefore)
|
||||
3. 对话历史(chatHistory)
|
||||
4. 我们写的、历史后本轮前(worldBookAfter)
|
||||
5. 本轮对话(currentTurn)
|
||||
6. 本轮对话后(ST 历史后条目 + postTurn)
|
||||
```
|
||||
|
||||
### 4.4 装配步骤
|
||||
|
||||
```text
|
||||
1. 读取(已扩展过的)PresetPackage.promptOrder。
|
||||
2. 过滤 enabled=false 的顺序项。
|
||||
3. 找到对应 PresetPromptEntry。
|
||||
4. 再过滤 entry.enabled=false 的条目。
|
||||
5. 对 marker 条目进行运行时替换。
|
||||
6. 对普通 content 条目进行变量替换。
|
||||
7. 按 role 合并成 LLM messages。
|
||||
5. 对 marker:用 WorldInfoPack 解析我们的四个洞 + chatHistory;酒馆角色卡/WI 恒为空。
|
||||
6. 普通 content 条目原样插入。
|
||||
7. 按条目 role 合成 LLM messages。
|
||||
8. 应用 generation 参数。
|
||||
```
|
||||
|
||||
其中 marker 条目用于挂载运行时上下文:
|
||||
|
||||
```text
|
||||
charDescription
|
||||
可以映射为当前创作项目的设定说明。
|
||||
|
||||
charPersonality
|
||||
可以映射为文风、叙事人称、角色行为约束。
|
||||
|
||||
worldInfoBefore / worldInfoAfter
|
||||
可以映射为长期设定、世界观、知识库片段。
|
||||
|
||||
scenario
|
||||
可以映射为当前创作目标或当前阶段说明。
|
||||
|
||||
chatHistory
|
||||
可以映射为历史会话、已有正文、用户反馈摘要。
|
||||
```
|
||||
|
||||
这些映射不是 SillyTavern 原义的完整复刻,而是为了兼容预设资产,让它们能服务我们的写作 agent。
|
||||
不实现:世界书关键词、概率、sticky、Depth 插进历史中间、outlet、正则、插件脚本。
|
||||
|
||||
## 5. 与创作流程的关系
|
||||
|
||||
@@ -270,6 +303,8 @@ Runtime Session
|
||||
|
||||
因此,同一个 preset 可以用于多个创作流程;同一个创作流程也可以切换不同 preset。二者是正交关系。
|
||||
|
||||
生成参数可全局合并进 LLM 请求。**prompt 条目 + marker 填洞只在 play worker 上用**:创作步 / 总管 tool loop 不得把角色卡骨架套到 design-step 上,也不得在填洞后再叠一份相同的 user 上下文。
|
||||
|
||||
## 6. 第一版导入策略
|
||||
|
||||
第一版导入器只做保守转换:
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
| kind | 名称 | 何时存 | 存什么 |
|
||||
|------|------|--------|--------|
|
||||
| **`instance`** | 创作定稿截面 | Worker 集 accept;可选含 **锁定开局** | `设计.worker集`、静态设定 tag、`运行.初始变量`、`输出.开场白`;**不含**后续轮次、事件流 |
|
||||
| **`instance`** | 创作定稿截面 | Worker 集 accept;**选定开场后自动存**(也可手动) | `设计.worker集`、静态设定 tag、`运行.初始变量`、`输出.开场白`;**不含**后续轮次、事件流 |
|
||||
| **`opening`** | 开局锁定(可选单独存) | 创作末尾 swipe 选定开场后 | 与 instance 中开局部分相同;便于「同 Worker 集、换开局再开 play 线」 |
|
||||
| **`run`** | 游玩存档 | play 任意时刻 | instance/opening 层 + `运行.*`、轮次、变量当前值、对话 |
|
||||
|
||||
|
||||
+3
-3
@@ -35,7 +35,7 @@
|
||||
|
||||
**一层选型**:新建作品只选**配方**,不要再叠「能力包 + 配方」两层。
|
||||
|
||||
**调味**:配方给出的建议步骤是**近期起点**(horizon);编排时可增量追加、可反复调用标了可反复的技能。验收的是本局【工作流计划】与【运行规格】,不是磁盘上的静态菜谱。
|
||||
**调味**:配方给出的建议步骤是**近期起点**(horizon);编排时可增量追加、可反复调用标了可反复的技能(每次=彻底新建)。已完成节点要改用**回头修改**(继承旧产物),不必整局重开。验收的是本局【工作流计划】与【运行规格】,不是磁盘上的静态菜谱。
|
||||
|
||||
**剧本拆分**:旧称「剧本」同时罩住流程与规格,易混。现固定拆成:
|
||||
- **工作流计划** = 怎么排技能步骤(DAG)
|
||||
@@ -100,7 +100,7 @@
|
||||
|---------|----------|------|
|
||||
| `design-flow` | **创作 · 流程编排** | 以已选【配方】为起点,编排/增量修订工作流计划(可变 DAG) |
|
||||
| `design-step` | **创作 · 执行步骤** | 按工作流计划执行当前【技能】 |
|
||||
| `opening-generator` | **开局 · 开场白** | 创作末尾可选 |
|
||||
| `opening-generator` | **开局 · 开场白** | 无 `opening-setup` 时的兜底落库;有则选定开场白节点即收口 |
|
||||
| `worker-spec`(技能) | **游玩拓扑** | 勾选固定槽;旧称「Worker 规格」,勿再当自由发明演员 |
|
||||
| `design-core` 等 | (已废弃) | 旧分步 skill;勿再调度 |
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
| `intake` | 描述需求 | 发送 |
|
||||
| `input` | 补充说明 | 发送 / 补充并发送 |
|
||||
| `worker_questions` | 答题 | 补充并发送 |
|
||||
| `approve_step` | 确认 | 同意并开始 |
|
||||
| `approve_step` | 确认 | 同意并开始;回头修改时文案为「回头修改 · {技能名}」 |
|
||||
| `review_artifact` | 视产物(勿一律「验收」) | **流程编排** → 确认编排;技能步 → 接受;开场 → 选定此开场。旁挂「按意见改编排 / 按意见修改」 |
|
||||
| `next_intent` | 说话 | 继续(可留空) |
|
||||
| `revision` | 说话 | 按意见修改 |
|
||||
|
||||
@@ -86,8 +86,11 @@ declaration: …
|
||||
| 字段 | 作用 |
|
||||
|------|------|
|
||||
| `id` / `name` / `declaration` / `artifact` | 索引与产物映射;`declaration` 可被 prompt `meta` 覆盖 |
|
||||
| `repeatable` | 可选;`true` = 允许同能力多次编入增量 DAG |
|
||||
| `params` | 可选;编排期 `steps[].params` 声明(`key`/`label`/`required`/`hint`);必填项须在进执行前钉齐 |
|
||||
| `repeatable` | 可选;`true` = 允许同能力多次**新建**编入增量 DAG(每次彻底新的,不改旧条) |
|
||||
| `closer` | 可选;`true` = 创作终节点(选定后落库、关 DAG、保存定稿) |
|
||||
| `auto` | 可选;`true` = 程序步(提案后直接执行) |
|
||||
| `kind` | 可选;节点特性。缺省=普通执行步。`prior-artifact` = **先验产物**(须先定写什么;params 是规划产物,执行注入【规划产物】,不拦确认开干) |
|
||||
| `params` | 可选;普通节点=编排期 `steps[].params` 声明(必填项须在进执行前钉齐)。〔先验产物〕=规划产物字段(可提前填,空则步内钉) |
|
||||
| `opening` | 可选覆盖;一般只写在 prompt 的 `opening` 块 |
|
||||
|
||||
编排器注入【能力 · 可选工序】时,会读取各能力 `prompt.md` 的 `meta`(`declaration` / `when` / `when_not` / `boundary`),**不是**只看 catalog 短声明。执行全文仍只在 design-step 注入。
|
||||
@@ -104,6 +107,15 @@ declaration: …
|
||||
|
||||
配方**不要**重复罗列各能力调用条件;那是能力 meta 的职责。旧字段 `hint` 仍可读作兜底。
|
||||
|
||||
### 节点特性(`kind`)
|
||||
|
||||
节点特性是 catalog 上的固定系统,不是某一步的特例。缺省为普通执行步;后续会加更多 kind。
|
||||
|
||||
| kind | 中文 | 行为 |
|
||||
|------|------|------|
|
||||
| (缺省) | 普通执行步 | 有必填 params 时,确认开干前钉齐 |
|
||||
| `prior-artifact` | 先验产物 | 须先定「写什么」(生成规则、具体实例)。编排器可提前把规划写入 `params`——规划多条是正确的。执行时注入【规划产物】;规划可空,步内钉/修订。不拦确认开干 |
|
||||
|
||||
### 节点循环(通用)
|
||||
|
||||
```text
|
||||
@@ -113,15 +125,21 @@ declaration: …
|
||||
→ 用户选选项 / 写意见 →「按意见修改」
|
||||
(产物 + 追问 + 选项 + 意见 + 节点要求一并重跑)→ 新产物
|
||||
→ 循环直到「接受」
|
||||
→「下一步想写什么」(可留空,交给工作流计划 DAG)
|
||||
→ 展示下一节点并确认开干(可在此钉编排参数,如生成规则的 target)
|
||||
→ 直接提案下一节点并确认开干(普通节点可在此钉编排参数;〔先验产物〕不在此钉「写什么」;〔程序步〕如投影排序跳过确认直接执行)
|
||||
· 可反复技能再来一次 = 彻底新建(新 id / 新 params)
|
||||
· 已完成节点要改 = 回头修改(mode=revise,继承旧产物)
|
||||
→ 下一节点 opening / design-step …
|
||||
直到创作收口
|
||||
直到「开场白与开场变量」(〔收口〕)
|
||||
→ 产出 1~多条开场白 → 选定 → 程序落库、关闭 DAG、保存创作定稿
|
||||
```
|
||||
|
||||
「按意见修改」只重跑当前节点,不得跳到「下一步想写什么」。底栏空且未选追问时 Enter=接受;已选追问时 Enter=按意见修改。点按钮仍只做按钮自己的事。
|
||||
|
||||
有编排参数的能力:可在确认开干时钉齐 params;勿把「生成什么」拖到执行中途才问。
|
||||
「回头修改」是编排层能力:给已完成步骤追加一条 `mode=revise` 的新步,执行时注入既有产物继续改。它**不是**〔可反复〕再来一次——后者从零新建。漏了前面的节点、或谈完才发现要改上游,用回头修改,不必整局重开。
|
||||
|
||||
〔先验产物〕节点(生成规则、具体实例):编排器可提前规划「写什么」写入 params——提前规划多条是正确的。确认开干不补「生成什么」;执行时注入【规划产物】,步内钉或修订。
|
||||
|
||||
有编排参数的**普通**能力:可在确认开干时钉齐 params。
|
||||
|
||||
---
|
||||
|
||||
@@ -140,15 +158,15 @@ recipes/world-simulator|expand-assistant/recipe.yaml
|
||||
| 美学纲领与交互范式 | `aesthetics-interaction` | **范例已写**;前端 mosaic 视图 |
|
||||
| 实现机制 | `mechanism` | **已写**:`context-fragment.v1`(支撑点正文 + 自评 + 追问);`feeds: gm`;**专用卡已接** |
|
||||
| 舞台骨架 | `world-blueprint` | **已写**:`context-fragment.v1`;社会结构 + 世界状况;**专用卡已接** |
|
||||
| 生成规则 | `generation-rules` | **已写**:`context-fragment.v1`;宽原则 + 严合同键;可反复;`params.target`;挂 gm+auditor;**专用卡已接** |
|
||||
| 具体实例 | `concrete-instances` | **已写**:`context-fragment.v1`;只按规则执行;可反复;`params.rule_id` |
|
||||
| 生成规则 | `generation-rules` | **已写**:`context-fragment.v1`;宽原则 + 严合同键;可反复;**〔先验产物〕**;规划字段 `target`;挂 gm+auditor;**专用卡已接** |
|
||||
| 具体实例 | `concrete-instances` | **已写**:`context-fragment.v1`;只按规则执行;可反复;**〔先验产物〕**;规划字段 `rule_id` |
|
||||
| 叙事指南与故事推进 | `narrative` | **已写**:一份全文双挂;**不**为省 token 拆投影;结构化卡 |
|
||||
| 拓扑图谱 | `topology` | 骨架,待细写(拟改为选项小循环或降级) |
|
||||
| 设计监控栏 | `status-bar` | **已写**:只盯会变信息;通用 fragment 卡 |
|
||||
| 正文组成 | `reply-format` | **已写**:壳适配;P2 present 渲染已接 |
|
||||
| 正文组成 | `reply-format` | **已写**:壳适配 + 正文.`示例`(present.v1 预览,看美化);P2 present 渲染已接 |
|
||||
| 变量设计与更新规则 | `variable-design` | **已写**;专用/结构化卡 |
|
||||
| 变量控制上下文 | `variable-context` | **已写**:旁观汇总;mount 含 auditor;通用 fragment 卡 |
|
||||
| 开场白与开场变量 | `opening-setup` | **已写**:开场守版式+同真相初值 |
|
||||
| 开场白与开场变量 | `opening-setup` | **已写**:开场守版式+同真相初值;**〔收口〕**选定后落库并保存定稿 |
|
||||
|
||||
共用收成(池内保留,按需):
|
||||
|
||||
@@ -170,6 +188,6 @@ recipes/world-simulator|expand-assistant/recipe.yaml
|
||||
1. 只选配方 → 出**近期**创作流程(`status=open`)
|
||||
2. design-step 能切割出 `opening`/`task`/…
|
||||
3. 有 `opening` 时先程序开场再 LLM
|
||||
4. 可追加同能力多次(不同 step.id + params);收成前 `status=closed`
|
||||
5. UI 用编排术语;有编排参数的步骤须展示 params
|
||||
6. 缺必填 params 的步骤不得视为可执行(校验失败 / 编排先 askUser)
|
||||
4. 可追加同能力多次(不同 step.id + params,**彻底新建**);也可 `mode=revise` 回头修改已完成节点(继承旧产物);收成前 `status=closed`
|
||||
5. UI 用编排术语;有编排参数的步骤须展示 params;回头修改在流程上标「回头修改」,确认开干文案与「接下来生成」区分
|
||||
6. 缺必填 params 的**普通**步骤不得视为可执行(校验失败 / 编排先 askUser);〔先验产物〕规划可空,不拦确认开干;回头修改可继承原步 params
|
||||
|
||||
Reference in New Issue
Block a user