dsh-long-memory:DSH 超长记忆包

前言

在 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:... 一类命令。步骤如下。

  1. 将插件源码放到 %APPDATA%\dsh-desktop\harness\plugins\dsh-long-memory\。
  2. 在 profile %APPDATA%\dsh-desktop\harness\profiles\web\package.json 中注册:
    - 在 dependencies 增加 "dsh-long-memory": "file:../../plugins/dsh-long-memory";
    - 在 dsh.profile.bundles 数组增加 "dsh-long-memory"。
  3. 确保 profiles\web\node_modules\dsh-long-memory\ 存在插件拷贝(pnpm install 或直接复制)。
  4. 重启 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 为准):

  1. 记结论与偏好:任务结束前用 memory_store 写入要点,必要时打 tag / kind;下次用 memory_search 或开机自动注入的高 importance 记忆接上上下文。
  2. 啃长文档或仓库说明:doc_ingest 建索引,doc_search 定位块,doc_read 按行读原文并引用行号。
  3. 从旧会话抽干货:chat_list 找会话,chat_extract 取区间原文;需要结构化骨架时用 chat_digest,再由 agent 精炼后 memory_store。
  4. 长任务断点续做:阶段性 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
羽毛球分组比赛记分
小程序二维码

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

小夜