Skip to content

Releases: Jackbessaliuz/dsh-memory-semantic

v1.1.0 — FTS5 词法召回 + thinking-guard 并入

Choose a tag to compare

@Jackbessaliuz Jackbessaliuz released this 17 Oct 22:54

v1.1.0 — 更快、更干净、带防复读

⚡ 词法召回从 440ms 降到毫秒级

轮次召回改用 SQLite FTS5(中文按 bigram 入索引,与内存 BM25 同一套分词)。
实测 1391 轮:每轮固定开销 440ms → 6~17ms,且不再随库规模线性增长。
升级后自动迁移(首次打开库建索引 + 回填存量轮次,1424 轮约 0.65s,一次性),无需手动重建。

🛡️ 防复读退化(thinking-guard 并入)

思考退化成复读时,那块 reasoning 会被从模型可见历史里折叠掉——日志原文不删、人看的记录不受影响。
新增 guard 配置段(判据与独立版 thinking-guard 一致,235 会话校准);建议先用 guard.dryRun: true 观察一天。

🔧 Ollama 自动拉起更可靠

autoStart 现在在插件启动时就探测/点火,不再只在调用 memory_semantic 工具时触发;并每 5 分钟低频守护,Ollama 中途退出会被重新拉起。设置页文案同步。

🕸️ 图谱重建不再卡界面

重建改为后台任务,构图分块让出事件循环(此前 820 节点 1.4s 全程阻塞宿主);设置页新增「重建图谱」按钮与过期提示。

🐛 修复

  • 轮次 id 改为按 (sessionId, userSeq) 派生,与 UNIQUE(session_id, user_seq) 对齐——消除已实证的 UNIQUE constraint failed
  • 写库序列包进单事务,失败回滚并记 failed 走退避——不再"半写的轮次 + 队列永久 pending"
  • 合同层空白串改 trim();recoverLimit / guardCooldownMs 补进归一化;embedTexts 加 8s 超时
  • 融合权重接上实测值(ROUTE_WEIGHTS 此前是死常量);routes 标签统一语义;图谱路线只保留分数前 20%

v1.0.0 — 首个公开版本

Choose a tag to compare

@Jackbessaliuz Jackbessaliuz released this 08 Oct 11:18

给 meow-memory 记忆系统加一层语义检索:让"记过的"变成"想得起来的"。

它补上三件事

工具 作用
memory_semantic 语义检索:本地向量 + BM25 融合,换个说法也找得到
memory_graph 记忆图谱:加权 PageRank 找枢纽、社区聚类找同类、相似邻居
recall_turns 对话原文召回:翻回更早对话里的逐字问答

外加几条自动接线:跨会话接力 / 动作触发注入 / 每轮召回注入 / 注入去重。

实测(本机 1300+ 轮真实记忆库)

  • 全库融合检索 R@1 54.7%、R@3 62.5%、R@5 68.8%
  • 纯语义单路 R@1 32.8%(索引文本从"抽取摘要"改成"用户原文"后,从 6.3% 修上来)
  • 一条结论:语义不是"更强的检索",是另一种视角——价值只在融合里兑现

装之前请务必先读

  • ⚠️ 必须和 meow-memory 一起用:本插件不含任何写入能力,只读记忆库(单独装等于空转)
  • Ollama 可选:装了走向量+关键词融合;没装自动降级纯 BM25,功能不中断
  • token 开销已实测:见 README「配套使用须知」第 ⑥ 节——每轮抽取约 2,600 输入 + 240 输出 tokens,召回注入每轮最多约 1,100;两条都能单独关

法律与致谢

本项目移植设计(不 fork)自 graph-memory(MIT License):轮次记忆数据模型、召回算法与 surface-takeover range 语义。详见 README 的 Credits。