Repository navigation
Releases: drscrewdriver/dsh-prime-memory
Release list
v0.26.6
v0.26.6
新增
- 图谱确定性写面(计划 graph-write-plane):写面从"add/delete/import"补齐"改、重投、迁"三语义。
memory_update(高权限):修订一条既有记忆——就地产新版本(version+1,新 id),旧版经退场汇流口
superseded软删(可恢复),随后对 [旧,新] 强制重投让图谱边跟随;extKey 不随血缘走(幂等索引由旧行占位)。memory_reproject(需graph.enabled):抹掉"已按当前版本投影"凭证、按高优先级重新入队——绕开
projector_version永久跳过;幂等(在途任务不堆重)。手加/导入的记忆长期不出现在图谱里的纠正通道。memory_migrate_relation(高权限):源导式关系迁移——硬校验来源全部"现存未退场"(判据单源
classifyValidity)→ 显式边提案经applyGraphProjection纯函数校验落库(同 (起点,关系) 换目标自动闭旧边
出新边)→ 新增承载新关系的 L1 源记录留可回溯根据(metadataproposal_source='tool'+ 决策凭证)。
全程不提供、也不会提供绕过投影直写graph_*表的入口(零无源事实不变量)。- 非蒸馏写入自动入投影队:
memory_add/memory_import与蒸馏产出同优先级(GRAPH_PRIORITY_NEW)进队——
闭合"只有蒸馏才投影"的旁路缺口(手加记录 projected=None 的真根因)。图谱向量路缺陷同步修复:
嵌入启用时投影收尾为落库的 active 节点补写graph_node_vec(旧版本该调用生产零落点、全库 0 行)。
- 记忆时效三档与工具反查(计划 expiry-tiering,ADR-0022):退场方式/有效性定性/持续性/现实有效期
四轴正交,六态(current/historical/expired/expired_suspect/superseded/retired)判据单源classifyValidity(查询期谓词,
不落库翻态);dsh_validitymetadata 标注落写侧汇流口(证据链 activity_*→evidence、工具直填→llm_inferred、
兜底→unknown)。门2 灰度闸validity.tieringEnabled(默认关):开时被动注入剔expired、expired_suspect
保留带"疑似失效"标注,召回卡显示validity/validUntil。门3:memory_search新增include_expired/
as_of(有效期回放,不复活退场)/follow_supersede(顺/逆取代链)三参数,全缺省时输出与改前逐字一致。
存量标注由零 LLM 的validity-backfill低频补齐(启动 3 分钟首轮、6h 续跑;改过的记录顺手重投图谱保鲜)。
修复
- 门1 解耦:合法历史 valid_to 不再被静默遮蔽(bugfix,不受灰度门控):退场判据全仓改为只认取代标记
(retiredL1Sql/isRetired/md 投射层同口径一对);retire()不再闭合 valid_to,它回归纯现实有效期。
升版后首启自动做一次 FTS 全量回灌收敛误遮蔽历史(gate1.retire-decoupled.v1戳幂等,日志报回灌/跳过数;
向量面由增量重嵌自动补齐或设置页手动重建加速);面板"已退场"区/删除线/计数随之只认真退场行。 - 退场→图谱退役传播补腿(R9):软删/取代后按"来源是否全部退场态"重算清扫——全退场的 active/disputed
节点·边标 archived 墓碑(保留行 expand 可见),来源全部复活(restore)则拉回 active;多源支撑的节点不误杀。 - md 同步退场收敛:
.disable回灌的"已退场"判据换 marker 单源,修复同批翻转波及的"第二轮重复计数、
永不收敛 same"。
Release backfilled on 2026-10-22 from git tag + CHANGELOG history.
v0.26.4
v0.26.4
fix(recall): read session events via snapshotEvents accessor on 0.2.x hosts (issue #8) - readSessionEvents shape guard (array prop -> snapshotEvents() -> undefined); reconcile falls back to coarse marking only when truly unavailable, share estimate falls back to storage replay; 3-shape test钉桩 8 例; release 0.26.4 (#9)
No CHANGELOG section found for this version; notes auto-derived from the tag commit message.
Release backfilled on 2026-10-22 from git tag + CHANGELOG history.
v0.26.3
v0.26.2
v0.26.2
- hosts: 追加 0.2.1-rc.2 声明面枚举(34/34 @deepseek-ai/* 宿主 peer 逐包 npm 实测 rc.2 在版;本插件不触 ctx.web provider 与 conversation.input.model.label 槽,代码零改动,纯元数据发版;农场 rc.2 格挂账待命)
本文件记录 dsh-prime-memory(0.5.0 前名为 dsh-memory-plugin)的显著变更。格式参考 Keep a Changelog,
版本号遵循 语义化版本。
UI 截图约定:带界面变化的条目在
assets/changelog/<版本号>/<两位编号>-<简述>.png
存真机截图,并在条目内以相对路径引用,读者可在更新日志里直接看到新版本 UI 的样子。
Release backfilled on 2026-10-22 from git tag + CHANGELOG history.
v0.19.0
v0.19.0
变更
- DSH 0.2.0 适配(compat/0.2.0):peerDependencies 与 engines.dsh(package.json + dsh.plugin.json)整体换代到
>=0.2.0-rc.1 <0.2.1-0(单段替换,0.1.7 线由 compat/0.1.7 分支继续服务);devDependencies 9 个 dsh-* 精确钉 0.1.1-rc.2 → 0.2.0-rc.1 并新增 type-only 依赖@deepseek-ai/dsh-compaction。代码层适配 0.2.0 宿主 API 漂移:agent/session-start事件并入agent/created(监听器改为 async 以满足 serial 契约);Session 事件读取session.events→session.snapshotEvents()(宿主已弃用同步全量读取,保留降级链);测试桩同步更新(projection 游标 offset 语义)。 - 发布元数据:版本 0.18.4 → 0.19.0;publishConfig.tag
dsh-0.1.7→dsh-0.2.0;dsh.plugin.json version →0.19.0-dsh0.2.0.1。
Release backfilled on 2026-10-22 from git tag + CHANGELOG history.
v0.18.4
v0.18.4
新增
- 崩溃恢复(§A):宿主在轮次中途崩溃时,该轮对话此前会随内存缓冲永久丢失(resume 的冷启动地板丢弃全部历史)。现在 resume 时从宿主持久化事件日志对账:以 L0 已落盘的最大 turn 为水位线,补收其后的完整轮次(上限 2 轮;崩溃孤儿轮由宿主补写
turn/end{reason:'interrupted'}闭合,本机实测 98 处)。幂等 = 水位线 + 逐轮存在性检查;宿主读日志服务不可用时逐级降级(sessionQuery.readSession→sessionPersistence.readFrom→ 维持现状 + 一次性提示),全程 fail-open 不阻塞会话启动。 - 载荷脱敏(§C,
capture.redactSecrets,默认开启):捕获写入边界把 8 类密钥(PEM 私钥 / Authorization 头 / Bearer 与 JWT / Cookie / 厂商 API key 形态 / 邮箱 / ≥9 位长号(排除日期)/ 高熵 ID)替换为[REDACTED:<KIND>]类型化占位符——单点覆盖 L0 JSONL、L0 SQLite、蒸馏输入与手动memory_add/memory_import(两条 L1 写入边界同词表)。安全值(example/$VAR/${{…}}等)不脱;占位符保留类别语义、可被检索命中。注意:开启后 L0 原文自此改变(重建不可得原文),false一键回明文。 - 蒸馏提示词防注入(§B):六处蒸馏 prompt(L1 抽取 ×3 / L1 去重 ×3 / L2 场景 ×2 / L3 画像 ×2 / 图谱投影 / 核对器)全部加入"内容边界(防注入)"总声明与数据插槽界定——对话原文、既有记忆池、场景全文等嵌入内容一律是数据不是指令,防止对话携带的指令性文字劫持蒸馏、去重与裁决。判定词表与输出契约零变化。
改进
- 注入确认(§D):召回注入不再在返回瞬间标记去重,改为"pending → 日志回执"两段式——宿主把注入消息真实写入会话日志(
user/message带plugin:memory署名与稳定 id)时才dedupe.mark。被覆盖/取消的注入不再误压制记忆(下轮可重注);5 分钟未回执降级为照常标记(防确认链路故障导致去重失效),未确认即弃。 - 压缩精确再注入(§E):
compaction/end(无 error)后,该会话下一轮做一次定向增强召回——跳过去重压制(压缩已把旧注入逐出上下文)、画像立即重注入、占用账本归零;消费即清。原有 compact/clear 会话级全量重置保留为回退路径,双路径幂等。 - 结构化追踪(§F,
trace.*):召回与蒸馏事件按天 JSONL 落盘(<dataDir>/trace/,保留期默认 14 天,单日 5MB 停写 + marker)。召回事件含 query 指纹(默认 metadata-only:长度 + sha256,trace.captureContent才存原文 ≤200 字符)、命中/注入 id、分数、耗时与四种结局(injected/suppressed/timeout/off);蒸馏事件含 runId、六值决策聚合(与l1_receipts同源可交叉审计)、耗时与成败。新增dsh-memory/trace-tail端点;设置页"日志"Tab 新增 系统日志 / 召回追踪 / 蒸馏追踪 三数据源切换。
Release backfilled on 2026-10-22 from git tag + CHANGELOG history.