前言¶
DeepSeek Harness(DSH)里若已有长期记忆类插件,常见做法是存提炼后的结论:方便续写上下文,但当你问「我上次原话怎么说的」「那个禁令完整表述是什么」时,压缩过的摘要往往对不上逐字需求。长期记忆和原话检索解决的不是同一类问题。
下面介绍社区插件 dsh-memory-echo(维护者 CNyaotian-Lunar,分类:记忆)。它在本地保留用户真正发过的话,供按需查询;不自动把内容注入对话上下文。仓库说明为 Utterance-level short-term memory plugin for DeepSeek Harness,当前为 0.1.x,接口与数据格式尚未稳定。
这是什么¶
dsh-memory-echo 是 DSH 的原话级短期记忆插件:从会话日志里只抽取你自己发的消息,写入本地 SQLite;助手回复、工具输出、子代理任务书不会入库。与「只存结论」的长期记忆库互补——前者回答「当时怎么说的」,后者更适合「我们达成了什么共识」。
插件无网络请求,运行时依赖为零(仅使用 Node 内置 node: 模块)。许可证为 MIT。
读什么、写什么¶
加载与扫描时,插件从 $DSH_HOME/sessions/**/session.v4.jsonl.zstd 读取会话日志,筛选 source.kind === 'user' 的用户消息,写入 $DSH_HOME/data/dsh-memory-echo/echo.db。该库全局一份,不按工作区分;可通过配置项 dbDir 指定库的完整目录。
设计上有几条固定约束(来自仓库说明):
| 约束 | 原因 |
|---|---|
| 存全文,不做有损压缩 | 压缩可能丢掉否定与动词,禁令会变成操作步骤 |
| 不自动注入上下文 | 执行途中不会预置查询,避免抑制按需检索 |
| 查询失败区分原因 | not-found / unavailable / empty-db / expired 含义不同 |
| 只存用户发言 | 助手与工具输出不算「说过的话」 |
安装与启用¶
官方推荐从插件名安装:
dsh plugin add dsh-memory-echo
若要从源码构建再链接本地目录,仓库给出的步骤为进入克隆后的目录执行 npm install && npm run build,再用 dsh plugin add link:$(pwd)。package.json 要求 Node >=22.13、DSH >=0.2.0-rc.2;插件元数据标注与 0.2.1-rc.2 兼容。
安装后默认 enabled: true,会在加载时按配置做增量扫描(autoScan: true,默认回看 autoScanDays: 7 天)。
配置要点¶
| 键 | 默认 | 说明 |
|---|---|---|
enabled |
true |
关闭后不注册工具、不扫描 |
dbDir |
'' |
空则使用 $DSH_HOME/data/dsh-memory-echo |
sessionsRoot |
'' |
空则使用 $DSH_HOME/sessions |
autoScan |
true |
加载时增量扫描 |
autoScanDays |
7 |
增量扫描回看天数 |
每条原话带有 valid_until:默认保留 30 天;设 retentionDays: 0 可关闭淡出。到期后常规查询不可见,但数据仍在库中,查询时可传 includeExpired: true。
典型用法¶
工具名为 memory_echo,仅在模型或工作流主动调用时读取库内容。仓库示例:
memory_echo({ query: "硬盘" }) // 查关键词
memory_echo({ days: 1 }) // 今天说过什么
memory_echo({ mode: "bucket", days: 1 }) // 按天聚合:哪一段、几条、样例
memory_echo({ query: "方案", includeExpired: true }) // 连已淡出的一起查
query 宜为 2~4 个字的实体词(如「硬盘」「报错」「方案」)。传整句会被切成多段且要求段段命中,往往查不到结果;想回忆「上次提到的那个方案」,应传核心词而非整句问法。
隐私与本地数据¶
插件在本地运行,但会把你说过的内容复制进 SQLite。落库前会对常见凭据形态做模式替换(如 sk- 密钥、JWT、Authorization / Cookie 头、查询串中的 token= / password= 等),只换值、保留键名与上下文;未匹配到的形态仍可能原样入库,不能视为万无一失。
若要彻底移除数据:关闭插件后删除目录 $DSH_HOME/data/dsh-memory-echo/,插件不会在该目录之外重建其它产物。
适用场景与注意¶
适合需要在 DSH 对话里按关键词或时间范围找回自己原话的开发者:例如核对口头约束、找回某天的表述、区分「没说过」与「已过期查不到」。
插件以当前 DSH 进程权限读写 $DSH_HOME 与会话日志;安装前应阅读 GitHub 仓库 源码与 MIT 许可证,确认脱敏策略是否满足你的合规要求。DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区收录站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-memory-echo 补的是「原话可查、按需调用、本地 SQLite」这一层:与长期记忆的结论库并列使用,而不是替代它。需要安装说明与配置细节时,以仓库 README 为准。
- 目录页:https://www.skillhub.cn/plugins/CNyaotian-Lunar/dsh-memory-echo
- GitHub:https://github.com/CNyaotian-Lunar/dsh-memory-echo