前言¶
在 DSH(DeepSeek Harness)里跑 agent,上下文窗口再大,换会话或压缩历史后,之前的结论、偏好和项目细节仍容易丢。单靠模型「记住」上一段对话,既不可查也不可迁移;把整段聊天记录塞进提示词,成本会迅速上去。
下面介绍社区插件 dsh-long-memory(维护者 Tangcuyu4,分类:记忆):在本机用纯 JS 做混合检索,把跨会话长期记忆、长文切块检索、聊天记录提取与精炼、上下文总结存档四块能力收进一套工具,数据落在 $DSH_HOME,不依赖第三方 npm 检索库。
这是什么¶
dsh-long-memory 是给 DSH 装的「超长记忆包」。README 的定位是:跨会话长期记忆 + 长文查找 + 聊天记录提取与精炼 + 上下文总结记录与翻阅;检索侧为 BM25 与中文二元分词混合,插件自述为零第三方依赖。
当前 package.json 中版本为 1.1.0,许可证 MIT。插件通过 Cordis patch 注册工具、系统提示词与 Skill(long-memory),权限包括工具注册、系统提示词注入、Skill 注册,以及对 DSH storages 数据目录的读写。
核心功能¶
长期记忆¶
提供 memory_store、memory_search、memory_get、memory_list、memory_forget、memory_stats,以及运行配置工具 memory_config(自动注入开关、数量、分块参数等,即改即生效)。
- 检索支持中英混合、词组精确匹配(
"...")、tag/kind过滤。 - 相似记忆会自动合并并保留历史版本;支持软删可恢复,硬删进入
trash.jsonl。 importance≥4的记忆可在每次会话开机时自动注入上下文(可配置)。
长文查找¶
doc_ingest 对文件按行切块(块大小与重叠可调),doc_search / doc_read / doc_list 做块级检索、按块或行读原文、列出文档。检索结果带行号引用,跨块可按行读原文。内容未变时会自动跳过重复入库;聊天记录也可经 chat_extract { ingest: true } 进入同一套文档索引。
聊天记录提取与精炼¶
chat_list、chat_extract、chat_digest 读取 DSH 会话投影缓存(storages/session_projcache/sessions/session-*.json),逐轮取「用户提问 + 助手回复」,可按轮区间截取。
chat_digest 产出确定性骨架(逐轮主旨、文件、命令、URL、结论信号句);语义级精炼由 agent 在骨架上完成后,再调用 memory_store 入库。插件刻意不内置 LLM 调用,提取与骨架步骤可见、可控。
上下文总结(记录与翻阅)¶
summary_save、summary_list、summary_read 用于把一大段工作的进展总结连同会话与轮次范围存档;最新总结可自动注入提示词块,便于压缩或换会话后继续。账本可按会话或关键词翻阅;总结同时作为 digest 记忆,memory_search 也能搜到。未提供正文时,可按会话轮次自动生成确定性骨架兜底。
工具一览¶
README 共列出 17 个工具(含上文的 memory、doc、chat、summary 系列及 memory_config)。系统提示词与 long-memory Skill 会教 agent 何时存、何时查、如何引用,Skill 可手动或自动调用。
安装与启用¶
资料中的安装说明针对 本机 DSH Desktop,并非 dsh plugin add github:... 一类命令。步骤如下。
- 将插件源码放到
%APPDATA%\dsh-desktop\harness\plugins\dsh-long-memory\。 - 在 profile
%APPDATA%\dsh-desktop\harness\profiles\web\package.json中注册:
- 在dependencies增加"dsh-long-memory": "file:../../plugins/dsh-long-memory";
- 在dsh.profile.bundles数组增加"dsh-long-memory"。 - 确保
profiles\web\node_modules\dsh-long-memory\存在插件拷贝(pnpm install或直接复制)。 - 重启 DSH Desktop,在会话中触发一次
memory_stats验证是否加载成功。
数据位置与配置¶
默认数据目录:
$DSH_HOME/storages/dsh-long-memory/
├── memories.json # 记忆库(原子写)
├── trash.jsonl # 硬删回收站
├── config.json # 运行配置
└── docs/ # 长文索引(index.json + 每文档一个 json)
整目录可备份或迁移。环境变量 DSH_LONG_MEMORY_DIR 可将数据挪到其他路径。
检索实现在 lib/search.js:ASCII 词与 CJK 滑动二元分词,BM25(k1=1.4,b=0.75)加词组命中与覆盖率;记忆层另叠加 importance / recency 的小幅加成。聊天解析对坏文件容错跳过,避免拖垮会话列表。
典型用法思路¶
安装验证通过后,可按 README 的能力分层使用(具体参数以会话内工具 schema 为准):
- 记结论与偏好:任务结束前用
memory_store写入要点,必要时打tag/kind;下次用memory_search或开机自动注入的高 importance 记忆接上上下文。 - 啃长文档或仓库说明:
doc_ingest建索引,doc_search定位块,doc_read按行读原文并引用行号。 - 从旧会话抽干货:
chat_list找会话,chat_extract取区间原文;需要结构化骨架时用chat_digest,再由 agent 精炼后memory_store。 - 长任务断点续做:阶段性
summary_save,换会话或压缩后用summary_read/ 自动注入的最新总结续写;用summary_list按会话或关键词翻账本。
适用场景与注意¶
适合需要在 多会话、长文档、长对话 场景下,把信息留在本机、可检索可备份的 DSH 用户。DSH 生态强调「一切皆插件」;社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。
安装前请自行查看 GitHub 源码与 LICENSE。插件以当前 DSH 进程权限读写 storages 与会话投影缓存,只应安装你信任的来源。README 未提供 CLI 一键安装命令时,勿凭插件名拼接未文档化的安装方式。
结尾¶
dsh-long-memory 把长期记忆、长文检索、聊天提取与上下文总结收在一套零第三方检索依赖的本机存储里,用 17 个工具与 Skill 引导 agent 何时存、何时查。需要细节与更新时,以仓库 README 为准。
- 目录页:https://www.skillhub.cn/plugins/Tangcuyu4/dsh-long-memory
- GitHub:https://github.com/Tangcuyu4/dsh-long-memory