dsh-layered-memory:DeepSeek Harness 的 L0~L3 分层蒸馏记忆插件

前言

DSH 的插件生态允许在宿主内挂载更多能力。长对话、跨会话任务中,模型经常会缺少之前确认过的上下文:任务状态、用户偏好、项目约定、已经走过的流程等,导致重复提问或重复探索。

dsh-layered-memory 解决的是这类记忆缺失问题。它是一个 DeepSeek Harness 记忆插件,会在后台把对话沉淀为分层记忆,并在模型下一步执行前,把相关记忆注入上下文。下面介绍它的能力、安装方式、验证步骤和注意事项。

这是什么

dsh-layered-memory 是面向 DeepSeek Harness 的 L0~L3 分层蒸馏记忆插件,由 JunNanLYS 维护,许可证为 MIT。

它的核心路径是:

1、捕获对话,形成 L0。
2、抽取原子记忆,形成 L1。
3、整合场景块,形成 L2。
4、蒸馏核心画像或团队方法论,形成 L3。
5、在模型每一步前自动召回相关记忆,并注入上下文。

简单来说,它把“对话里出现过的信息”变成可复用、可召回、可注入的记忆资产。

核心能力

后台分层蒸馏

插件会在后台自动完成以下流程:

  • L0:捕获原始对话。
  • L1:抽取原子记忆。
  • L2:整合场景块。
  • L3:蒸馏核心画像、团队方法论等更稳定的记忆内容。

这个过程不需要用户每一步手动整理记忆。

自动召回注入

在模型每一步前,插件会把相关记忆注入上下文。

在界面中,这类注入会以“上下文注入 · memory”消息行呈现,方便确认记忆是否生效。

注入过程有长度预算与时间预算。超限会截断,超时会跳过,目标是避免拖慢对话。

三个记忆工具

插件提供以下三个记忆工具:

  • memory_search
  • conversation_search
  • memory_read_scene

它们可用于主动查找记忆、对话内容或场景块。

会话级记忆档位

插件支持会话级记忆档位,包括:

  • 日常
  • 工作
  • 智能
  • 关闭

同时支持只写不读开关,用于控制当前会话是否只沉淀记忆而不注入记忆。

去重与重置

插件支持同会话去重:已经注入过的记忆不会重复注入。

当上下文被 /compact 压缩或清空时,会自动重置,使相关记忆有机会重新进入上下文。

时效加权

召回排序支持时效加权,配置项为 recall.decayHalfLifeDays

该值可调,设为 0 表示关闭时效加权。

成本记录

蒸馏过程中发生的 LLM 调用 token 成本会写入 SQLite 明细表。

在设置页的“成本”Tab 中可查看相关记录。成本记账失败时只告警,不会阻塞蒸馏。

数据目录

记忆数据写入:

~/.dsh/memory/

其中包含以下目录和文件:

  • conversations/
  • records/
  • scenes/
  • memory.db

安装与启用

先确认环境满足 Node 版本要求:

Node >= 22.16

安装目标是 DSH 的 web Profile。按文档要求,只执行指定命令,不要修改其他 Profile。

方式一:使用 npx 安装

适合不预装 dsh CLI 的情况:

npx -y @deepseek-ai/dsh plugin --profile web add dsh-layered-memory

这条命令会通过 npm 执行官方 CLI,并将插件添加到 web Profile。

方式二:使用已安装的 dsh CLI

如果你已经安装了 dsh CLI,可以直接执行:

dsh plugin --profile web add dsh-layered-memory

如果当前 dsh 是 pnpm 转发器,并且本机未安装 pnpm,先安装 pnpm:

npm i -g pnpm
dsh plugin --profile web add dsh-layered-memory

方式三:使用仓库或本地路径

适合调试或本地开发:

dsh plugin --profile web add https://github.com/JunNanLYS/dsh-layered-memory

或者:

dsh plugin --profile web add /path/to/dsh-layered-memory

从源码安装

如果要从源码构建并安装:

git clone https://github.com/JunNanLYS/dsh-layered-memory
cd dsh-layered-memory
npm install
npm run build
dsh plugin --profile web add .

安装后验证

安装完成后,先检查数据目录:

~/.dsh/memory/

应出现以下内容:

conversations/
records/
scenes/
memory.db

同时检查 DSH 界面:

  • 设置页出现“记忆”页面。
  • 输入栏出现档位 pill。

确认完成后,需要手动重启 DSH Web Host。不要替用户关闭或重启正在运行的 DSH。

典型用法

安装并重启后,可以按下面方式使用。

1、开启会话,正常和模型对话。

2、插件在后台完成 L0 捕获、L1 原子记忆、L2 场景整合、L3 画像蒸馏。

3、模型下一步执行前,插件会把相关记忆注入上下文,并在界面中显示“上下文注入 · memory”消息行。

4、如果模型需要主动查记忆,可以调用:

memory_search
conversation_search
memory_read_scene

5、在输入栏或设置中切换会话级记忆档位:

日常
工作
智能
关闭

6、如果只想沉淀记忆,不希望当前会话被记忆内容影响,可以开启只写不读开关。

7、如果希望更偏向较新的记忆,可以调整:

recall.decayHalfLifeDays

设为 0 时关闭时效加权。

8、如果上下文被 /compact 压缩或清空,插件会自动重置注入状态,后续可重新召回相关记忆。

卸载

如需卸载:

dsh plugin --profile web remove dsh-layered-memory

然后重启 DSH Web Host。

卸载后,数据仍保留在:

~/.dsh/memory/

如果确认不再需要,可以手动删除整个目录。

适用场景

dsh-layered-memory 比较适合以下情况:

  • 使用 DSH web Profile 的开发者或用户。
  • 希望在长对话中保留关键上下文。
  • 希望跨会话复用之前确认过的信息。
  • 希望减少重复提问、重复解释和重复探索。
  • 需要查看蒸馏 LLM 调用的 token 成本。
  • 需要在不同会话中切换记忆策略,例如日常、工作、智能或关闭。

注意事项

1、环境要求:需要 Node >= 22.16

2、安装目标:只面向 DSH 的 web Profile 安装,不要顺手修改其他 Profile。

3、权限影响:插件运行在 DSH 宿主环境中,会使用当前 dsh 进程可访问的会话、模型调用和文件系统权限。安装前建议检查源码、依赖和 MIT 许可证。

4、数据位置:记忆数据写入 ~/.dsh/memory/,其中可能包含对话沉淀出的记忆内容。敏感项目下要注意目录权限和清理策略。

5、重启要求:安装或卸载后需要手动重启 DSH Web Host,不要替用户关闭或重启正在运行的 DSH。

6、卸载清理:卸载插件不会自动清理 ~/.dsh/memory/ 下的数据。如果不需要,手动删除整个目录即可。

相关链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜