dsh-native-memory:DSH 原生工作区长期记忆

前言

DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。在开发智能体应用时,上下文窗口有限,且会话结束后往往丢失关键事实。现有的记忆方案通常需要部署外部服务器,增加了运维成本。dsh-native-memory 插件旨在提供一种原生、轻量级的长期记忆解决方案,将数据存储在 DSH 自身的存储域中,通过会话查询全文检索(FTS)实现跨会话召回。

插件简介

这是一个为 DeepSeek Harness 设计的原生、工作区级别的长期记忆插件。它将事实和配置存储在 DSH 的专用存储域(~/.dsh/storages/dsh_memory.)中,支持跨会话召回,并采用人工审批机制控制写入操作。该插件不依赖外部服务器,除了 zod 和 DSH 自身外,没有额外的运行时依赖。

核心功能

  • 原生存储:数据直接存储在 DSH 自身的存储域 ~/.dsh/storages/dsh_memory.,无需额外数据库服务。
  • 工作区隔离:基于精确的当前工作目录(exact-cwd)进行授权,每个工作区拥有独立的数据空间。
  • 审批写入:所有写入操作(添加、编辑、遗忘)均需人工审批,并附带会话日志审计。
  • 跨会话检索:利用全文检索技术,支持对历史会话的跨会话召回。
  • 引用溯源:每个事实记录其来源 (sessionId, seq),确保数据可追溯。

安装与启用

使用官方插件命令安装该插件:

dsh plugin --profile web add dsh-native-memory

安装完成后重启 dsh web。该插件通过 cordis.patch.yml 补丁启用会话查询全文搜索,并将记忆工具注入到每个会话中。主要配置项包括:
* secretPolicy:控制密钥拒绝策略,默认拒绝,可设为 "mask" 或 "off"。
* proposeOnSessionEnd:是否在会话结束时生成事实建议。
* compactionGuard:压缩漂移保护,默认开启,用于验证数据完整性。

典型用法

插件提供了一系列工具来管理记忆:

  • memory_remember:在当前工作区添加或更新事实。默认情况下会拒绝包含密钥形状的文本(如 token、密码)。
  • memory_recall:执行确定性的三级关键词扫描(标签 > 文本 > 模糊匹配),并处理新鲜度/访问权作为决胜条件。
  • memory_search:对当前工作区的历史会话进行全文检索。
  • memory_import:从历史会话日志中导入候选事实(需要审批)。
  • memory_export:生成 Git 友好的 Markdown 镜像文件(位于 .dsh-memory/memory.md),内容已对密钥进行脱敏且幂等。
  • memory_profile:读取当前工作区的始终注入的配置文件。

适用场景与注意

  • 代码执行风险:安装插件意味着在本地机器上运行第三方代码,且拥有当前 DSH 进程的权限。安装前请务必审查源码。
  • 密钥安全:默认情况下,提示词注入和工具输出都会对密钥进行脱敏。凭证分配检测器会标记长度大于等于 16 个字符的良性令牌值。在浏览器设置页面的「记忆」选项中,可以查看已脱敏的事实列表;删除操作会被转换为 memory_forget 指令,通过审批门控发送到聊天中。
  • 依赖:插件依赖 zod 和 DSH 运行时,除此之外无额外依赖。

总结

dsh-native-memory 为 DSH 用户提供了一个无需外部服务器、基于本地存储的长期记忆方案。它通过工作区隔离和审批机制平衡了便捷性与安全性,适合需要在本地持久化工作上下文且注重数据隐私的场景。

链接

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

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

小夜