中文EN

dsh-suzu-memory

memory已测通过npmApache-2.0

为 DeepSeek Harness 提供会话独立的长期记忆、记忆管理、人设设置和压缩提示词。

下载量 / Downloads
1,511
依赖体积 / node_modules
15.83 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-suzu-memory

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

<p align="center">

<picture>

<source media="(max-width: 600px)" srcset="docs/images/banner-mobile.svg">

<img src="docs/images/banner.svg" alt="DSH Suzu Memory:让 DeepSeek Harness 的会话,记得你们聊过的事。" width="1120">

</picture>

</p>

<p align="center">

<a href="#记忆效果"><img src="https://img.shields.io/badge/LoCoMo-89.87%25-9365cb" alt="LoCoMo 准确率 89.87%"></a>

<a href="https://github.com/eryucheng/dsh-suzu-memory/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/eryucheng/dsh-suzu-memory/ci.yml?branch=main&amp;label=CI&amp;logo=github" alt="CI 构建状态"></a>

<a href="https://github.com/eryucheng/dsh-suzu-memory/releases/latest"><img src="https://img.shields.io/badge/release-v0.7.0-9365cb" alt="版本 0.7.0"></a>

<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/DSH-0.2.1--rc.3-4d6bfe" alt="适配 DSH 0.2.1-rc.3"></a>

<a href="package.json"><img src="https://img.shields.io/badge/node-22.19%2B%20%7C%2024%2B-5fa04e?logo=nodedotjs&amp;logoColor=white" alt="Node.js 22.19+ 或 24+"></a>

<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-777bc4" alt="Apache License 2.0"></a>

</p>

<p align="center">

<a href="#记忆效果"><b>记忆效果</b></a> ·

<a href="#快速开始"><b>快速开始</b></a> ·

<a href="#工作原理"><b>工作原理</b></a> ·

<a href="#使用指南"><b>使用指南</b></a> ·

<a href="#数据与隐私"><b>数据与隐私</b></a> ·

<a href="#高级配置"><b>高级配置</b></a>

</p>

<br>

长对话经过几轮压缩,早先聊过的细节往往只剩一句摘要。DSH Suzu Memory 是 DeepSeek Harness 的插件,它把 Suzu Memory 长期记忆装进 DSH 的会话里:照常聊天,内容积累到一定长度后分批后台整理,压缩时处理剩余内容。模型需要回想时自己发起检索,每条记忆都能追溯到当时的原话。

它还可以接管压缩摘要的写法:摘要只负责接住当前的话题,被压缩掉的细节交给长期记忆保存。

记忆效果

在 LoCoMo 的 10 组英文长对话、1540 道问答题上,模型通过 suzu_memory_search 按需检索 Suzu Memory,准确率达到 89.87%,是直接阅读完整对话(93.51%)的 96%。时间类问题的准确率还高于阅读完整对话。

<p align="center">

<picture>

<source media="(max-width: 600px)" srcset="docs/images/locomo-overview-mobile.svg">

<img src="docs/images/locomo-overview.svg" alt="LoCoMo 对照评测:无历史 0.39%,Suzu Memory 89.87%(每题累计 4,375 token),完整对话 93.51%(每题 21,490 token,随对话增长)。Suzu Memory 达到完整对话准确率的 96.1%,各组对话的每题输入保持在 4,033–4,664 token,时间类问题高于完整对话 0.93 个百分点。" width="1120">

</picture>

</p>

记忆注入的量不随对话变长。 每次检索都有条数和字符上限。LoCoMo 中对话长度翻了一倍,完整对话的每题输入从约 1.3 万涨到 2.5 万 token,记忆组一直保持在约 4 千 token。DSH 会话越聊越长,压缩会丢掉细节,按需检索可以用固定的少量输入把它们找回来。

<p align="center">

<picture>

<source media="(max-width: 600px)" srcset="docs/images/locomo-input-mobile.svg">

<img src="docs/images/locomo-input.svg" alt="作答输入与对话长度:10 组对话从 52,707 到 106,835 字符。完整对话组每题输入从 12,990 增至 24,533 token,与长度的相关系数为 0.99;Suzu Memory 每题输入保持在 4,033–4,664 token,相关系数为 0.09。" width="1120">

</picture>

</p>

评测在 Suzu Memory 上游仓库中进行:三组使用同一作答模型(deepseek-v4-flash)、提示词和裁判,类别 5 不计分。模型、提示词、逐题结果与离线复核见评测报告。

特性

<table>

<tr>

<td width="50%" valign="top">

一个会话,一份记忆<br>

每个会话默认关闭,手动开启后才会采集和整理。各会话有独立的记忆库、人设和压缩设置;分支会话从自己的日志区间建立记忆,不读取父会话的记忆库。

</td>

<td width="50%" valign="top">

按需回想,不占上下文<br>

模型通过 suzu_memory_search 自行决定何时检索,还可以用返回的记忆 ID 继续查关联。每次检索默认最多返回 5 条、约 1.2 万字符,会话再长,注入的内容也不会跟着膨胀。

</td>

</tr>

<tr>

<td valign="top">

整理时机由你决定<br>

提供随时整理、仅在波谷时段整理和手动整理三种模式。默认的波谷时段避开 DeepSeek 公布的工作日高峰。

</td>

<td valign="top">

长对话也压得动<br>

可以给会话换上聊天用的压缩提示词。较长的压缩材料按模型容量分段摘要再合并,被压掉的细节交给长期记忆。

</td>

</tr>

<tr>

<td valign="top">

记忆图谱与审核台<br>

在独立网页中用三维图谱浏览记忆和关联,点开节点就能看到原话来源;审核台可以核对证据、人工审核和创建备份。

</td>

<td valign="top">

会话级人设<br>

为单个会话指定人设,替换 DSH 原生的人设位置,从下一次模型请求开始生效。

</td>

</tr>

<tr>

<td valign="top">

装上就能用<br>

安装包自带 Memory 核心,不用另外部署服务。默认沿用会话的模型与认证,Embedding 是可选项。

</td>

<td valign="top">

数据留在本地<br>

记忆库和原话证据保存在 DSH 的 profile 目录下。只有整理和向量化时,才会把所需材料发给你使用的服务商。

</td>

</tr>

</table>

工作原理

<p align="center">

<img src="docs/images/workflow.svg" alt="工作原理:原文提交时暂存,内容足量后分批整理,压缩时处理尾批。DSH 压缩只把旧消息换成摘要,原话仍在记忆库中;模型需要时通过 suzu_memory_search 检索相关记忆。" width="1120">

</p>

原话在每条消息提交时就已经进了记忆库,所以压缩只会缩短模型眼前的上下文,记忆库里一条都不会少。压缩摘要和长期记忆各管一段:

· 压缩摘要 · 长期记忆

负责 · 让当前对话接得上 · 保存经历、人物认识和原话

何时产生 · 上下文过长时,由 DSH 触发 · 内容足量后分批后台整理,压缩时收尾,也可手动整理

保留什么 · 当前话题、约定、未完成的事 · 事件、偏好与状态、关系、原话证据

如何使用 · 直接放在上下文里 · 需要时调用 suzu_memory_search,可用返回的记忆 ID 继续查关联

插件负责 · 按会话替换压缩提示词(可选) · 收录、整理和检索

内置的聊天模板就是按这个分工写的:摘要用于承接对话,不罗列与当前交流无关的旧记忆。

记忆系统

记忆的提取、整理和检索都由 Suzu Memory 完成。它是一个本地优先的长期记忆引擎,插件只负责把 DSH 会话接上去,核心算法与上游保持一致。

  • 每条记忆都有出处:保留原话、发言者和时间,召回的记忆可以追溯到当时的原话。
  • 认识会变,历史留着:用十二类人物认识组织偏好、习惯、目标和关系。新证据可以补充、纠正或取代旧认识,原来的状态和正反证据都保留。
  • 听得懂时间:解析“前几天”“两周前”“last time”这类中英文表达,按精度调整排序,日期对不上的相关记忆不会因此被排除。
  • 带着依据召回:组合词法、BM25、实体与可选的向量线索,沿关联展开原话和支持、反对证据,在预算内返回。

<p align="center">

<picture>

<source media="(max-width: 600px)" srcset="docs/images/retrieval-mobile.svg">

<img src="docs/images/retrieval.svg" alt="Suzu Memory 多路检索示意:组合词法、BM25、实体和可选向量线索,经过门控、融合及关系与证据展开,按意图和预算返回有界上下文。" width="960">

</picture>

<br>

<sub>图源:<a href="https://github.com/eryucheng/suzu-memory">Suzu Memory</a></sub>

</p>

想了解原理,可以从这些上游说明读起。插件内置源码位于 [vendor/suzu-memory/](vendor/suzu-memory/),对应的固定提交记录在 [UPSTREAM.json](UPSTREAM.json)。

主题 · 内容

记忆评测 · LoCoMo 对照评测与完整报告

工作方式 · 记录经历、后台整理、按需召回的完整流程

多路检索与证据展开 · suzu_memory_search 背后的检索算法

听得懂时间 · 中英文时间表达如何影响召回排序

人物认识的十二个维度 · 偏好、习惯、目标、关系等认识如何区分和组织

状态演化与来源追溯 · 认识如何随新证据更新,事件如何接续,原话如何追溯

兼容性

项目 · 版本

插件 · 0.7.0

DeepSeek Harness · >=0.2.1-rc.2 <0.3.0-0

开发与测试使用 · 0.2.1-rc.3

No

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:5,最后更新 2026-11-01

链接

GitHub · Homepage · npm

同类插件