v0.3.3:修正 Checkpoint 子代理用量
v0.3.3 是一个聚焦 WebUI 正确性的补丁版本。通过 checkpoint 启动的子代理,其目录行现在只报告该子代理自身产生的 Provider token 用量,不再把 fork 继承的父会话已完成历史重复计入。
修复内容
- fork 子代理会继承父会话的持久事件前缀,而 DSH 通用
tokenUsage投影按设计会统计完整日志。官方子代理下拉此前把这个累计值当作子任务本次用量,因此父会话使用 8.7K token、子代理使用 7K token 时,子代理行会错误显示 15.7K。Mnemon 现在维护一个以最新持久subagent/descriptor为起点的独立投影,同一 turn 与 step 的重复 usage sample 使用替换语义,并且只向官方子代理目录组件提供这个局部值。PR #87 完成了该修复。 - 对于没有持久 descriptor 的旧子会话,兼容层继续使用官方累计值。DSH 内核、checkpoint 与 fork 行为、通用完整日志
tokenUsage、官方 UI 源码、导航、语言包与样式均保持不变。
文档
- 中英文 README 顶部现在会在已有的 package 与仓库徽章旁展示实时 dshfind 下载量,由 PR #82 完成。
兼容性与升级
Runtime、档案、记忆空间、Provider、配置、RPC、工具与持久化格式均没有需要迁移的变化。DSH profile 未组合投影服务时,局部投影保持可选;官方子代理 lineage slot 不存在时,客户端适配层不会产生作用。
更新 dsh-mnemon 后重启每个使用它的 DSH profile,再重新打开受影响的父会话即可。现有 session log 无需改写,局部用量会在读取时从持久 descriptor 开始折叠。回滚到 0.3.2 不需要回滚数据,但 checkpoint 子代理下拉会再次显示继承后的完整日志累计值。
验证
- 完整 TypeScript 与 Vitest 验证通过,共 492 项测试;本地非 Windows 环境只跳过一项 Windows 专用 smoke test。
- 可复现双构建验证 105 个生成文件哈希完全一致。
- 隔离的真实 Headless profile 成功激活,模型请求可见 35 个工具,其中包含 5 个代表性 Mnemon 工具。
- 发布包包含 112 个文件,packed 大小为 371,923 字节,unpacked 大小为 1,685,781 字节,低于强制的 1,690,000 字节上限;10 个 Node 兼容公开入口均可成功导入,publint strict 与 attw ESM profile 全部通过。
- 使用未修改的 DeepSeek Harness 官方提交
b150a551b8d465e31e418e1b2eaf5e79bbb7d28e启动真实 Web 组合后,同一份 checkpoint 子代理测试数据在 Mnemon 适配前显示 15.7K token,适配后显示 7K,父会话仍保留自身 8.7K 的完整日志值。 - 发布变更通过
git diff --check。
上一轮 Runtime 与托管嵌入配置补丁见 v0.3.2 发布说明;可组合记忆架构与冻结的 Benchmark 记录见 v0.3.0 发布说明。