dsh-memory-system:DSH 上的文件式分层记忆

前言

在 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/-
羽毛球分组比赛记分
小程序二维码

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

Xiaoye