eryucheng/dsh-suzu-memory ↗★ 0
dsh-suzu-memory
Suzu Memory integration for DeepSeek Harness sessions 适合需要深度整理、审核和备份会话记忆的用户。
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:eryucheng/dsh-suzu-memory使用指南
所有设置都在「设置 → Suzu Memory」里。页面顶部的「会话」默认是当前聊天,也可以切换到其他已有会话。界面会跟随 DSH 的语言设置显示中文或英文。

| 设置 | 作用范围 |
|---|---|
| 记忆状态、立即整理、记忆审核台 | 顶部选中的会话 |
| 人设、压缩提示词 | 顶部选中的会话 |
| Embedding 配置 | 当前 DSH profile 下的所有会话(各会话的记忆数据仍分开保存) |
管理记忆
| 操作 | 说明 |
|---|---|
| 刷新状态 | 查看所选会话是否有待整理的对话、是否正在处理 |
| 立即整理 | 手动整理所选会话的记忆 |
| 打开记忆审核台 | 进入 Suzu Memory 自带的面板,核对记忆和原话证据、人工审核、查看处理状态、创建备份 |
审核台只在打开时在本机启动。在终端中可以用对应的命令:
/suzu-memory-status 查看记忆状态,返回审核台地址
/suzu-memory-maintain 立即整理当前会话的记忆
会话人设
| 选项 | 说明 |
|---|---|
| 沿用 DSH 人设(默认) | 保持 DSH 原有的人设设置 |
| 使用本会话人设 | 填写身份、性格、说话方式或关系设定后保存 |
保存后从下一次模型请求开始生效,只影响所选会话。插件替换的是 DSH 原生的人设位置,其他系统提示词保持不变;如果会话预设明确提供了完整的系统提示词,那份完整提示词仍然优先。
压缩提示词
| 选项 | 说明 |
|---|---|
| 沿用 DSH 原模板(默认) | 插件不介入,使用 DSH 原有的压缩指令 |
| 聊天模板 | 保留当前话题、双方表达过的态度与偏好、已有约定和未完成的事,方便接着聊 |
| 自定义 | 自己写压缩指令,也可以在聊天模板的基础上改 |
保存后在下一次压缩时生效。选择聊天模板或自定义后,DSH 发起压缩请求时,插件只把其中的压缩指令换成本会话的提示词,对话内容、工具和模型参数都保持不变,每次压缩仍只调用一次模型。什么时候压缩、怎样用摘要替换历史,依然由 DSH 决定。
查看内置的聊天模板
将上方对话整理为可供继续交流的简洁摘要,使用对话的主要语言。
保留以下仍然相关的内容:
- 正在讨论的话题、最近发生的事情,以及对话推进到哪里。
- 双方明确表达的态度、感受、偏好、称呼与关系变化;区分原话、事实与推测。
- 已经达成的约定、用户的要求和纠正、尚未回答的问题及未完成的事项。
- 继续当前交流所必需的细节;涉及工作时保留必要的路径、标识和准确数值。
沿用对话中明确的人物和时间指代,不编造经历、情绪、关系或承诺,不把临时感受概括为固定性格。
已有摘要是较早的背景:合并仍然有效的内容,更新变化,去掉过时信息,不逐次堆叠旧摘要。
摘要用于承接对话,不重写人设,也不罗列与当前交流无关的全部旧记忆。
只输出摘要,不继续聊天,不调用工具,不解释摘要过程。
[!TIP] 人设或压缩提示词有未保存的修改时,先保存或重新载入,再切换会话。如果保存时遇到并发冲突,页面会保留你的草稿并提示重新载入。
Embedding(可选)
在设置页下方勾选「启用向量检索」,填写兼容 OpenAI Embeddings 接口的服务:
| 字段 | 说明 |
|---|---|
| API 地址 | Embedding 服务的 API 基础地址,按服务商说明填写 |
| 模型名称 | Embedding 模型的准确名称 |
| 向量维度 | 可留空使用服务默认值;填写时须是模型支持的正整数 |
| API Key | 服务密钥。修改其他字段时留空,会保留已保存的密钥 |
保存后,下一次检索和整理会使用新配置,已经在运行的请求不受影响。关闭向量检索不会清除已保存的配置。插件详情页里也有同一份 Embedding 表单。
聊天模型和 Embedding 模型是分开配置的。不开 Embedding 时,词法、BM25 全文与实体召回照常工作,时间检索、关系扩展和按记忆 ID 续查也都可用;开启后再多一路向量语义召回。
高级配置
一般情况下用设置页就够了。如果需要指定分析模型、数据目录或调整整理行为,可以在当前 profile 的 cordis.patch.yml 中覆盖插件配置:
- id: suzu-memory
config:
automaticMaintenance: true
consoleEnabled: true
analysisTimeoutMs: 180000
analysisMaxTokens: 16384
recallLimit: 5
recallMaximumCharacters: 12000
| 字段 | 默认值 | 说明 |
|---|---|---|
dataRoot | 空 | 记忆数据目录,留空时使用当前 profile 下的 suzu-memory/ |
analysisProvider / analysisModel | 空 | 留空时沿用会话模型;要填就两个都填,且须是 DSH 中已注册的服务商和模型 |
memoryOwner / userName | Assistant / User | 整理材料中对助手和用户的称呼 |
automaticMaintenance | true | 会话空闲后自动整理 |
consoleEnabled | true | 允许按需启动本机的记忆审核台 |
recallLimit | 5 | 单次检索返回的候选数,范围 1–10 |
recallMaximumCharacters | 12000 | 单次检索结果的字符上限,范围 1000–48000 |
embedding | null | 向量检索配置,null 表示不启用 |
更多字段
| 字段 | 默认值 | 范围 |
|---|---|---|
analysisTimeoutMs | 180000 | 1000–600000 |
analysisMaxTokens | 16384 | 256–64000 |
maximumOutputCharacters | 262144 | 1024–2000000 |
maximumInputBatches | 2 | 1–20 |
maximumMaintenanceTasks | 10 | 1–100 |
maximumStateRequests | 10 | 1–100 |
maximumConsolidationRuns | 3 | 1–20 |
historyBatchSize | 128 | 1–1000 |
embedding.timeoutMs | 30000 | 1000–600000 |
用配置文件设置 Embedding 时,可以用 embedding.apiKeyEnv 指定一个环境变量名,从启动 DSH 时的环境中读取密钥,避免把密钥写进文件。
完整定义见 src/config.mjs。