DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。在构建需要长期上下文记忆的智能体时,如何在对话轮次间保持状态一致是关键难点。yushenghai1106/dsh-memory-plugin 旨在解决这一问题,为 DSH 提供一个可插拔的持久记忆方案。
插件定位¶
这是一个面向 DeepSeek Harness 的持久记忆插件,由开发者 yushenghai1106 维护,采用 MIT 许可证。它不依赖外部服务,直接利用 Harness 的存储后端,为智能体提供记忆能力。
核心功能¶
该插件提供以下能力:
- 记忆维护:支持项目事实与用户偏好的人工维护。
- 自动保留:已完成对话的自动保留,转化为动态事实。
- 收件箱处理:收件箱异步预取,提升响应速度。
- 上下文召回:针对当前问题进行召回,获取相关记忆。
- 高级检索:支持可选的语义向量排序与本地实体共现图。
安装与启用¶
安装命令如下:
dsh plugin --profile default add @yushenghai/dsh-memory-plugin
安装完成后,使用以下命令检查配置是否生效:
dsh --profile default --dump-config
在配置文件中,启用 provider: local 即可使用内置的持久化提供者。
配置说明¶
插件默认补丁了 ysh-memory 配置项,覆盖了人工记忆、动态事实限制、自动保留策略等。在配置文件的 ysh-memory 条目中,可以覆盖这些默认值。
以下是部分关键配置项:
| 配置项 | 默认值 | 作用 |
|---|---|---|
memoryCharLimit |
2200 | 会话开始时注入的项目记忆最大字符数。 |
userCharLimit |
1375 | 会话开始时注入的用户偏好最大字符数。 |
recallLimit |
4 | 每次召回返回的最大事实数量。 |
recallMaxChars |
6000 | 加入模型请求的召回参考上下文最大字符数。 |
maxFactCount |
1000 | 保留的动态事实最大数量。 |
prefetchTtlMs |
30000 | 收件箱预取结果的缓存时长(毫秒)。 |
autoRetain |
true | 是否将已完成的对话自动保留。 |
在配置排序权重时,至少应有一个权重大于零,建议总和接近 1。
兼容性与注意¶
- 版本要求:本插件面向 DeepSeek Harness
0.1.2-alpha.2及更高版本。 - 依赖服务:所选 Profile 需要包含
@deepseek-ai/dsh-base提供的常规存储、Agent、LLM 与工具服务。 - 存储隔离:本地提供者使用独立的
ysh_memory存储域,不会与其它记忆插件共用记录。 - 使用建议:修改权重时,建议让它们的总和接近 1,便于理解相对排序效果。
总结¶
通过上述步骤,可以在 DSH 中接入持久记忆能力。关于该插件的详细文档、源码或提交问题,可访问插件目录或GitHub 仓库。