drscrewdriver/dsh-prime-memory ↗★ 4

dsh-prime-memory

L0~L3分层蒸馏记忆管理插件 适合需要自动捕获对话、提取原子记忆并自动召回注入模型步骤的用户。

包名
dsh-prime-memory
兼容性
待验证
Harness 依赖范围
0.1.0-rc.2 || 0.1.0-rc.3 || 0.1.0-rc.6 || 0.1.0-rc.7 || 0.1.0-rc.8 || 0.1.1-rc.1 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.5-rc.3 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2
Cordis 依赖范围
^4.0.1
版本
0.26.1
许可证
MIT
最近更新
2026年10月15日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:drscrewdriver/dsh-prime-memory

配置

覆盖配置写在 profile 自己的 cordis.patch.yml,用顶层裸 patch 条目(直接 id:, 不要包在 insert: 里——insert 与 bundle 层同 id 追加会导致 duplicate loader entry id 启动失败):

- id: dsh-memory
  name: dsh-prime-memory
  config:                    # 键按行整体替换(不深合并),按需写全要保留的键
    family: auto             # 新会话默认档:auto | chat | work
    llm:                     # 蒸馏模型静态路由(双字段齐 = 部署 pin,优先于设置页路由链;
      provider: ''           # 留空则跟随设置页路由链主路由或当前默认模型)
      model: ''
字段默认说明
familyauto新会话默认记忆档位:auto(双族自动)| chat(个人)| work(工作);会话内可用输入栏控件临时切换
dataDir$DSH_HOME/memory数据目录
capture.enabledtrueL0 捕获
capture.stripCodeBlockstrue助手消息剥离代码块
capture.maxMessageChars4000单条消息最大字符数
capture.redactSecretstrue载荷脱敏:捕获写入即把 8 类密钥(PEM/Bearer/JWT/Cookie/厂商 API key/邮箱/长号/高熵 ID)替换为 [REDACTED:] 占位符,覆盖 L0、蒸馏输入与手动写入;false 回明文(开启后 L0 原文不再可逆)
trace.enabledtrue结构化追踪:召回/蒸馏事件按天 JSONL(/trace/),设置页"日志"Tab 可切换查看
trace.retentionDays14追踪事件保留天数(0 永久)
trace.captureContentfalsetrue 才存召回 query 原文(默认只存长度 + sha256)
extract.enabledtrueL1 抽取
extract.minMessages6稳态触发阈值:单会话攒够 N 条新消息跑一次 L1 抽取。起步阶段生效阈值从 1 翻倍爬坡到此值(首轮即出记忆,随后自动攒批省调用)
extract.idleSeconds300闲置兜底:会话静默 N 秒后把未蒸馏切片落袋(接住"没攒够阈值用户就离开");0 关闭
extract.backgroundMessages10抽取时附带的背景消息条数(按会话从 L0 现查,会话间互不污染)
extract.candidatePool5去重候选池大小
l2.enabledtrueL2 场景整合
l2.minNewMemories5距上次 L2 整合的新记忆阈值
l2.maxScenes12场景块数量上限
l2.sceneContextLimit3L2 prompt 附带的相似场景全文上限
l3.enabledtrueL3 画像蒸馏
l3.interval20L3 蒸馏间隔(新记忆条数)
recall.enabledtrue自动召回
recall.maxResults5每条新用户消息前注入的 L1 条数上限
recall.maxCharsPerMemory500单条注入记忆的字符上限(超限截断并提示用记忆工具查全文);0 不限
recall.maxTotalRecallChars2000整轮注入总字符上限(超限按相关性丢尾部);0 不限
recall.timeoutMs5000召回总预算(ms):超时跳过本轮注入、不阻塞对话;0 不限时
recall.includePersonatrue系统提示注入画像上下文(``,稳定区)
recall.includeSceneNavtrue系统提示注入场景导航(``,稳定区)
recall.strategyhybrid检索策略:keyword / embedding / hybrid
recall.scoreThreshold0.3召回分数阈值(低于不注入;仅 keyword/embedding 策略生效,hybrid 融合前不过滤;工具路径不过滤)
recall.decayHalfLifeDays30召回时效衰减半衰期(天,0=关):排序按 相关度 × max(0.5, 0.5^(距更新天数/半衰期)) 软加权——相关度相近的候选间新鲜记忆优先(名额轮转),老记忆最多损失一半排序分(地板兜底,长期事实不沉底)
embedding.enabledfalse向量检索开关;关闭即纯 FTS 运行
embedding.baseUrl空OpenAI 兼容 /embeddings 地址(如 https://api.siliconflow.cn/v1)
embedding.apiKey空API Key
embedding.model空embedding 模型名
embedding.dimensions0向量维度(启用时必填,须与模型输出一致)
embedding.maxInputChars5000单条文本最大字符数(超长截断)
embedding.timeoutMs10000单次 embedding 调用超时(ms)
embedding.allowLocalModelstrue允许本地嵌入档(部署上限:关闭后设置页不能下载模型、不能切本地档)
embedding.mirrorhttps://hf-mirror.com本地模型下载镜像根地址(可改回官方 https://huggingface.co)