dsh-memory-gate:让 DeepSeek Harness 的记忆先裁决再注入

前言

在 DSH 插件化使用中,长期记忆常见的问题是:检索到的记忆会被直接带入上下文,模型可能把低置信、过期或不相关记忆当成有效线索。dsh-memory-gate 针对“检索到 ≠ 注入”这个问题,在记忆进入上下文前执行 CBDC(Claim → Belief → Decision → Consumption)门控,输出可解释的 use / verify / ignore 决策。

它面向需要本地长期记忆、但希望控制注入边界、保留审计路径的 DeepSeek Harness 开发者。

这是什么

dsh-memory-gate 是 DeepSeek Harness 的社区记忆插件,维护者为 GIT121995,许可证为 MIT。它不属于 DeepSeek 官方项目。

当前版本为 0.11.2,目标 Harness 版本为 0.1.2-alpha.1,兼容 0.1.0-rc.6 起的 Harness;运行环境要求 Node.js >=22.5

它把记忆保存为可解释的条目,并在注入前做权威门控。默认以 assist 模式启动,最多注入 3 条、1200 字符相关记忆,不增加第二次模型调用。

核心功能

注入前裁决

每条记忆进入上下文前,插件都会执行 CBDC 门控:

  • Claim:保存为可追踪的记忆条目
  • Belief:依据已有信息形成置信度
  • Decision:输出 useverifyignore
  • Consumption:决定是否进入本次模型调用上下文

这意味着记忆不是“检索到就用”,而是先经过裁决。

使用后反馈

使用后的反馈会反向更新记忆质量:

  • helped:提升记忆可用性,并把当次查询的区分性词项学进触发词
  • harmful:降低置信度,并触发隔离
  • stale:标记过期风险,并触发隔离

其中,helped 反馈只保存区分性词项,不保存查询原文。

近重复处理

写入时,如果新记忆与同作用域已有记忆的词项重叠达到 60% 以上,旧条目会自动标记为 superseded。这样可以减少相近表达反复堆叠成多条记忆的问题。

作用域与存储

插件支持三种作用域:

  • session
  • workspace
  • global

其中 workspace 路径只保存哈希键。

存储层使用本地 SQLite + FTS5,不使用 embedding,也不依赖外部记忆 API。API KeyToken、密码和私钥样式内容会在落库前被拒绝。

如果数据库或策略出现异常,插件不会阻断 Agent,只省略本次记忆注入。

运行模式

插件支持三种运行模式:

  • shadow:只审计,不向模型注入
  • assist:默认模式,注入可用记忆,并保留可解释信息
  • enforce:更严格地控制注入内容

安装

安装命令如下:

dsh plugin --profile web add dsh-memory-gate

安装后,默认以 assist 模式启动。记忆数据默认保存在:

$DSH_HOME/memory/cbdc.sqlite

如果之后卸载插件,记忆数据仍保留在该文件中;如要彻底清除,删除该文件即可。

典型用法

下面是常见 /memory 命令:

/memory status
/memory list 10
/memory remember --kind preference 我偏好简洁中文回答
/memory remember --global --kind constraint 不要在回复中暴露凭据
/memory search 简洁中文
/memory explain mem_<uuid>
/memory feedback 1 helped
/memory ok
/memory mine 50
/memory consolidate
/memory forget mem_<uuid>
/memory mode assist

几个命令的作用可以这样理解:

  • /memory status:查看插件状态
  • /memory list 10:查看最近 10 条记忆
  • /memory remember:显式保存一条记忆
  • /memory search:按词项检索记忆
  • /memory explain:查看指定记忆的决策依据
  • /memory feedback:对记忆使用效果给出反馈
  • /memory ok:对最近注入记忆做 helped 反馈
  • /memory mine:从历史 session 中挖掘可保存的记忆线索
  • /memory consolidate:合并近重复记忆
  • /memory forget:移除指定记忆
  • /memory mode:切换运行模式

适用场景与注意

适合以下场景:

  • 在 DSH 会话中保存稳定偏好、约束和长期信息
  • 希望记忆进入上下文前有可解释裁决
  • 希望反馈能影响后续记忆置信度
  • 希望本地存储,不引入外部记忆 API

使用前需要注意:

  • 这是社区插件,不属于 DeepSeek 官方项目
  • 插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证
  • 同义词和触发词召回仍是词法级,不等价于通用语义检索
  • 繁简映射覆盖常见繁体字,但不保证覆盖所有表达
  • 自动提取只识别明显的“记住、以后、I prefer、always”等表达,偏向保守
  • 不回填安装前的历史会话,也不重复保存完整 Harness transcript
  • Node.js 22 会为内置 node:sqlite 打印 experimental warning,不影响运行

链接

GitHub 仓库:

https://github.com/GIT121995/dsh-memory-gate

社区目录为独立站点,具体条目以实际目录为准;可在目录中按名称搜索 dsh-memory-gate

羽毛球分组比赛记分
小程序二维码

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

Xiaoye