前言¶
在 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:... 一类命令,官方步骤如下。
- 将本仓库下载到本地任意目录(例如从 GitHub 下载 ZIP 并解压)。
- 在 DSH 打开 设置 → 插件,选择从本地目录安装,并指向该目录。
等价的自动化方式:调用 plugin_manager 的 install_bundle,target 传该目录的绝对路径。
- 安装返回
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。