DSH 的核心理念是「一切皆插件」,这意味着扩展能力非常灵活。但在实际使用中,单纯依赖当前上下文窗口会很快触及限制,或者让 AI 忘记之前的对话。dsh-memory-vault 就是为此设计的插件,它通过外置数据库,为 DSH 提供了类似人类长期记忆的功能。
核心功能¶
这个插件主要解决智能体长时间对话中的记忆断层问题,具体能力包括:
- 记忆管理:支持记忆的新增、查看、搜索、修改、删除,以及归档和恢复。
- 分类与统计:提供分类管理、标签管理和统计信息。
- 对话记录:自动将每次完整对话保存为记录,仅保存用户和助手的文本,不包含工具调用细节。
- 历史检索:专门用于搜索历史对话内容。
- 分层记忆:采用分层结构管理记忆:
- 短期:最近对话。
- 中期:压缩摘要。
- 长期:再压缩摘要。
- 永久:当前会话重要内容。
- 全局预设:全局的“预设/用户记忆”单独保存,每次对话开始时会自动带上。
- 自动管理:永久记忆绑定当前会话不会丢弃;长期记忆满后会自动吸收重要内容并丢弃最旧的一条。
安装与启用¶
安装插件最直接的方式是通过命令行。在终端执行以下命令:
dsh plugin --profile web-desktop add github:hjj588/dsh-memory-vault
安装完成后,需要重启 DSH 桌面客户端才能生效。重启后,在「设置 → 插件 → 管理」中找到该插件。
使用方式¶
插件运行后,会向 DSH 注入一系列工具,AI 在对话中会自动调用。你无需手动编写工具调用指令,只需在对话中自然语言表达需求。常见的使用场景包括:
- “记住……”:向长期记忆库添加信息。
- “查一下记忆……”:检索存储的记忆内容。
- “之前说过什么……”:查询历史对话记录。
配置与调优¶
默认情况下,短期保留 20 条原始消息,每次压缩 10 条,中期和长期各保留 20 条摘要。如果需要调整这些参数,需要编辑配置文件 ~/.dsh/profiles/web-desktop/cordis.patch.yml。
在 memory-vault 配置项下添加或修改 config 字段:
- insert:
- id: memory-vault
name: 'dsh-memory-vault'
config:
shortTermLimit: 20
shortTermCompressCount: 10
mediumTermLimit: 20
mediumTermCompressCount: 10
longTermLimit: 20
注意事项¶
- 数据存储:所有记忆数据保存在
~/.dsh/memory/memory.db中,与当前工作区路径无关。 - 数据内容:插件仅保存用户和助手的文本,不保存工具调用的细节。
- 运行权限:插件会以 DSH 进程的权限运行,安装前建议检查源码与许可证。
总结¶
对于需要长时间维护上下文、进行多轮对话或构建长期记忆智能体的开发者来说,dsh-memory-vault 是一个实用的辅助工具。更多细节可以查阅 GitHub 仓库 或 DSH 插件目录。