dsh-agent-memory:为 DSH 提供智能体驱动长期记忆

前言

DeepSeek Harness(DSH)的插件生态强调组合与声明,插件可以在智能体运行时中提供工具、存储、会话等能力。长期记忆是其中一个比较实际的需求:智能体不仅需要在一次会话里记住上下文,还需要跨会话保存偏好、项目知识、经历和压缩后的摘要。

dsh-agent-memory 是面向 DSH 的长期记忆插件。它提供分层存储、作用域路由、工具面和压缩联动,让智能体可以决定记什么、何时召回、如何更新与归档。

这是什么

jonah791/dsh-agent-memory 是一个为 DeepSeek Harness(DSH)打造的智能体驱动长期记忆插件,分类为记忆类插件,许可证为 MIT。

它的目标是给 DSH 智能体提供跨会话的经历库:主人偏好、项目知识、决策理由、学习沉淀等内容可以被结构化写入、检索读取和整理压缩。

当前已核实状态如下:

  • 状态:v0.3,智能体核心联动已落地
  • DSH 为预览版 0.1.0-rc,无兼容承诺
  • runtime: host-only
  • envDeps: 无,纯逻辑 / 标准 Node
  • boundary: 无特殊授权边界
  • 兼容:cordis ^4.0.1 / dsh-tools ^0.1.0-rc.6
  • 依赖官方 storage 栈:storage / storage-json / storage-domain,web-app bundle 已提供
  • 测试:165+ tests / 0 fail

核心功能

分层记忆

插件将记忆分为几层,每层适合不同内容:

  • L1 fact:主人偏好、环境事实,使用 key 做精确覆盖更新
  • L2 knowledge:可复用知识、学习沉淀,同标题自动合并
  • L3 episodic:有结果的情景、经历时间线
  • summary:压缩产物,冷归档保留,可深挖,索引高密度

其中,L3 episodic 使用时间桶压缩,粒度为:

日 → 周 → 月 → 年

作用域

插件支持两种作用域:

  • global:全局记忆,例如主人偏好、环境信息,永远附加检索
  • workspace:工作区级记忆,按项目 .dsh/memory.yml 配置路由

workspace 级路由可配置层级、预算、时间刻度等。

工具面

插件向智能体暴露以下工具:

  • remember:写入、覆盖、合并,返回 idaction
  • recall:检索,支持关键词、层级、标签、时间过滤,按相关度和新鲜度排序
  • memory_browse:时间金字塔浏览,用于不知道具体有什么时的发现路径
  • update / forget:修订或归档,归档后不进入活跃检索,但仍可深挖
  • memory_stats:查看各层、时间桶、归档计数

与 dsh-agent-compact 联动

插件可与 dsh-agent-compact 联动,处理会话压缩后的记忆沉淀:

  1. 会话压缩完成
  2. checkpoint 原文保底存档到 episodic
  3. 发送 inbox 通知
  4. wakeup=false,排队不唤醒

是否提炼、如何组织由智能体自主决策,理由记入 source.reason。压缩在进程内完成后不再写哨兵重启。

安装与启用

先安装依赖并构建:

cd <你的 self-plugins 目录>
git clone https://github.com/jonah791/dsh-agent-memory.git
cd dsh-agent-memory
pnpm install
pnpm build

组合配置示例如下:

- insert:
    - id: agent-memory
      name: dsh-agent-memory

该配置声明插件 idagent-memory,名称为 dsh-agent-memory

插件依赖官方 storage 栈:

storage
storage-json
storage-domain

这些能力由 web-app bundle 提供。

典型用法

下面这些用法来自插件已核实的工具面说明,适合作为日常调用的基本路径。

写入记忆

使用 remember 写入、覆盖或合并记忆。

  • 偏好、环境事实可进入 L1 fact
  • 可复用知识可进入 L2 knowledge
  • 有结果的情景、经历可进入 L3 episodic

写入后返回 idaction,便于后续追踪。

检索记忆

使用 recall 检索已有记忆。

可使用的过滤维度包括:

  • 关键词
  • 层级
  • 标签
  • 时间

结果按相关度和新鲜度排序。

浏览记忆结构

当不确定库里具体有什么时,可以使用 memory_browse

它提供时间金字塔浏览路径,适合从粗粒度时间结构逐步查看内容。

修订与归档

使用 update 修订记忆,使用 forget 归档记忆。

归档后的记忆不进入活跃检索,但仍可深挖。

查看统计

使用 memory_stats 查看:

  • 各层计数
  • 时间桶计数
  • 归档计数

本地测试

插件仓库中给出的测试命令为:

node node_modules/typescript/lib/tsc.js -p tsconfig.json && node --test

已核实测试结果为:

165+ tests / 0 fail

适用场景与注意

适合这类场景:

  • 需要在 DSH 中为智能体提供跨会话长期记忆
  • 需要区分全局记忆和工作区记忆
  • 需要对记忆做分层、检索、修订、归档和统计
  • 需要与 dsh-agent-compact 配合,保存会话压缩后的 checkpoint

使用前注意:

  • DSH 当前为预览版 0.1.0-rc,无兼容承诺
  • 插件声明为 host-only 运行,且无特殊授权边界
  • 插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证
  • 依赖 cordis ^4.0.1 / dsh-tools ^0.1.0-rc.6
  • 依赖官方 storage 栈:storage / storage-json / storage-domain

结尾

dsh-agent-memory 为 DSH 智能体提供了一条比较完整的长期记忆路径:分层写入、作用域路由、工具面调用、时间桶压缩,以及与会话压缩插件的联动。它不是简单的存储扩展,而是把“记什么、怎么整理、何时召回”交给智能体决策,框架层负责存储、路由、检索和压缩条件。

GitHub 仓库:

https://github.com/jonah791/dsh-agent-memory

已核实资料中未提供社区目录页 URL。

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

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

Xiaoye