分层持久记忆(user/env/project):每层各有字符预算与语义查询路由;层满时拒绝写入,而不是静默淘汰。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:leetom314/dsh-tiered-memory
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
分层记忆 + 预算管理(Tiered memory with per-tier budgets)。 移植 Hermes Agent 的记忆纪律:dsh 生态约 65 个记忆插件全是单层存储,本插件是 分层 + 预算概念的首个实现。
What it does
三个 tier(user / env / project)+ 每层 char 预算:
- mem_set — 写稳定事实到层(tier + key + content)。同 key upsert。层满拒绝写。
- mem_get — 按 key 精确读。
- mem_query — 语义查询:自动路由到对应层(用户特征词→user,环境词→env,项目词→project),只在档案真有时返回。
- tier_summary — 各层用量 + 驱逐候选(冷/旧条目)。
- mem_delete — 显式删除(淘汰权交模型,不自动删)。
Hermes 纪律的移植点
| Hermes | 本插件 |
|---|---|
| 四层记忆(user/memory/wiki/skills) | 三层 tier(user/env/project),每层预算 |
| 满层拒绝 → 替换/合并 | add 返回 tier full — delete or merge first |
| 只写稳定事实(不写过程) | content 声明式事实,单条 cap(默认 400) |
| 查询时机:只在真有用时查 | mem_query 无命中返回 [],不编造 |
| 淘汰:满了替换/合并 | tier_summary 列候选,mem_delete 显式删 |
验证
单测 node --test(tiers.js 行覆盖 98.5%);真实 headless e2e:
- 三层写入 + 跨层查询路由正确(user→user / env→env,未跨层)
- 预算拒绝闭环:第二写被拒 → tier_summary 看候选 → mem_delete 冷条目 → 重写成功
安装/开发
# from GitHub (requires dsh CLI)
dsh plugin --profile web add "github:leetom314/dsh-tiered-memory#main"
# or clone and verify locally first
git clone https://github.com/leetom314/dsh-tiered-memory.git
cd dsh-tiered-memory && ./setup.sh && npm test && ./verify.sh # e2e 隔离 DSH_HOME,不碰真实记忆
verify.sh 动态生成临时 overlay($HERE/index.js 路径),不需要仓库内 overlay 文件——overlay*.yml 已 gitignore(含本机绝对路径,不随版本库分发)。
链接
同类插件
vectorize-io/hindsight#coding-agents★ 54464
Hindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
volcengine/OpenViking#examples/dsh-memory-plugin★ 40976
面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`viking://` URI 防护,以及对接 OpenViking 服务端的 recall/write 记忆工具。
MemTensor/MemOS#memos-local-plugin★ 12136
DeepSeek Harness 本地记忆插件:分层 L1/L2/L3 记忆,自动沉淀与手动 memos_* 检索工具并存,内置记忆浏览器。
agentscope-ai/ReMe#dsh★ 3702
将 DeepSeek Harness 接入 ReMe 本地优先、自进化的个人知识库:自动把已完成的主 Agent 对话沉淀为用户掌控的 Markdown 记忆,通过 reme_search 结合 BM25、可选向量检索和 wikilink 展开搜索对话与资料,并按日整理长期记忆。
zilliztech/memsearch#MemSearch★ 2802
供 DSH 与其他编程 Agent 共享的 Markdown 记忆,支持自动捕获、步骤前上下文注入、搜索召回,以及通过审阅面板实现 memory-to-skill 自进化。
vshulcz/deja-vu#extensions/dsh★ 1321
读取本机上其他四十二个编程智能体已经写下的会话文件(Claude Code、Codex、Cursor、VS Code Copilot Chat、opencode、OpenClaw、Hermes、Kimi、Cline、Zed 等),包括安装之前的历史:提供 deja_recall、deja_session、deja_blame、deja_fix、deja_how、deja_remember 六个工具与 /deja 命令,并可选地把召回结果加入运行时上下文。本地 BM25 索引,不用大模型,不用向量嵌入,不联网(dsh plugin --profile web add dsh-deja)。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。