前言¶
在 DeepSeek Harness(DSH)里做智能体或长期协作时,模型默认只看见当前会话上下文:硬规则、踩坑记录、项目里已经定下来的事实,换一轮对话或新开工作区就容易丢。有人把要点写进系统提示或外部笔记,但规则要么占满缓存、要么和对话混在一起不好维护;笔记又未必会在合适时机被模型读到。
dsh-mnemo 是社区插件,面向「规则每轮必达、其余按需召回、数据人能直接改」这一类需求。下面介绍它是什么、记什么、怎么装,以及三个内置工具和数据文件长什么样。
这是什么¶
dsh-mnemo(GitHub:cwqXXX/dsh-mnemo,当前 package 版本 0.2.0,MIT)由维护者 cwqXXX 发布,给 DSH 提供跨会话长期记忆:规则和坑每轮注入,其余条目按「词证据」召回;持久化是明文 JSON,可读、可改、可备份。装好后在宿主 设置 → 鲸忆 里管理。插件要求宿主 dsh >= 0.2.0。
它记住什么¶
记忆按作用域分层,生命周期不同:
| 层 | 内容 | 生命周期 |
|---|---|---|
全局 global |
硬规则、坑、偏好、环境事实 | 永久;规则每轮注入 |
项目 project:<目录名> |
某个工作区的固定事实 | 跨会话 |
会话 session:<id> |
只属于当前会话的结论 | 随会话 |
行为要点(来自 README):
- 规则钉住:
kind为rule/pitfall,或标记pinned的条目每轮注入,不随时间衰减。 - 其余会淡忘:
fact半衰期约 365 天、task约 120 天、event约 60 天;显式检索仍可查到。 - 事实键:使用
factKey(形如「对象.方面」)时,同键只保留最新一条,旧条目标为「已被取代」,不直接删文件。
三个工具¶
模型通过插件暴露的工具读写记忆:
| 工具 | 用途 |
|---|---|
memory_save |
记一条:可设 kind、pinned、factKey、supersedes、scope 等 |
memory_recall |
按关键词查;不传 query 时按重要度列最近条目 |
memory_forget |
软删除(文件里仍保留记录) |
典型流程是:会话里把稳定规则或项目事实 memory_save 到合适 scope;需要上下文时用 memory_recall;过时条目用 memory_forget 标记。具体字段以插件实现与宿主工具描述为准。
数据落在哪里¶
| 路径 | 内容 |
|---|---|
~/.dsh/mnemo/memory.json |
真源,明文 JSON |
~/.dsh/mnemo/MEMORY.md |
人读镜像(只读) |
~/.dsh/mnemo/mnemo.log |
加载与错误日志 |
需要手工校对或备份时,直接编辑 memory.json 即可;MEMORY.md 便于快速浏览,不要把它当写入入口。
设计取舍(为何这样接 DSH)¶
- 注入走
systemPrompt.context:追加在对话末尾,不改系统提示词本体,避免破坏 prompt 缓存。 - 召回用 IDF 加权覆盖率:专有词权重高、常见词权重低,宁可漏召也不被口水词误拉进来。
- 只依赖 Node 内置模块:不 import
@deepseek-ai/*,避免 peer 依赖缺失导致整条插件无法激活。
安装与启用¶
官方安装方式如下(二选一):
dsh plugin --profile <你的 profile> add dsh-mnemo
或在宿主 设置 → 插件 → 插件市场 搜索 dsh-mnemo 安装。安装后重启宿主,再到 设置 → 鲸忆 查看与管理记忆。
DSH 生态是「一切皆插件」;社区目录页(如 SkillHub 上的插件条目)是独立站点,与 DeepSeek / 幻方无官方从属关系,不要把它当成官方应用商店。
适用场景与注意¶
适合需要长期保留规则、项目事实、会话结论,又希望规则和坑每轮自动进上下文、其余按需检索的 DSH 用户。不适合把敏感密钥明文塞进 memory.json——文件在本机用户目录下,权限与备份策略需自行把控。
插件以当前 DSH 进程的权限运行,安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,确认行为符合你的安全与合规要求。
结尾¶
dsh-mnemo 把长期记忆拆成「钉住的规则 + 可淡忘的事实 + 按证据召回」,数据明文落在 ~/.dsh/mnemo/,并带 Web 管理页「鲸忆」。更多说明见目录页 SkillHub 插件条目 与 GitHub README。