前言¶
DeepSeek Harness(DSH)运行时提供了插件化架构,但原生没有跨项目的长期记忆能力。开发者在多个 DSH 进程或不同仓库之间协作时,很难复用历史会话、项目上下文或个人偏好,只能依赖 LLM 自身的上下文窗口或外部存储方案。dsh-memory-plugin 提供了四种物理隔离的存储层,配合渐进式披露和零 LLM 核心模式,让 DSH 的记忆管理更可控、可审计。
插件定位¶
dsh-memory-plugin 是一个 Cordis 插件,为 DeepSeek Harness 提供跨项目的长期记忆能力。它由维护者 x-000001 开发,当前版本为 0.1.0,采用 MIT 许可证。插件的核心价值在于将记忆分层存储,并通过确定性管道管理用户习惯的采集与采纳,同时保持对 LLM 的零依赖模式。
核心功能¶
插件提供三种能力,每个能力都对应一组工具和存储层:
1. 跨项目长期记忆¶
四种物理隔离的存储层,路径默认在 $DSH_HOME/memory/ 下:
- Session:会话级记忆,仅对当前 DSH 进程可见。
- Project:项目级记忆,随仓库移动,多进程共享同一仓库时可复用。
- Global:全局偏好,跟随
DSH_HOME配置,所有项目共享。 - Habit:习惯级记忆,独立于其他存储,用于存储用户行为模式。
物理隔离是硬约束,插件启动时会校验这四个根路径不能嵌套或别名,避免运行时错误。
2. Token 高效召回¶
插件采用渐进式披露策略,通过以下机制降低 Token 消耗:
- 硬上限的驻留索引:内存中只保留一个经过截断的索引,索引内容以字节稳定的方式注入系统提示词。
- 按需召回与扩展:通过
memory_recall和memory_expand工具在需要时加载更多内容。 - 缓存友好:注入的索引文本在内容签名不变时保持字节一致,避免频繁刷新。
索引内容变化仅发生在写入、遗忘、合并或健康状态切换时,不会在单轮对话中动态收缩可见的工具表。
3. 用户习惯适应管道¶
习惯的采集与采纳采用确定性、可审计的管道:
observe → threshold → judge (可选) → candidate → human gate 1 → suggested → human gate 2 → auto
- observe:订阅
session/event,读取user/message内容。 - threshold:设定触发习惯采集的阈值条件。
- judge(可选):默认关闭,通过 LLM 判断是否为习惯模式,失败时保持开放。
- candidate:生成候选习惯条目。
- human gate 1:人工确认候选是否采纳。
- suggested:将确认的条目标记为建议。
- human gate 2:人工最终确认是否自动应用。
- auto:模型永远无法自我提升习惯,所有提升都需人工介入。
习惯条目有自己的存储和墓碑文件,HTTP UI 路由 /dsh-memory/habits 提供人工审核界面。
安装与启用¶
插件已包含编译后的 lib/ 目录,无需构建步骤即可安装。在 DSH 配置的插件目录下,执行:
dsh plugin add https://github.com/x-000001/dsh-memory-plugin/archive/refs/tags/v0.1.0.tar.gz
安装后插件会自动加载,并在 $DSH_HOME/memory/ 下创建四个存储根目录。插件依赖 DSH 版本 >= 0.2.0-rc.1 和 Node.js >= 22.6。
典型用法¶
写入记忆¶
通过 memory_remember 工具向指定存储层写入内容:
{
"store": "project",
"key": "project-config",
"content": "本项目使用 TypeScript 5.9.2,依赖 @deepseek-ai/dsh-tools ^1.0.0"
}
召回记忆¶
通过 memory_recall 工具从索引中检索相关内容:
{
"store": "project",
"key": "project-config",
"limit": 5
}
扩展记忆¶
当需要加载更多内容时,使用 memory_expand:
{
"store": "project",
"key": "project-config",
"offset": 5
}
忘记记忆¶
通过 memory_forget 移除指定条目:
{
"store": "project",
"key": "project-config"
}
习惯管理¶
习惯管理默认通过 HTTP UI 路由 /dsh-memory/habits 完成,插件不提供工具参数用于确认或提升习惯,这是比 actor 检查更严格的边界设计。
零 LLM 模式¶
在未配置 LLM 路由的情况下,插件的核心功能(写入、召回、注入、遗忘、合并、健康报告、整个习惯管道)仍可正常工作。可选的 judge 模型默认关闭,配置后若 LLM 不可用会失败开放。
适用场景与注意¶
适合在以下场景使用:
- 多 DSH 进程协作,需要跨项目复用上下文。
- 需要严格审计习惯采集与采纳流程。
- 希望在零 LLM 调用下也能运行完整的记忆管道。
注意:
- 插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。
- 插件对 DSH 版本有硬性要求(>= 0.2.0-rc.1),低版本无法启动。
- 四个存储根路径不能嵌套,否则插件拒绝启动。
- 习惯的采纳路径仅通过 HTTP UI 实现,模型工具无法触发自我提升。
总结¶
dsh-memory-plugin 为 DeepSeek Harness 提供了分层长期记忆与可审计的习惯管理能力,通过渐进式披露降低 Token 消耗,支持零 LLM 核心模式。插件在 DSH 0.2.x 环境下运行,适合需要跨项目记忆、习惯学习和严格审计的开发场景。
- 插件目录:https://www.skillhub.cn/plugins/x-000001/dsh-memory-plugin
- GitHub:https://github.com/x-000001/dsh-memory-plugin