Skip to content

Releases: drscrewdriver/dsh-prime-memory

v0.26.6

Choose a tag to compare

@drscrewdriver drscrewdriver released this 22 Oct 12:18

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 源记录留可回溯根据(metadata proposal_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_validity metadata 标注落写侧汇流口(证据链 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

Choose a tag to compare

@drscrewdriver drscrewdriver released this 22 Oct 12:18
c7151dd

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

Choose a tag to compare

@drscrewdriver drscrewdriver released this 22 Oct 12:18

v0.26.3

release: 0.26.3 - omit refViews when unresolvable (fix #6, PR #7 + test shape alignment)

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.2

Choose a tag to compare

@drscrewdriver drscrewdriver released this 22 Oct 12:18

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

Choose a tag to compare

@drscrewdriver drscrewdriver released this 22 Oct 12:18

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

Choose a tag to compare

@drscrewdriver drscrewdriver released this 22 Oct 12:18

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.