Repository navigation
v2.5.0
Grow 2.5.0 — 2026-10-22
重组会话历史存储与恢复链路,减少长会话恢复时的重复读取、解析和 TUI 扫描,并补齐恢复、持久化和展示回归。
升级注意: 本版使用新的会话账本格式(Timeline schema v27),不自动迁移旧会话。旧会话请继续使用原版本读取,升级前请备份 GROW_HOME。
会话历史与恢复
- 以单一 Timeline 账本保存领域事实、必要展示事实和顺序锚点,删除独立 updates 持久化与跨文件对账;已接纳响应正文只保存一份。
- 在同一恢复边界内复用已校验的根和子会话结果,减少重复读取、身份索引重建及投影构造。
- 保留完整历史校验、原顺序、持久 ACK、子会话归属和恢复后的继续输入;恢复期间普通输入保持关闭,Ctrl+D 可以退出。
Resume 性能实测
直接对比 2.4.3 与 2.5.0 官方 release 发行包,在同一台机器恢复相同逻辑的长文本会话。6144轮会话从启动恢复到可输入,由约 16.39秒降至1.37秒,耗时减少约 92%(约12倍加速)。
| 会话规模 | 首条历史可见:2.4.3 → 2.5.0 | 末屏可见:2.4.3 → 2.5.0 | 可输入:2.4.3 → 2.5.0 |
|---|---|---|---|
| 512轮(约16 MiB回复正文) | 0.31 → 0.18秒 | 0.55 → 0.18秒 | 0.67 → 0.21秒 |
| 2048轮(约64 MiB回复正文) | 0.81 → 0.47秒 | 2.06 → 0.58秒 | 3.25 → 0.59秒 |
| 4096轮(约128 MiB回复正文) | 1.76 → 0.68秒 | 4.07 → 0.96秒 | 8.37 → 0.99秒 |
| 6144轮(约192 MiB回复正文) | 2.98 → 0.87秒 | 6.59 → 1.30秒 | 16.39 → 1.37秒 |
均从启动 grow --continue 起算。首条历史指首个含历史正文的完整PTY帧,末屏指最后一轮历史可见;可输入通过全历史恢复、Loading消失后的草稿探针回显验证,不以末屏代替就绪。6144轮首历史和末屏耗时分别减少约71%和80%;4096轮可输入耗时减少约88%。
环境为 Apple M4 Pro / 24 GiB / macOS 27.0.1、50×120 PTY,两版均为官方 macOS ARM64 release-dist 包,默认关闭诊断。每组五对AB/BA交替取中位数,排除预热;新进程、独立 HOME/GROW_HOME、温热文件缓存,仅纳入无编译干扰的正式窗口,受干扰样本整组或整对排除。样本是纯文本根会话,不保证其他硬件、冷盘、图片或子会话负载获得相同收益;未做就绪与历史分页分离。512~4096轮数据与方法、6144轮独立补测与范围。
TUI 与图片
- 按可见需要延后历史 Markdown 展示计算,减少布局重复维护、无效图片扫描和临时正文复制。
- 保留图片、Mermaid、raw/pretty 复制、历史选择与终端缩放后的布局和来源关系;快速恢复仍按实际吞吐向前滚动。
- 图片可在无文字草稿时提交,
/btw复用主会话已持久确认的图片描述,并保留失败后输入恢复。
周边修正与验证
-
整理内部消息布局、锁作用域和跨平台路径规范化,完成固定 Rust 1.93.1 下的 fmt、Clippy 严格检查与 release 编译验证。
-
修正技能、Runtime 收件消息和 thinking 历史的模型协议投影,保留原始工具结果和来源。
-
修正 MCP 工具目录分页与当前 Agent bridge 的目录同步;补齐 Settings 交互和偏好失败回滚测试。
-
增加现代长会话 release 基准及首历史发送、消费、绘制与 writer ACK 归因。收益依赖历史类型、帧节奏和输出速度,不承诺所有会话的首屏均加速。