前言¶
DeepSeek Harness(DSH)中的智能体每次会话都会重新进入上下文;如果把项目偏好、部署约束、测试命令、决定和项目笔记只留在某一次对话里,后续会话就无法继续使用这些信息。
dsh-memory-vault 是一个面向 DSH 的跨会话记忆插件。它提供 memory_remember / memory_recall / memory_forget 三个模型工具,在每轮系统提示组装时注入较新记忆,并在设置页提供浏览器管理入口。
这是什么¶
dsh-memory-vault 是一个由 flymysql 维护的 DSH 插件,MIT 许可证。它把“记住、回忆、忘记”做成可调用的模型工具,并把持久化记录放在 DSH 的存储域中。
它主要解决一个问题:让事实、偏好、决定和项目笔记可以跨会话保留,而不是只存在于单次对话上下文中。
核心功能¶
已核实的能力包括:
- 3 个模型工具:
memory_remember/memory_recall/memory_forget - Per-turn prompt injection:较新的记忆条目会被注入到每次 system-prompt assembly 中
- Durable storage:记录保存在 DSH storage domain(
dsh_memoryunit,默认使用 json backend) - 浏览器管理页:在 Settings 的“记忆库 / Memory”页面中浏览、添加、删除条目
memory_recall排序规则:按 tag matches(×2)和 content matches 评分,newest first
安装与启用¶
使用官方安装命令:
dsh plugin --profile web add dsh-memory-vault
这里的包名是 dsh-memory-vault。安装前建议检查源码与 MIT 许可证,并确认你信任该插件会以当前 dsh 进程权限运行。
典型用法¶
先让智能体记住信息:
记住:这个项目的部署目标是 Windows,测试命令是 `pnpm test`。
智能体可以调用 memory_remember,并可选传入 tags:
memory_remember(content="User prefers Windows deployment; test command is `pnpm test`", tags=["project:demo", "user"])
当需要找回之前会话中的上下文时,调用:
memory_recall(query="Windows deploy")
如果某条记忆已经过时或错误,可以按 id 删除:
memory_forget(id="m-...")
也可以按 tag 删除:
memory_forget(tag="project:demo")
配置¶
插件提供两个配置项:
| 配置项 | 类型 | 默认值 | 含义 |
|---|---|---|---|
injectLimit |
int | 8 | 每次 system-prompt assembly 最多注入的条目数 |
recallLimit |
int | 10 | memory_recall 最多返回的条目数 |
浏览器管理页¶
在 Settings 中可以看到“记忆库 / Memory”页面,用于浏览、添加和删除记忆条目。
已核实资料中还提到接口形态:发布包使用 public same-origin JSON endpoints GET/POST /dsh-memory/entries;动态插件原型使用 sandbox-only harness.handle / host.call package RPC。
适用场景与注意¶
适合需要在 DSH 中保留跨会话上下文的项目,尤其是涉及稳定偏好、部署目标、测试命令、项目决定和重复出现的项目笔记的场景。
使用注意:
- 插件以当前
dsh进程权限运行,安装前应检查源码、依赖和 MIT 许可证 memory_recall返回结果受recallLimit限制,默认最多返回 10 条- 每次 system-prompt assembly 注入条目受
injectLimit限制,默认最多注入 8 条 memory_forget支持按 id 或 tag 删除,删除前建议确认目标条目
结尾¶
dsh-memory-vault 的核心价值是把跨会话记忆变成一组稳定可调用的工具,并通过 per-turn prompt injection 和浏览器管理页降低维护成本。
GitHub 仓库:
https://github.com/flymysql/dsh-memory
目录页 URL 未出现在已核实资料中。