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:寫入、覆蓋、合併,返回 id 和 action
  • 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

該配置聲明插件 id 爲 agent-memory,名稱爲 dsh-agent-memory。

插件依賴官方 storage 棧:

storage
storage-json
storage-domain

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

典型用法

下面這些用法來自插件已覈實的工具面說明,適合作爲日常調用的基本路徑。

寫入記憶

使用 remember 寫入、覆蓋或合併記憶。

  • 偏好、環境事實可進入 L1 fact
  • 可複用知識可進入 L2 knowledge
  • 有結果的情景、經歷可進入 L3 episodic

寫入後返回 id 和 action,便於後續追蹤。

檢索記憶

使用 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。

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

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

小夜