Roadmap
September 4, 2026 · View on GitHub
本文按依赖顺序列出接下来的实现。稳定产品规则见 design.md,已实现结构见 architecture.md。
当前基线
已经完成:
- Global/Workspace Markdown Store;
- Workspace key、frontmatter 校验、派生
MEMORY.md; - revision/CAS、scope lock 和原子提交;
- Global 与当前 Workspace index 的动态 Prompt context;
- Host-owned revision observation 与原子 batch
memory_update; - loopback RPC 的
status、global/read、global/replace; - Settings 中的 Status 与 Global 编辑;
- Host Workspace catalog、
workspaces/list、workspace/read与只读 Workspaces UI; workspace/commit、Browser 批量编辑和保留草稿的 CAS 冲突体验;- SessionPersistence 驱动的
sessions/list、live/stability/Workspace 资格判断和只读 Sessions UI; - DSH 活跃文本模型目录联动、整理设置 CAS 配置与 Settings UI;
- 用户按需开启的本地脱敏 JSONL debug 日志;
- Host、Browser、协议和 Store 的基础测试;
- 本地 Bundle 安装、Web boot、Client bundle 与代表性 RPC 冒烟。
M1:Workspace 管理
维护优先级:已修复 memory 保留名称冲突;双进程诊断已确认共享目录写入可能丢更新。下一步可靠性修复需覆盖跨进程写锁、读取一致性、receipt/settings 并发与崩溃恢复,不能只扩大实例内锁的声明范围。
状态:实现完成并通过真实 Web 编辑/冲突验证,发布前 GIF 待补。它把已有 Store 能力完整暴露给用户,也为 Session 整理提供可观察、可修正的目标数据。
实现:
- [完成] Host Workspace catalog:从 memory root 枚举 Workspace,并返回 opaque
workspaceId、显示名、revision 和统计; - [完成]
workspaces/list:不暴露绝对路径或内部 key; - [完成]
workspace/read:返回派生索引和结构化记录; - [完成]
workspace/commit:一次 CAS 批量执行 put/delete,并只发布一个新 generation; - [完成] Workspaces UI:选择、刷新、查看、创建、编辑、删除;
- [完成] 冲突体验:旧 revision 保存时展示冲突并保留用户未提交内容;
- [部分完成] Store/RPC/UI 单元测试和真实 Web 编辑/冲突验证已完成;发布前 GIF 待补。
完成标准:Browser 不直接写文件;任意非法 Workspace id、记录或 response 都被拒绝;一次批量提交不会产生部分写入;刷新后 UI 与 Markdown 一致。
M2:Session 浏览与资格判定
状态:实现完成并通过真实 Web 列表验证。该切片只读取轻量持久化元数据,不调用模型:
- [完成] 可选注入
sessionPersistence与 live Agent registry; - [完成] 通过后端无关
listSnapshots()连续观察两次 snapshot; - [完成] 排除 live、无 cwd、不属于可解析 Workspace 或 revision 不稳定的 Session;
- [完成]
sessions/list返回可整理状态、原因、最新 receipt、opaque Workspace 归属和 DSH 标题投影,并整体排除已归档 Session 与内部整理 Workspace; - [完成] Sessions UI 先选择 Workspace,再按标题展示列表、归属与禁用原因,并已通过真实 Web 使用验证;
- [完成] 单元、组合测试与真实 Web 列表、Workspace 导航、标题展示验证已完成。
完成标准:不扫描 .dsh JSONL;重启后结果仍来自持久化 API;当前正在运行的 Session 永远不可整理。
M3:手动 Session Consolidator
状态:实现完成,发布前验证收尾中。Global/Workspace 整理已通过真实 Web 使用验证,非法 proposal 失败链路已通过;自动组装回放和发布 GIF 尚待补充。
详细流程、数据契约、状态机和实施切片见 session-consolidation.md。
- [完成] 冻结 source Session revision、完整逻辑事件、Global 与当前 Workspace generation;
- [实现完成,自动组装验证待补] 创建受限的多轮 worker Agent/Session,使用专属运行 cwd,并在 Web Host 中挂到独立的
Memory ConsolidationWorkspace; - [实现完成,自动组装验证待补] 将 turn evidence、Global 正文与现有 Workspace 记忆通过可回放的 user-role 消息提供;
- [完成] 接收并校验 Global
replace-global、Workspaceput | delete与no-changeproposal,计算与 commit 一致的双作用域 preview; - [完成] 二次检查 source 与 Global/Workspace target revision;
- [完成] 通过 durable intent 与
MemoryStoreCAS 提交双作用域变化,并收敛 crash-recovery 分支; - [完成] 写入稳定 Markdown receipt,保留 attempt 历史、覆盖失败状态,并在 source revision 已增长时优先恢复旧
committingreview; - [完成] 接通
sessions/consolidate与 Sessions UI,并通过真实 Web 成功整理验证; - [完成] 接入 DSH 活跃文本模型目录,保存独立整理 route,真实 worker 已使用所选 route;输出预算通过统一模型能力解析适配每个 route;
- [完成] 区分 Provider 与内部运行错误,并在用户开启 Debug 后为新 attempt 写入脱敏 JSONL 日志;真实非法 proposal 已验证错误分类、stack 与确定性日志路径。
- [完成] 排除事件噪声、插件 runtime context 和工具正文,保留真实用户文本、最终回复、工具状态与 compaction summary;真实长 Session 已从约 2.06 MB 压缩为约 9 KB,筛选后仍超限时显式失败。
完成标准:无部分写入;重复成功 review 不再次调用模型;取消、冲突、非法输出和 Provider 失败都有 receipt;整理过程可从 worker Session 回放。
M4:真实使用后的评估
LoCoMo 与 LongMemEval 的数据特点、初步适配流程、指标和实施顺序见 evaluation-benchmarks.md。
状态:已开始。当前已实现与插件代码隔离的 LoCoMo-10 评测,固定比较无记忆 baseline、在线 Auto Memory 和 Auto Memory + Session Consolidation,并提供 conv-26 与全部 10 个 sample 的批量入口。评测使用仓库外隔离沙箱、真实 Agent Session 导入、独立 QA DSH Home、受限完整 Python SDK profile 的逐题新 Session,以及与 OpenViking 一致的 category 5 过滤、独立 LLM Judge 和分类 Accuracy 汇总。Ingestion 只暴露 memory-root 受限的 read 与 memory_update;记忆 QA 只暴露 memory-root 受限的 read,baseline 明确没有历史、记忆或工具;各阶段都禁用仓库指令发现并设 step 上限。QA 可在一个 SDK runtime 内以独立 Session 有界并发,不同 sample 也可在独立沙箱中有界并发;记忆模式共享冻结的只读快照,并单列墙钟耗时。Consolidator 明确因 max-tokens 未提交 proposal 时,该 attempt 的耗时与 Token 仍被记录,但不会中止后续 Session;其他整理错误保持失败。Ingestion、QA、Consolidation、Judge 分阶段记录耗时、调用和 Token,并支持由显式费率计算阶段与全流程成本。三种模式的完整 LoCoMo-10 运行已经完成;自包含 HTML 报告汇总总体、sample、分类、成本、Prompt 与逐题结果,不包含 Agent trace。
第一版闭环运行后再设计:
- 提取与合并 Prompt 的版本化;
- 固定 Session 数据集和 replay eval;
- 访问证据与 recall usefulness;
- 合并、归档和淘汰策略;
- 自动 idle/周期调度;
- 远程执行环境的只读 memory mount。
不要在 M1–M3 期间预先加入向量库、多 Provider、知识图谱、跨 Workspace recall、importance/tag 字段或策略自修改。