dsh-fish-memory 是什么:DeepSeek Harness 记忆插件装法、召回验证与边界
dsh-fish-memory 的特别之处不是「记得多」,而是「会淡忘」。 每条记忆带时间与鲜活度,常用的留下、久不用自然淡出;画像、喜好、约定可以标为长期事实,跳过衰减。
它解决什么问题:压缩之后前面的事没了
长会话的通病是压缩一次,早期内容就淡掉。 上下文窗口有限,压缩不可避免;普通记忆插件把内容存下来,但不会判断哪些还值得留。
dsh-fish-memory 把「记忆」做成有生命周期的条目。 按轮次自动挑出值得保留的内容,需要时按证据与鲜活度召回;不重要的条目随时间淡出,避免记忆库变成垃圾场(来源)。
它解决的是「会话之间的连续性」,不是「团队知识库」。 这条边界很重要:前者面向个人长期对话,后者要求权限、审计与一致性,工具不同。
三个核心概念:条目、鲜活度、长期事实
理解三个概念,后面的配置才有依据。
| 概念 | 作用 | 会影响什么 |
|---|---|---|
| 记忆条目 | 一条可召回的内容 | 召回范围与答案细节 |
| 鲜活度 | 条目的当前有效程度 | 是否被选中、何时淡出 |
| 长期事实 | 不过期的记忆 | 画像、喜好、约定 |
记忆条目是基本单位。 每条带时间与来源,召回时按相关性与鲜活度排序;条目太多会稀释召回质量,太少又记不住。
鲜活度是衰减机制。 时间越久、越少被用到,鲜活度越低;被召回或再次确认后,鲜活度可能回升。它不是简单的「越新越好」,而是「越常用越重要」。
长期事实是手动豁免。 画像、喜好、约定这类不该忘的内容标为长期事实,不参与常规衰减;但豁免不等于永久正确,过时的约定仍要手工更新。
安装与开启
安装是普通插件流程,开启是会话级动作。 两步分开做,避免装完以为已经生效。
- 在「设置 → 插件市场」搜索
dsh-fish-memory,核对 owner 与来源后安装;或用dsh plugin --profile web add安装。 - 重启应用,让插件在启动阶段完成注册。
- 新开一个会话,在会话里开启记忆;不要复用旧会话,旧会话不会自动加载。
- 打开插件的记忆列表,确认面板可见、当前会话已启用。
- 发一条带个人偏好的消息,作为第一条可召回内容。
开启是会话级的,不是全局的,先只开一个会话做验证。 不同会话可以有不同的记忆状态;以为「装上就全局生效」,会在新会话里找不到记忆。多会话同时开启,召回结果混在一起,反而不容易判断插件是否真的工作。
参数怎么调:衰减、召回与轮次
参数的目标是让记忆「留得久一点」或「忘得快一点」,不是越多越好。
- 衰减速度: 调快会让旧事更快消失,适合短期项目;调慢会保留更多历史,适合长期陪伴。
- 召回数量: 每次注入的条目越多,上下文越挤;从少量开始,按回答质量再调。
- 筛选轮次: 多久挑一次值得保留的内容;太频繁会存太多噪声,太稀疏会漏掉关键信息。
- 长期事实: 只把真正稳定的内容标为长期,避免把临时决定也豁免掉。
先调召回数量,再调衰减。 召回数量直接影响回答质量,衰减影响的是长期留存;顺序反了,很难判断哪一项起了作用。
每次只改一个参数。 同时改衰减与召回,结果变化无法归因;保留改动记录,才能回滚。
召回验证:怎么确认真的记住了
「模型答对了」不等于「插件召回成功」。 模型可能从当前上下文推断,也可能猜对;要区分,得看证据。
- 选一个只在旧会话出现过的细节。 例如上次确定的命名、某个偏好或约定。
- 在新会话里问一个相关问题。 不要提旧会话,观察回答是否带出该细节。
- 看插件的最近一次召回记录。 记录里应该出现对应条目;没有记录,说明是模型推断或猜中。
- 做对照: 关闭记忆后再问一次,结果明显变差,才说明插件起作用。
召回记录是最硬的证据。 回答对得上、记录也对得上,才能确认;只看回答,容易被模型的常识误导。
验证要用「低常识」的细节。 问一个模型本来就知道的事实,无法区分记忆与常识;选只有你们知道的约定,才有区分度。
删除、备份与迁移
记忆数据是纯文本 JSON,改动前自动备份。 这带来两个好处:可读、可迁移;也带来一个风险:删错了没有回收站。
- 删除单条: 在记忆列表里删除,确认删除记录;不要把「淡出」当成「删除」。
- 备份: 改动前插件会自动备份,但重要节点仍建议手动复制一份到其他目录。
- 迁移: 换机器时复制本地 JSON 文件,确认新环境路径一致后再启动。
- 导入旧档案: 插件支持导入旧档案,导入前先备份当前库,避免覆盖。
「淡出」与「删除」是两件事,纯文本的好处是可审计。 淡出的条目可能仍可被召回,删除才是移除;清理记忆库前先分清目标。你可以直接打开 JSON 看条目与时间;坏处是误改会破坏结构,改动前先备份。
与 dsh-memory、mnemon 的差别
三款记忆插件都能跨会话,但侧重点不同。 选型看你要「记得住」还是「忘得掉」。
| 插件 | 侧重 | 适合场景 |
|---|---|---|
| dsh-fish-memory | 带衰减的长期记忆 | 个人长期对话、陪伴 |
| dsh-memory | 通用记忆存取 | 需要稳定记忆的基础场景 |
| mnemon | 记忆代理与整理 | 需要结构化整理与检索 |
fish-memory 的优势是「会忘」。 记忆库不会无限膨胀,召回质量随时间保持;代价是需要调参数,且不适合要求强一致的场景。
不要把三款同时装。 多个记忆插件同时注入,召回结果会互相干扰;选一个作为主记忆,其余按需停用。
不适合的场景
dsh-fish-memory 面向个人会话,不是团队知识库。 两种场景应选别的方案。
- 多人共享与权限隔离: 记忆需要按人隔离,插件不承担账号体系。
- 合规留存与审计: 需要不可篡改、可追溯的存储,本地 JSON 不满足;需要版本、引用与冲突解决的强一致知识库,也应选专门方案。
边界清楚,才不会用错。 把会话记忆当知识库,最后会因为「记不住」或「记错了」而否定工具。
下一步
先开一个会话验证召回,再决定要不要长期用。 想比较更多记忆插件,看《dsh 记忆插件有哪些》;想理解记忆与会话历史的分工,看《dsh memory plugin 和会话历史怎么分工》;想了解第二轮三款,看《DeepSeek Harness 记忆插件怎么选》。
常见问题
dsh-fish-memory 给每条记忆加时间与鲜活度,记忆会随时间和使用频率慢慢淡下去;画像、喜好、约定这类内容可以标为长期事实,永不过期。普通记忆插件通常只做存取,不做衰减。
dsh-fish-memory 的记忆以纯文本 JSON 存在本地,改动前会自动备份,插件说明没有提到上传远端。迁移或备份时以本地文件为准。
验证 dsh-fish-memory 是否真的记住,用一个只在旧会话里出现过的细节提问,观察回答是否带出该细节。再查看插件的记忆列表与最近一次召回记录,两者对得上才算真的召回。
dsh-fish-memory 不适合需要强一致、可审计的团队知识库:它面向会话级长期记忆,带衰减与自动筛选。多人共享、权限隔离或合规留存要求高的场景,应选专门的记忆或知识库方案。
相关术语
- dsh-fish-memory
- dsh-fish-memory 是 DeepSeek Harness 的长期记忆插件,记忆条目带时间并按鲜活度衰减,长期事实可标记为永不过期。— dsh-fish-memory 插件页
- 鲜活度
- 鲜活度是 dsh-fish-memory 衡量记忆当前有效程度的指标,随时间下降,被召回或使用后可能回升。— dsh-fish-memory 插件页
- 长期事实
- 长期事实是用户标记为不过期的记忆类型,用于保存画像、喜好与约定,不参与常规衰减。— dsh-fish-memory 插件页
- 召回
- 召回是插件在回答前从记忆库中挑选相关条目的过程,按证据与鲜活度排序,并把结果注入当前上下文。— dsh-fish-memory 插件页
来源
- dsh-fish-memory 插件页· dsh-plugin.org
- DeepSeek Harness 官方文档· deepseek-harness
- dsh CLI README· deepseek-ai