KLRSL/dsh-biomemory ↗★ 6

dsh-biomemory

生物仿生记忆系统(Biomimetic Memory for DeepSeek Harness)v0.8.2: 冲突裁决闭环(superseded 由死值变为「人工作废」语义,含 UI 作废/恢复出口)+ 按需抽取按钮(预览零 token)+ UI 说真话(模型卡三态/审计注脚)+ 归档出口; 自动代谢修复(间隔判据改 meta 时间戳 lastDreamAt/lastReflectAt,衰减改为「距上次代谢的增量时间」幂等计算——修复重复 dream 造成的复合衰减与 19 条行为记忆误归档;新增 store.unarchiveEntry 取消归档)+ 钉住不再清零权重 + 删条目不抹审计 + 状态页代谢计数不再被 limit=50 截断 + 语义命中不再被误计 hits + 嵌入模型真懒加载(preloadEmbeddings 默认关,含负缓存)+ busy_timeout + 清理 Markdown 时代死代码(并修:巩固只认「最近被真实召回」的条目、restore 保留原 entry_id、Web API 请求体上限 1 MiB、设置页主题监听只挂载一次、设置页测试纳入 npm test)+ 写入去重/自动合并(记忆原子化:近重复合并进已有条目并提权,nearDuplicateAction)/ 沉淀提醒窗口可配(sinkWindowMinutes 默认 5 分钟)+ 设置页补齐新配置项(去重阈值/提醒窗口/合并策略/预加载)/ 快照标注为不可信数据 / 备份-恢复加固(checkpoint 检查 + 备份自检 + 原子替换 + pre-restore 快照)/ 管理面板请求可中止 + 镜像同步挂载(dream/reflect 后自动把 SQLite 导出为人类可读镜像)+ 审计双写修复(记忆写入/编辑/删除/钉选同时落 SQLite 与镜像)+ 备份文件唯一性兜底 + SQLite 数据层(node:sqlite 内置,零外部依赖)+ 本地嵌入模型语义检索(bge-small-zh-v1.5,离线)+ exact/semantic/hybrid 三模式(exact 相关度优先、weight 限幅 +50%)+ RRF 融合(weight 归一到同量级)+ 冻结快照注入(Memory/Retrieved/Applied 三层分离 + 预算硬上限与逐条截断)+ 审批门(默认 fail-closed)+ 记忆代谢(断点续跑)+ 记忆钉(锁定=不遗忘 + relevance admission)+ 记忆类别与来源(memory_class/source_ref,建议≠决定)+ 结构化审计 + 深度反思 + 知识页 + 可编辑条目 + 冲突浮出置顶 + /memory 命令;管理 UI 按记忆功能设计语言(档案+时光流/紫粉品牌色)+ 深色适配(DSH 主题跟随) 适合需要记忆衰减、深度反思、冲突提醒及精细化记忆条目管理的用户。

Package
dsh-biomemory
Compatibility
Unverified
Harness peer range
>=0.1.1-rc.2
Cordis peer range
^4.0.2
Version
0.8.2
License
MIT
Last updated
Sep 20, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:KLRSL/dsh-biomemory

使用指南

memory 工具(action 清单)

action参数说明
addtext(必填), track=user|agent, source保存记忆;重要条目自动请求审批,审批不可用时按 approvalFallback 降级
querytext, mode=hybrid|exact|semantic, topK, minWeight, projectId, fragmentTypes, includeArchived查询;命中自动巩固(用进废退)
updatefp, text编辑一条记忆(保留锁定/权重等元数据;文本变了向量置空重算;审计 UPDATE)
removefp删除一条(删除前自动备份数据库,可回滚)
restorefp从最近备份回滚被删除的一条
listtopK列出全部条目;与偏好冲突的行为记忆置顶并标注
pin / unpinfp锁定/解锁。锁定 = 不遗忘(防衰减/归档),不代表每轮必须执行
dreamdryRun, resume(默认 true)记忆代谢:衰减/巩固/冲突/归档;支持断点续跑
reflectdryRun深度反思:主题聚类/趋势统计/冲突提醒/遗忘建议
audittype, sinceDays, aggregate, groupBy(action|day|entry)结构化审计查询/聚合统计

示例:

memory action=add track=user text="正式名「大肥鱼」,不用旧名" source="用户原话"
memory action=query text="UI 渲染宽度规则" mode=hybrid topK=10 minWeight=0.1 fragmentTypes=decision,preference
memory action=audit type="DECAY" sinceDays=7
memory action=audit aggregate=true groupBy=day

记忆类别(自动推断,写入时记录):user_decision(用户明确决定)· user_preference(用户偏好)· fact(普通事实)· model_suggestion(模型建议)· model_inference(模型推测)。建议 ≠ 决定,模型建议永不冒充用户拍板。

memory_recall 工具

跨会话召回(「你还记得…吗」场景),与 memory query 同底,语义上专用于回忆:

memory_recall text="去年定下的版本规则"

/memory 命令族

命令说明
/memory list列出全部条目(冲突条目置顶)
/memory query 关键词 + 语义检索
/memory add 直接写入(人类发起,免审批)
/memory edit 编辑一条
/memory remove 删除一条(可回滚)
/memory undo 回滚被删除的一条
/memory pin / unpin 锁定 / 解锁
/memory entries [词]列出条目(可带过滤词)
/memory dream [--dry-run]记忆代谢
/memory reflect [--dry-run]深度反思
/memory audit [--since 7d] [--type DECAY]审计查询

冻结快照注入

会话启动时,插件自动把高价值记忆冻结注入 system prompt(注册即冻结,快照标记「会话冻结」):

  • 头部明确三层概念:本快照 = Applied Context(已注入 prompt);Memory(存储层)与 Retrieved(查询候选)不在此列;检索到 ≠ 已采用。
  • 注入顺序:锁定记忆(最高优先级,不参与衰减)→ 用户偏好(最高优先级,写入须尊重)→ 近期知识 → 近期行为。
  • 与偏好冲突的行为记忆置顶并标注 [冲突],由你裁决修改。
  • 热区 token 预算 hotTokenLimit(默认 5000),超出时保留偏好与锁定段。

分级审批门

记忆类型审批方式
用户偏好 / 项目决策 / 踩坑教训(track=user 或命中重要词)人工审批(ask)
普通事实自动写入(auto)
审批通道不可用(策略 never / 服务缺失)按 approvalFallback:auto = 自动保存并审计降级标记 · deny = 拒绝写入(fail-closed)

记忆代谢(Dream)

相当于睡眠时大脑做的事——/memory dream 或 memory action=dream:

  1. 半衰期衰减(默认 7 天):w × 0.5^(年龄/半衰期),下限 1。
  2. 引用巩固:单条命中引用 ≥ consolidateThreshold(默认 3)次则 +1 权重,上限 weightCap(默认 20)。
  3. 冲突豁免:与偏好冲突的行为记忆不衰减不归档、保持活跃,在列表与快照中置顶浮出,由你人工裁决(编辑改掉冲突内容后恢复正常代谢),记 CONFLICT 事件。
  4. 低权重归档:权重低于 decayThreshold(默认 3)→ status=archived,移动不删除。

执行前自动备份数据库(保留最近 7 次,ROLLBACK 事件可溯);每 100 条写检查点,中断后 resume=true 断点续跑;--dry-run 只预览不落盘。

深度反思(Reflect)

纯本地、无 LLM 的周期总结:主题聚类(TF 向量余弦相似度 ≥ 0.25)· 趋势统计(近 7 天 vs 上一周写入量)· 冲突提醒(行为与偏好潜在冲突清单)· 遗忘建议(低权重候选)。报告写入 longterm/reflections/.md,支持 --dry-run 预览。

知识库(管理 UI)

DSH 设置页「记忆工作台」五个 tab:

tab功能
概览存储统计(条目/锁定/分层/向量数/审计近 7 天)、模型状态、迁移状态、冲突与低权重速览
知识库全文/语义搜索(exact/semantic/hybrid)、按分层筛选、权重/引用/时间/锁定状态展示;一键锁定/解锁、就地编辑、安全删除(先备份可回滚);冲突条目置顶 + 红色徽标
代谢一键执行 / 预览记忆代谢,展示衰减/巩固/冲突/归档结果
反思一键执行 / 预览深度反思,报告罗列与冲突就地裁决(编辑或删除)
设置全部配置项可视化编辑(含恢复默认)

审计

双通道:SQLite audit_log 表(结构化,五元组 t / actor / action / entry_id / detail,主通道)+ audit.log(人类可读一行摘要,向后兼容)。

事件类型:WRITE / DECAY / CONSOLIDATE / CONFLICT / ARCHIVE / RECALL / ROLLBACK / AUTO-DREAM / AUTO-REFLECT(其余辅助事件:PIN / UNPIN / UPDATE / REMOVE / RESTORE / MIGRATE / VECTORIZE / PREVIEW / REFLECT / CONFIG)。

/memory audit                      # 最近事件
/memory audit --since 7d           # 最近 7 天
/memory audit --type DECAY         # 只看 DECAY
memory action=audit type="DECAY" sinceDays=7
memory action=audit aggregate=true groupBy=action   # 聚合统计

语义检索

先关键词匹配;命中不足时用纯 JS 的 TF-IDF + cosine 补充召回(无原生模块、完全离线)。配置了本地嵌入模型(bge-small-zh-v1.5,512 维,存储于 ~/.dsh/models/)且可用时,自动升级为 hybrid 融合检索(RRF 变体);模型缺失/加载失败自动降级为关键词检索,记忆功能不受影响。语义命中在输出中标注「语义」。

配置

key默认值说明
halfLifeDays7半衰期(天):权重每过半衰期衰减一半
decayThreshold3权重低于此值 → 归档(移动,不删除)
consolidateThreshold3引用 ≥ 此次数 → 巩固(+1 权重)
weightCap20巩固权重上限(防膨胀)
hotTokenLimit5000快照注入热区 token 上限
maxQueryResults20查询返回上限
approvalFallbackauto审批不可用时:auto=自动保存并审计降级 / deny=拒绝写入
autoDreamDays7启动时距上次代谢(meta lastDreamAt)≥ 此天数自动执行(0=关闭)
autoReflectDays3启动时距上次反思(meta lastReflectAt)≥ 此天数自动执行(0=关闭)
preloadEmbeddingsfalse启动时是否预建向量索引(v0.8.0 起默认不加载嵌入模型,首次语义检索时才加载;置 true 或 DSH_BIOMEMORY_PRELOAD=1 可预热)
nearDuplicateThreshold0.7写入去重(v0.8.0):与已有同类条目的中文 bigram 相似度(长度相近时取 Jaccard 与包含度的较大者)≥ 此值时按 nearDuplicateAction 处理(0=关闭。实测「换了说法的同一件事」约 0.7~0.8)
nearDuplicateActionmerge命中近重复时:merge=合并进已有条目(追加 | 【补充·日期】… 并提权 +1,借鉴 @zheexinn/dsh-memory 的 merge-on-write)/skip=只提示不写(返回相似条目 fp 供 update)
sinkWindowMinutes5轮次结束后「请沉淀值得长期记住的内容」提醒的有效窗口(分钟,可配)。窗口内注入一次催促;超时丢弃(下一轮重新判断),避免隔很久再发消息时被一条过期的「上一轮请沉淀」打扰
conflictOverlap3冲突检测:行为与单条偏好的专有双字重叠阈值
petEndpointnull可选:本地桌宠通知服务 URL(默认关闭)

可在设置页「设置」tab 可视化修改,或通过 POST /biomemory/api/config 调整;持久化为 biomemory.config.json(透明可改)。