READMESource: main@7cc749fb
dsh-memory · 长期记忆插件
给 DSH 用的本地长期记忆插件:把会话保存成 Markdown 记忆,下次开新会话时把一份很小的索引带进上下文,需要细节时再回查原文。所有内容只留在你自己的工作区,不上传。
它解决什么
- 换会话就忘事 → 记忆保存在磁盘,跨会话可召回
- 上下文放不下长篇对话 → 只有几 KB 的「总结版索引」常驻,细节按需检索
- 想要「人一样回忆」→ 先看要点,不够再翻完整逐字版
安装
在 DSH 插件目录里安装这个包(本地目录或 npm 包名):
# 本地开发目录
plugin_manager install_bundle <本仓库绝对路径>
# 或已发布到 npm 之后
plugin_manager install_bundle @local/dsh-memory
装好后左侧「插件」下会出现「记忆」入口。首次启用时,插件会自动在每个工作区里创建 记忆/ 文件夹。
记忆存在哪
<工作区>/记忆/
├─ _系统/ 插件自己的文件,别删
│ ├─ _config.md 全部设置(也可在页面改)
│ ├─ _index.md 低 token 启动包缓存(可重建)
│ └─ _audit.md 操作审计流水
├─ 作业1/ 一个会话一个文件夹
│ ├─ 2026-10-23_180237(ZJB).md 总结版
│ ├─ 2026-10-23_180237(full).md 完整逐字版
│ ├─ 2026-10-23_180237_2.md 工作记忆逐字卷
│ ├─ 2026-10-23_180237(diff).md 代码变更
│ └─ 提示词.md 记忆恢复提示词
└─ _回收站/ 删除的文件先来这里
文件名后缀含义
| 后缀 | 内容 | 进启动包 |
|---|---|---|
(ZJB) |
聊天记忆总结版:要点、增量、承接 | ✅ |
(full) |
同一会话的完整逐字版 | ❌ 检索时才读 |
(diff) |
工作记忆里的代码变更(一个文件一条) | ❌ |
| 无后缀 | 工作记忆逐字卷,多卷时 _2、_3 |
❌ |
提示词.md / 工作流程提示词.md |
导出给新会话用的提示词 | ❌ |
使用步骤
1. 保存一个会话
- 打开「记忆」页 → 在「保存会话」里点一个会话
- 确认条里可以选择文件夹(默认用会话名,可改成任意名字,新名字会新建文件夹)
- 选择模式:
- 聊天记忆:抽取摘要,会随时间衰减;同时生成一份完整版
- 工作记忆:逐字保存,自动分卷,含代码变更
- 点「保存记忆」
会话列表取不到时(某些 DSH 版本的服务实例没挂持久化),可以直接把会话 ID 粘进「或粘贴会话 ID」。
2. 在新会话里恢复记忆
保存时会自动生成 提示词.md,用户只需要导入这一个文件:
- 打开
记忆/<会话名>/文件夹 - 找到
提示词.md(聊天记忆)或工作流程提示词.md(工作记忆) - 不用打开它,直接右键复制这个文件
- 粘贴到新会话的聊天框
- 发送
提示词里会写明:索引里没有记忆时,去读同目录最新的 (ZJB) 总结版;还不够再读 (full)。
也可以在页面上点「下载提示词」拿到同样的文件。
3. 检索
在「检索记忆」里输关键词(中文会自动拆成二元组)。命中工作记忆或 (full) 时返回原文,不是摘录。
每次命中会给条目加权重(+10,1 小时内不重复加),常用记忆的排序会自然上升。
权重与回收
- 满权 20 天,之后按半衰期 30 天衰减,最低 5
- 只回收摘要里的
### 增量明细,源文件永久保留 - 长期要点(
long_term)不衰减
冲突与提案
- 同一条记忆出现两种说法会进「待确认冲突」,选「采用新值」或「保留旧值」,被替代的条目保留原文并双向链接
- 说「记住…/以后都…/不要…」时模型会提议一条记忆,必须你点采纳才生效
删除与回收站
- 删除 = 移动到
记忆/_回收站/<时间>/,不直接抹掉 - 页面会要求输入「删除」两个字确认;一次超过 10 个需要额外确认
- 「清空回收站」才是永久删除,需要输入「清空」
配置(_系统/_config.md)
| 键 | 默认 | 说明 |
|---|---|---|
memory_root |
空 | 空=用当前工作区的 记忆;可填绝对路径 |
active_workspace |
— | 当前使用哪个工作区的记忆库 |
timezone |
Asia/Shanghai | 文件名与时间戳用的时区 |
summary_char_budget |
650 | 摘要字符预算 |
startup_token_budget |
800 | 每轮注入的索引预算 |
full_weight_days / purge_after_days |
20 / 20 | 满权期 / 明细回收期 |
half_life_days / weight_floor |
30 / 5 | 衰减半衰期 / 权重下限 |
max_file_bytes / max_file_lines |
256KB / 2000 | 工作记忆分卷阈值 |
隐私
- 摘要、检索、索引全部在本机完成,不调用任何云端模型
- 记忆只写在工作区目录内;
privacy字段目前固定为device_local - 图片只记文字描述,原始媒体不保留(
media_retained: false)
自测
npm test # 13 套离线测试,纯 node,无第三方依赖
已知限制
- 会话列表在部分 DSH 版本里取不到,插件会改用磁盘枚举兜底;再不行就手填会话 ID
diff只记录通过文件工具产生的改动,命令行改的文件不会进 diff- 导入功能已移除(记忆内容无法直接进入对话),请用「提示词 + 手动粘贴」
许可
MIT
No comments yet. Be the first to write one.