记下本局游玩选项跟书走的约定,先不改运行逻辑。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-14 08:30:11 +08:00
co-authored by Cursor
parent 749eb2f5b0
commit e683df28dc
+64
View File
@@ -0,0 +1,64 @@
# 本局游玩选项
> 状态:已定,未实现。
> 记录:2026-10-11。
创作收口后点「保存定稿」,保存成功再弹出本局选项。选项跟书走,写在 `books/{id}.json`,不跟模型档案,也不进全局 `settings.json`。
换模型是临时的,这本书的楼层是固定的。选项若跟模型走,切模型时上下文会突然展开或收起。全局一个开关则短篇试玩和长书只能共用一套策略。
## 何时出现
```text
创作收口 → 点「保存定稿」→ 定稿写入成功 → 弹出「本局游玩选项」
```
保存失败不弹。关掉弹窗等于沿用这本书上已有的值;新书没有写过时,各项用下表默认。
同一张面板以后可以从这本书再打开,用来改已保存的选项。改动从下一轮模型调用生效,不要求重存一份定稿。
## 存哪一层
| 东西 | 落点 |
|------|------|
| 开关、间隔、以后的卫星开关 | 这本书(`books/{id}.json`) |
| 已经写好的总结段落 | 这条游玩线的历史里,随 run 存档 |
| 当前选用的模型 | 不读、不写这项 |
一本书可以有多条游玩线。开关是书级的,各条线共用;每条线自己的总结段落不互相覆盖。
关掉总结后,已经写过的段落留在书里,只是不再送进模型。再次打开时从上次停下的楼层接着写,不把旧总结再总结一遍。
## 第一项:历史滚动总结
游玩时,每隔 N 层楼,把更早的原文楼层换成一段新总结。已有总结原样保留,程序不得把它们再送去改写。
| 字段 | 默认 | 含义 |
|------|------|------|
| `historySummary.enabled` | `false` | 新书关闭。打开后才按间隔写总结并送进上下文 |
| `historySummary.everyFloors` | `6` | 每隔多少层替换更早的原文。可调范围 4~8;一回合往往是一整场,不宜每层都总结 |
| `historySummary.keepRawFloors` | `4` | 始终保留的最近原文层数。可调范围 2~4 |
打开后,送进模型的历史段顺序是:
```text
稳定设计产物
→ 已冻结的总结段落(旧段不改写)
→ 最近 keepRawFloors 层原文
→ 变量与本轮用户输入
```
关闭时维持现在的做法:`对话.历史` 按 projection `summary` 保留最近约 20 段原文,不调用总结。
这和 `docs/briefs/dictate-only-creation.md` §10.4 的「写大总结 / 清空旧楼层」不是同一件事。那边是游玩中手动两步,且清空会删楼层。本项只替换模型看到的更早楼层,书上的原文楼层仍留着。
## 以后加在同一张弹窗里
新的本局开关加一行,仍然只写这本书。不为此另开页面,也不按模型分叉。
当前预留、尚未定义行为的例子:
- 是否启用生图 worker 及其他卫星 worker
- 壳生图(背景、立绘):以后再说,见 `docs/briefs/shell-image-todo.md`
卫星项未实现前,弹窗只显示「历史滚动总结」。