jianf 28d9d5e929 docs: 三层记忆移植 dsh 插件可行性评估
结论:只能做子集。

逐层结论
- L1 (context 热上下文) ≈20%:dsh 的上下文压缩是「摘要替换区间」
  (dsh-compaction-basic 的 compactSurfaceRegion),不是「按 query 相关性
  淘汰 + 迁出到冷层 + 按原时间戳迁回」。CompactionTrigger 接口拿不到
  query;MessageBase 无 timestamp 字段,surface 是 append-only + replace,
  无法语义插入。
- L2 (coldcontext 冷文档) ≈80%:存储/召回/注入可落,缺
  「Peek → 回灌 → Remove」的回收站语义。
- L3 (stablemem 图记忆) ≈85%:memory_blocks/memory_block_edges 结构
  完全可映射,node:sqlite 实测可用(含 FTS5);受限于无 embedding 服务。

关键发现
- dsh 无任何 embedding/vector service,需自建(推荐复用 HA 的 http
  provider HTTP 协议转发,2 人天)。
- systemPrompt.context() 的 AssembleContext 拿不到本步消息正文,
  「按本次输入召回后注入」必须走 agent/pre-step waterfall
  (参考 dsh-time-context 的用法)。
- dsh attachment 是 CAS,与 HA「媒体字节内联在块里、不做引用账本」
  的设计冲突 → 媒体块必须裁掉。

工作量(含判据与实测)
- L2+L3 子集:36-53 人天
- MVP(L3 + 工具 + 注入面):19-25 人天
- 完全等价(含迁出-迁回):不可行,不报价

报告含 7 章 + 两份附录(HA/dsh 双侧证据索引、环境实测结果)。
原文全程只读,未修改 HologramAgent 仓库。
2026-10-30 00:39:44 +08:00

HologramAgent-DSH-Memory-Port

评估 HologramAgent 三层记忆系统移植为 dsh 插件的可行性(调研/评估,不产出实现)

报告

→ docs/feasibility.md

结论摘要

只能做子集(四选一中的第三档)。

层 可移植性 瓶颈
L1 context 热上下文 ≈20% dsh 的上下文压缩是「摘要替换区间」,不是「按 query 相关性淘汰 + 迁移到冷层 + 按原时间戳迁回」;CompactionTrigger 接口拿不到 query,MessageBase 无时间戳
L2 coldcontext 冷文档 ≈80% 存储/召回/注入都能落,缺「回收站式 Peek→回灌→Remove」
L3 stablemem 图记忆 ≈85% 结构完全可映射(node:sqlite 实测可用),受限于无 embedding 服务

可整体搬运的资产:MemoryBlock 值对象、确定性 ID 派生、仲裁/拒答/符号检索算法——这三块与宿主无关。

推荐落地范围:L2 + L3 子集,L1 交给 dsh 自己的 compaction。 工作量(含判据与实测)36–53 人天;压到 MVP(L3 + 工具 + 注入面)19–25 人天。

最小第一步切片(1–2 人天):插件骨架 + Service 注册 + node:sqlite 建 memory_blocks

  • FTS5 召回 + agent/pre-step 注入 + 一个最小工具,全程不引入 embedding 依赖。 详见报告 §7。

取证方式

  • HologramAgent 源码与 docs/zh/ 设计文档:全程只读,未做任何修改
  • dsh 接口:只读 lib/types/*.d.ts(权威接口),不从 lib/*.js 实现倒推
  • 关键环境结论均有实测(node:sqlite + FTS5、onnxruntime-node 缺失、libonnxruntime.so 位置)
  • 每条断言标注文件路径与符号名;仅三处标注「推断」:turn≈FrameTS 映射、Intl.Segmenter 中文分词质量、人天估算
Description
评估 HologramAgent 三层记忆系统移植为 dsh 插件的可行性(调研/评估,不产出实现)
Readme 651 KiB
v0.1.0 Latest
2026-11-05 12:39:06 +08:00
Languages
JavaScript 99.8%
Shell 0.2%