前言¶
在智能体开发中,上下文窗口有限且会话常中断,导致 Agent 难以维持对项目约束、历史决策或长期偏好的记忆。DSH(DeepSeek Harness)作为模块化插件生态,需要配套解决这一持久化问题。当 Agent 在新会话中需要复用旧信息时,传统的依赖外部数据库或向量检索的方式往往增加复杂度。
dsh-echo-memory 是 JxaMe 维护的 DSH 专用跨会话持久记忆插件。它旨在让 Agent 能够记住用户的偏好、项目约束与已定决策,并在后续会话中自动想起。
插件简介¶
dsh-echo-memory 是 DeepSeek Harness(DSH)专用的跨会话持久记忆插件。
- 核心定位:极简、纯本地、无向量、无数据库。
- 维护者:JxaMe。
- 许可证:MIT。
它将记忆落盘在用户本地的 memory.json 文件中,数据人类可读、原子写入、重启不丢。
核心功能¶
模型侧(Host 半)— 记忆怎么进、怎么出¶
- 5 个记忆工具:插件提供
memory_save(保存)、memory_search(检索)、memory_forget(删除)、memory_restore(恢复)、memory_suggest(建议)五个工具,Agent 在对话中可直接调用。 - 按需召回注入:每次模型请求前,从用户提问抽 query,通过 BM25F 评分计算相关性,将相关的记忆追加进对话上下文,而非广播式注入。
- 自然对话保存:无需固定句式,直接在对话中说“帮我记住 XX”,Agent 会调用
memory_save落库。 - AI 建议记住:每轮对话中,AI 会自主提炼值得记的偏好、约束或决策,通过
memory_suggest调用 Dock 确认,只有用户确认后才真存入数据库。
存储与检索¶
- 纯本地 JSON 存储:数据存储在
memory.json中,无向量库、无需 API Key。BM25F 算法结合标题、标签、强度与新鲜度进行检索。 - 同内容强化:重复保存同一条记忆时,强度会 +1 并刷新时间,而非堆叠重复记录。
- 工作区隔离:记忆按工作区(项目)隔离,同时支持全局
*共享,确保项目记忆不串台。 - 删除模式:支持“墓碑删除”和“彻底删除”。默认墓碑模式下,删除的记录进入回收站可恢复;彻底删除模式下则物理移除。
浏览器 UI(Client 半)¶
- 全站悬浮原点 UI:右下角悬浮一个原点,支持拖拽移动、双击复位。
- 拖选即记:选中网页任意文字,拖到原点或面板上松手即可保存,无需打开面板。
- 管理面板:提供记忆列表,支持搜索联想、编辑、删除、复制以及按工作区过滤。
- 召回历史 tab:模型刚才引用了哪些记忆,可在原点面板的“召回历史”标签中查看。
- 瞬态召回气泡:命中相关记忆时,右下角会冒泡展示 6 秒,无关时零打扰。
- 设置卡片:可配置注入开关、召回条数上限、召回文本长度上限以及删除模式。设置保存即时生效。
可靠性¶
- 损坏自愈:
memory.json文件损坏时,插件会自动隔离备份为memory.json.corrupt-<时间戳>并用空库启动,面板会显示一次恢复提示。
安装与启用¶
本插件仅适配 DSH 0.1.2-rc.1。安装命令如下(以 web profile 为例,其他 profile 需替换 web):
dsh plugin --profile web add github:JxaMe/dsh-echo-memory
安装完成后,需重启 DSH 服务使其生效。验证方法为检查服务日志是否出现 [dsh-echo-memory] loaded,或在 DSH 设置页确认是否出现「记忆(dsh-echo-memory)」卡片。
典型用法¶
- 自然对话保存:在对话中说“帮我记住这个项目用 pnpm workspaces”,Agent 会调用
memory_save落库并回显确认。 - 问答复用:在对话中说“你还记得这个项目用什么包管理器吗”,新会话中的 Agent 也能直接回答。
- 检索记忆:在对话中说“搜一下关于部署的记忆”,Agent 会调用
memory_search并将相关内容注入上下文。 - 删除记忆:在对话中说“把那条关于 xx 的记忆删掉”,Agent 会先检索 ID 再执行删除。
- 网页拖拽:在浏览器中选中一段文字,拖到右下角的悬浮原点上松手,即可直接保存该段文字。
适用场景与注意¶
- 适用场景:需要为 DSH Agent 提供长期记忆、项目上下文隔离、以及纯本地化数据管理的开发者。
- 版本依赖:仅适配 DSH
0.1.2-rc.1。DSH 0.x 阶段 API 可能存在 breaking 变更,建议以package.json的 peerDependencies 为准。 - 环境限制:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
- 其他注意:
- 纯本地、无向量、无数据库。
minimal preset不启用 AI 提议记忆功能。- Service API 不稳定,插件对外只提供 tools 与 HTTP routes,不承诺
ctx.memory服务 API 稳定。
结尾¶
dsh-echo-memory 通过极简的架构和悬浮原点交互,解决了 DSH Agent 跨会话记忆的痛点。它不依赖外部数据库,通过 BM25F 算法实现高效检索,并支持工作区隔离与损坏自愈,适合对数据隐私和极简部署有要求的开发者。