前言¶
在 DeepSeek Harness(DSH)里长期跑助手,常见做法是把整段聊天记录塞进上下文,或另挂向量库。前者容易稀释当前判断,后者又多一套存储与检索管线。dsh-memory-system 走的是另一条路:在工作区用可读、可 diff 的文件组织记忆,配合 FSRS-5 衰减与冷归档,允许「忘」,需要时再召回。本文基于该插件在 GitHub 上的 README 与 package.json 说明安装、初始化与典型用法。
这是什么¶
dsh-memory-system(npm 包名)是面向 DSH 智能体的文件式记忆体系:分层、会衰减、可找回,不是向量数据库,也不是把聊天记录全量塞进上下文。仓库由维护者 a2092776074-collab 托管于 GitHub;社区目录页为 skillhub.cn 条目,分类为客户端。许可为 MIT;运行需 Node.js >= 18。DSH 生态奉行「一切皆插件」,社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
核心思路是分层 + 允许忘 + 能找回来,而不是记得更多。
记忆分层¶
记忆拆成四层(README 中的定义):
| 层级 | 含义 |
|---|---|
| L3 灵魂 | 身份/锚点,不衰减,只能本人改写 |
| L2 知识 | 判据(信什么)+ 外部参考(用时查) |
| L1 情节 | 日记/判例/情节单元,FSRS-5 算牢固度,可冻结、可归档 |
| L0 会话 | 当前上下文,压缩即丢 |
工作区落地后的目录结构(节选):
工作区/
├── 灵魂.md / 自我.md / 人设.md / 日记.md / 意向.md / 状态.md
├── 判据库.md
├── 知识/索引.md
├── 数据/记忆单元.json
├── 数据/memory-decay.json
├── 数据/archive/
└── scripts/
每个记忆单元有 zone,默认 task。identity、vault 不自动注入;relation、task、reference 参与自动注入与自动归档规则(详见 README 分区表)。
核心能力¶
插件工具¶
安装并初始化后,可通过 DSH 工具调用(README 表格):
| 工具 | 作用 |
|---|---|
memory_init |
初始化模板与脚本(已存在文件不覆盖) |
memory_status |
单元总数、冻结数、各单元 R/S |
memory_recall |
按关键词找单元与原文;默认不列冻结 |
memory_review |
复习单元,更新 FSRS-5(1–4) |
memory_archive |
冷归档(默认 dry-run,apply=true 才执行) |
自动注入¶
插件启动后约每 3 秒检查活跃会话,向 systemPrompt.context 挂一段摘要:根据当前用户消息与单元标题/note/source 做关键词相关度,再按重要度与 FSRS R 排序,最多 6 条、约 700 字,只列 id + 标题 + zone,不注入全文;无命中则返回空。需要细节时由模型再调 memory_recall。README 注明这是 v0.1 取向的轻量版:无向量检索,也无 token 精算。
不装插件时的脚本¶
将 template/ 与 scripts/ 复制到工作区后,可直接用 Node 跑维护脚本,例如:
node scripts/memory-decay.mjs list
node scripts/memory-recall.mjs 关键词 --review 3
node scripts/memory-archive.mjs # dry-run
node scripts/memory-archive.mjs --apply
node scripts/episode-add.mjs --kind text --title "..." --source "..." --detail "..."
安装与启用¶
下面使用 README 中的官方命令,勿凭仓库名自行拼接 github:owner/repo 形式。
dsh plugin --profile desktop add dsh-memory-system
或使用本地打包的 tarball(README 示例文件名):
npm pack
dsh plugin --profile desktop add ./dsh-memory-system-0.1.0.tgz
装完后重启 DSH。插件本身不带任何个人的灵魂/知识;需在工作区完成初始化后才有模板。
初始化与典型用法¶
初始化¶
对助手说「初始化记忆体系」,或直接调用 memory_init。该步骤把模板(六件套、判据库、数据文件)和脚本复制到当前工作区,已存在的文件不会被覆盖。
复习与归档¶
- 用
memory_recall按关键词召回,必要时配合memory_review更新 FSRS-5。 - 用
memory_archive做冷归档;先默认 dry-run,确认后再apply=true。
自测¶
仓库内测试入口:
npm test
test/smoke.mjs 会在临时工作区验证:模板复制、分区过滤、自动注入不泄漏 vault、关键词召回、归档 dry-run 等。
设计取舍与边界¶
README 中的取舍值得使用前心里有数:
- 文件优先:可读、可迁移;无事务/并发控制。
- 忘是功能:冻结/归档避免旧细节稀释判断;需手动 review。
- 召回方式:关键词/子串,不是语义检索。
- 归档:半自动,不会自行判断「这条没用了」。
- 安全:无内置加密;凭据不要放进该体系,也不宜进未加密云备份。
插件在 DSH 进程权限下运行。安装前建议阅读仓库源码与 MIT 许可证;模板中的示例为虚构,应替换为你自己的内容。
结尾¶
若你希望 DSH 助手在本地用分层文件记忆 FSRS 衰减与按需召回,而不是堆满上下文或单独上向量库,可按上文步骤安装 dsh-memory-system、初始化工作区,再用工具与脚本维护单元。
- 目录页:https://www.skillhub.cn/plugins/a2092776074-collab/-
- 仓库:https://github.com/a2092776074-collab/-