前言¶
DeepSeek Harness (DSH) 生态中有约 65 个记忆插件,多为单层存储。当需要区分用户、环境和项目的上下文,并控制每层的内存占用时,这些插件难以直接满足需求。dsh-tiered-memory 插件引入了分层存储与预算管理机制,移植自 Hermes Agent 的记忆纪律,是 DSH 生态中首个实现该概念的插件。
核心功能¶
该插件通过以下能力实现分层管理:
- mem_set: 写入稳定事实。参数包含 tier(层级)、key、content。同 key 会进行 upsert。若目标层已满,将拒绝写入。
- mem_get: 按键值精确读取。
- mem_query: 语义查询,自动路由到对应层(用户特征词 -> user,环境词 -> env,项目词 -> project)。仅在档案存在时返回,未命中返回
[],不编造。 - tier_summary: 查看各层用量及驱逐候选(冷条目、旧条目)。
- mem_delete: 显式删除。淘汰权交给模型,不自动删除。
架构与逻辑¶
插件将记忆分为三层:user、env、project。每层独立管理字符预算。内容采用声明式事实,单条上限默认为 400。
当某层写入满额时,mem_set 会返回 tier full — delete or merge first,阻止写入。驱逐候选通过 tier_summary 列出,需通过 mem_delete 显式执行。
安装与启用¶
在 DSH 环境中,通过以下命令安装插件:
dsh plugin --profile web add "github:leetom314/dsh-tiered-memory#main"
验证与测试¶
插件提供了完整的测试验证流程:
- 单测:使用 node --test,tiers.js 行覆盖率达到 98.5%。
- 真实 e2e:通过 verify.sh 脚本进行隔离测试,动态生成 overlay 文件,不污染真实记忆。验证包括三层写入、跨层查询路由正确性以及预算拒绝闭环。
注意事项¶
- 本插件移植自 Hermes Agent 的记忆纪律。
- 首次使用前建议检查源码与许可证(MIT)。
- 插件以当前 DSH 进程权限运行。