DeepSeek Harness 记忆插件:融合 Hermes 快照与 Noema 检索的混合记忆方案

前言

DeepSeek Harness 的核心在于插件化架构。记忆管理是智能体开发的刚需,但现有的记忆方案往往存在取舍:Hermes 风格的轻量快照(MEMORY.md)省 token 且保前缀缓存,但不可检索;Noema 风格的可检索知识库功能完善,但引入了 Rust 服务端依赖和额外的 prompt 操作。

dsh-hybrid-memory 旨在融合两者优势。它提供了一套无需自动注入、数据本地存储的混合记忆方案,采用分层设计,平衡了常驻记忆的轻量性与知识库的检索效率。

插件概述

dsh-hybrid-memory 是一个由 Frog755 开发的 DeepSeek Harness 记忆插件,开源协议为 MIT。它通过三层架构(L1/L2/L3)整合记忆能力,解决单一记忆方案在性能与功能上的短板。

核心能力

该插件的核心功能分为三层:

  • L1 快照记忆:继承 Hermes 风格,支持 memory_add、memory_replace、memory_remove。数据以 MEMORY.md 和 USER.md 形式存储,字符上限与模型无关,仅在模型主动调用时按需读取。
  • L2 可检索知识库:基于 SQLite FTS5 实现,支持 memory_remember、memory_search、memory_browse。采用“一事实一文件”的 Markdown 格式存储,并针对中文进行了分词优化。
  • L3 多工具导入:支持从 Hermes、Claude、Codex、WorkBuddy 等工具导入既有记忆,利用内容哈希去重。

此外,插件包含以下辅助机制:
* 按需读取(零上下文开销):v0.2.0 起,插件移除了所有自动注入逻辑(如 systemPrompt 常驻注入、pre-step 召回)。记忆仅在模型主动调用 memory_* 工具时进入上下文。
* 安全与稳定性:内置威胁扫描(检测提示注入/外泄)、原子写操作(防止漂移)以及审核队列(pending/)。
* 中文检索:利用 FTS5 的 unicode61 特性支持中文全文检索。

安装与配置

插件依赖 Node.js 22.5+ 环境,且需在 DeepSeek Harness 的 Web Profile 下运行。

安装命令如下:

dsh plugin --profile web add @frog755/dsh-hybrid-memory@latest

首次安装后需要重启一次 DSH,之后支持热重载。

数据默认存储在本地磁盘,路径为 D:\Develop\DeepSeek Harness\memory。如需修改,可设置环境变量 DSH_HYBRID_MEMORY_ROOT。

典型用法

1. 管理常驻条目(L1)
新增常驻条目或修改现有条目,无需检索即可直接生效。

# 新增关于用户的条目
memory_add(user, "用户偏好使用 Python 而非 JavaScript,且喜欢详细注释。")

# 替换已有条目
memory_replace(agent, "项目约定", "项目约定:所有 API 响应需包含 CORS 头。")

2. 保存知识库事实(L2)
将临时信息转化为可检索的知识,默认直接写入,或通过 review=true 进入审核队列。

# 写入知识库
memory_remember("项目依赖", "本项目依赖 Node.js 22.5+ 版本。")

# 强制进入审核队列
memory_remember("安全规则", "禁止访问敏感网络段", review=true)

3. 检索与浏览
使用全文检索或目录浏览查找信息。

# 按关键词搜索
memory_search("数据库配置")

# 浏览知识库目录
memory_browse()

4. 融合召回
当模型需要记忆时,调用 memory_recall。它会融合 L1 快照与 L2 检索结果,并按 token 预算打包返回。

5. 导入记忆
从其他工具迁移历史记忆。

# 从 Hermes 导入
memory_import(sources=["hermes"])

数据与隐私

所有记忆数据均存储在本地磁盘,不向任何外部服务发送数据。数据根目录默认位于 D:\Develop\DeepSeek Harness\memory,包含以下结构:

  • MEMORY.md / USER.md:L1 快照。
  • facts/:已激活的知识库事实。
  • pending/:待审核的记忆。
  • index.db:FTS5 索引数据库。
  • imports.json:导入去重账本。

注意事项

  1. 无自动注入:这是该插件的重要行为变更。如果模型没有主动调用 memory_* 工具,记忆将不会自动出现在上下文中。这虽然增加了模型的使用成本,但换取了零上下文记忆开销。
  2. 审核机制:默认 auto-accept(直接写入)。若需对记忆进行人工审核,应在调用 memory_remember 时设置 review=true。
  3. 兼容性:仅支持 DeepSeek Harness(Cordis 架构)的 Web Profile。
  4. 本地权限:插件运行在当前进程的权限下,安装前请检查源码与许可证。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜