Files
writing-agent/docs/book-play-options.md

65 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 本局游玩选项
> 状态:已定,未实现。
> 记录: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`
卫星项未实现前,弹窗只显示「历史滚动总结」。