dsh-memory:DeepSeek Harness 持久化原子事实记忆插件

DeepSeek Harness (DSH) 采用插件化架构。在多轮对话或长时间运行中,智能体面临上下文丢失、记忆碎片化的问题。dsh-memory 是一个为 DSH 设计的持久化原子事实记忆插件,旨在让智能体能够跨会话记住用户偏好、项目知识,并提供可控的检索路径。

插件定位

该插件基于 Cordis 开发,实现了记忆系统的 P0-P2 设计规范。它不依赖外部向量库或图数据库,通过本地 JSON 文档实现数据的持久化与存储。

核心功能

原子事实模型

所有记忆最终被解析为 主体 - 谓语 - 宾语 - 限定词 的最小化自包含断言。语义记忆、情节记忆和程序记忆均统一为这一契约,并通过稳定的 semantic_key 进行去重。

memory 服务与显式工具

插件提供了一个 memory 服务(ctx.memory),并提供了一系列显式工具供模型调用:
* recall:检索记忆。
* remember:存储记忆。支持可选的 procedure 参数,用于存储程序记忆(结构化步骤)。
* forget / forget_all:删除特定或全部记忆。
* link:建立记忆之间的关联。
* consolidate:后台合并,处理 TTL 过期和相同键的去重。
* extractAndRemember:后台提取并存储记忆。
* read_user_profile:返回聚合的实体卡片,包含核心摘要和分主题分组。

user.md 往返

支持 user.md 视图的渲染与同步。插件可从实体卡片生成 user.md 文件,并监听外部编辑,将其作为 user_edit 事件写入原子事实(信誉度 1.0,优先级最高)。

快速通道捕获

通过 session/event 监听器,利用零 LLM 规则捕获信号。仅当配置的触发短语(如“记住…”、“我的偏好是…”)或包含事实性信号(数字、日期、专有名词)的消息触发时,才会将内容放入后台队列。

隐私卫士

内置 PII 检测与分级机制:
* PII 标记内容在存储时被脱敏(如 <<phone>>),不进入原始内存。
* confidential 内容在召回时被遮罩并标记 [confidential]。
* secret 内容仅在满足特定配置(secretRequiresExplicitAuth: false 且在检索过滤列表中)时才返回。

动态上下文注入

召回的事实通过 DSH 的 system-prompt/assemble 上下文通道注入,作为数据而非指令展示,确保会话日志可重建。

后台合并

定时器触发 TTL 过期清理和相同键的去重合并。

典型用法

模型通过调用上述工具与系统交互。

  1. 检索记忆
    模型调用 memory_recall 获取相关上下文。

  2. 存储偏好
    模型调用 memory_remember 保存用户偏好。若需存储操作步骤(程序记忆),可传入 procedure 参数。

    {
      "subject": "用户",
      "predicate": "偏好编程语言",
      "object": "Rust",
      "qualifiers": ["最近的项目"]
    }
  1. 获取实体卡片
    模型调用 read_user_profile 获取聚合后的用户信息概览。

配置说明

所有设置在 src/config.ts 中定义(使用 Schemastery 的 z.object)。

默认配置(profile: personal)

配置项 默认值 说明
dataFile '' 默认为内存存储。需设置为具体路径以持久化数据。
userMdFile '' 默认禁用。需设置为具体路径以启用 user.md 渲染与同步。
profile personal 配置文件名。
injectContext true 是否动态注入上下文。
captureEnabled true 是否启用捕获。
llmExtractionEnabled false LLM 提取功能默认关闭,依赖规则驱动。

提取配置

extraction.triggers 配置触发列表,用于快速通道捕获。

注意事项

  1. 存储形式:数据以明文 JSON/Markdown 存储在文件中,无加密集成,无操作系统钥匙串集成。请确保存储目录的文件系统权限安全。
  2. 检索能力:无外部向量库、SQLite 或图数据库。语义检索目前是基于 BM25 的近似实现。
  3. LLM 提取:LLM 提取默认关闭。若需更丰富的提取能力,需在配置中启用 llmExtractionEnabled 并配置 Provider/Model。
  4. 依赖:需满足 Node.js 版本要求(^22.19.0 || >=24.0.0)及对应的 DSH 生态依赖。

总结

dsh-memory 为 DSH 智能体提供了一个轻量级、可审计的记忆层。它通过原子事实模型保证了记忆的稳定性,并通过 user.md 往返机制提供了人工介入的可能性。对于需要长期记忆的项目,建议配置 dataFile 路径以启用持久化。

插件目录
GitHub 仓库

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

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

小夜