dsh-long-memory:DSH 自动长期记忆

前言

在 DeepSeek Harness(DSH)里做多轮、跨会话的开发对话时,模型默认只看见当前会话上下文。项目里的技术栈约定、个人偏好、踩过的坑,往往要在每个新会话里重复说明,或依赖人工复制粘贴。社区插件生态里「记忆」类能力可以补这一环:baixiaoyin666/dsh-long-memory 在 Host 侧监听对话轮次,自动提炼少量稳定事实并写进本地 JSON,新会话组装系统提示时再注入摘要。下面介绍它的定位、能力与安装方式;事实以 GitHub 仓库 README 为准(当前 package 版本 0.9.1,MIT,要求 DSH 0.2.x,已在 desktop profile 0.2.1-rc.3 上验证)。

这是什么

dsh-long-memory 由维护者 baixiaoyin666 发布,分类为「记忆」。一句话:DeepSeek Harness 的自动长期记忆插件——每轮对话正常结束后自动提炼记忆,新会话自动带回;附带详情面板、每日日记与可切换人格。数据纯本地、插件自述零第三方 npm 依赖;记忆提炼请求走当前会话已在用的模型路由,记忆文件不上传。

核心功能

自动提炼与带回

  • 每轮在 turn/end 且 reason = completed 时,把该轮用户消息与助手最终回复交给当前路由,要求输出不超过 3 条稳定事实;无需手动说「记住这个」。
  • 子代理会话(header.origin = subagent)与非正常结束的轮次会跳过。
  • 新会话第一次组装系统提示时,注入「全局 + 当前工作区」的最近记忆摘要(≤ 1400 字);同一会话内摘要冻结,避免每轮改动系统提示、打穿 prompt 缓存。

全局与工作区两级

范围 适合记什么
global 用户身份、偏好、禁忌、语言与风格等跨项目信息
workspace 当前目录的技术栈、命令、约定、关键决定与踩坑等

两级互不污染。单工作区记忆上限 500 条,超出时淘汰最久未更新的;与已有条目高度重合(相似度 ≥ 0.82)时合并并保留更完整表述。

三个工具(手动补位)

自动提炼覆盖不到时,会话内可调用:

工具 作用 参数
memory_search 按关键词检索,返回条目 id query(必填)、scope = auto/global/workspace、limit
memory_save 手动存一条稳定事实,近似重复会合并 text(必填)、scope = global/workspace、tags
memory_forget 按 id 删除 id(必填)

详情面板、日记与人格

  • 左侧栏 长期记忆 图标(设置里也有同一页):总条数、健康度、标签、上次提炼结果、可搜索与按范围过滤的列表;每条可展开「查看对话」及来源元数据。
  • 日记:按日生成约 300–420 字的第一人称日记,存于 diary.json;观察到的习惯会作为带 habit 标签的 global 记忆继续参与后续流程。若安装 dsh-meme,可按情绪配图。
  • 人格:默认「大肥鱼」,另有多种内置人格可选;自定义人格存 personas.json,日记与留言按当前人格设定生成。

安全与导出

写入前会过滤 GitHub token、sk- 密钥、常见云凭据、私钥块、身份证号、手机号及「密码: xxx」等模式,替换为 [已脱敏]。面板支持导出 Markdown 手帐与完整 JSON 备份。可按工作区暂停自动提炼(settings.json),手动工具仍可用。

安装与启用

插件没有配置项,装上即用;安装后无需重启。README 未提供 dsh plugin add github:... 一类命令,官方步骤如下。

  1. 将本仓库下载到本地任意目录(例如从 GitHub 下载 ZIP 并解压)。
  2. 在 DSH 打开 设置 → 插件,选择从本地目录安装,并指向该目录。

等价的自动化方式:调用 plugin_manager 的 install_bundle,target 传该目录的绝对路径。

  1. 安装返回 application: applied 后,插件列表应出现 长期记忆 / Long-term Memory。

从 0.1.1 起才有 status.json 等诊断文件。

典型用法

默认全自动:正常对话即可;下一轮或下一个会话会按规则提炼与带回。

需要显式查改记忆时,让助手调用上述三个工具,例如按关键词查工作区约定、手动写入一条 global 偏好、或按 id 删除错误条目。

数据默认位置(DSH_HOME 可覆盖根目录):

~/.dsh/plugin-data/dsh-long-memory/          # macOS / Linux
%DSH_HOME%\plugin-data\dsh-long-memory\      # Windows 默认 C:\Users\<你>\.dsh\...
├── memories.json
├── diary.json
├── personas.json
├── settings.json
├── last-run.json
└── status.json

删除 memories.json 即清空全部记忆。卸载插件只禁用或移除条目即可,文件会保留;彻底清除需删除上述目录。

成本说明(README):每完成一轮多一次小请求(输入约 2k tokens,输出上限 700);系统提示中摘要每个会话只计算一次。

适用场景与注意

适合:长期在同一 DSH 环境做项目开发、希望跨会话保留偏好与工作区约定,又希望数据留在本机的用户。

务必注意:

  • 插件在 Host 侧运行,以当前 DSH 进程权限读写 plugin-data;安装前应自行查看源码与 MIT 许可证,确认可接受后再装。
  • 记忆来自对话提炼,敏感内容虽有过滤,仍应避免在对话中明文粘贴密钥;必要时用 memory_forget 或编辑 memories.json。
  • 新会话若看不到摘要,先确认 memories.json 非空;某轮未更新 last-run.json 可能是轮次未 completed 或来自子代理。
  • DSH 社区目录 skillhub.cn 插件页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-long-memory 把「轮次结束 → 提炼 → 本地 JSON → 新会话注入摘要」串成闭环,并辅以面板、日记与人格,适合作为 DSH 0.2.x 下的本地长期记忆方案。进一步了解与 issue 反馈见 GitHub:baixiaoyin666/dsh-long-memory,目录页见 skillhub.cn/plugins/baixiaoyin666/dsh-long-memory。

羽毛球分组比赛记分
小程序二维码

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

小夜