dsh-memory-plugin:DeepSeek Harness 的分層長期記憶插件

前言

DeepSeek Harness(DSH)運行時提供了插件化架構,但原生沒有跨項目的長期記憶能力。開發者在多個 DSH 進程或不同倉庫之間協作時,很難複用歷史會話、項目上下文或個人偏好,只能依賴 LLM 自身的上下文窗口或外部存儲方案。dsh-memory-plugin 提供了四種物理隔離的存儲層,配合漸進式披露和零 LLM 核心模式,讓 DSH 的記憶管理更可控、可審計。

插件定位

dsh-memory-plugin 是一個 Cordis 插件,爲 DeepSeek Harness 提供跨項目的長期記憶能力。它由維護者 x-000001 開發,當前版本爲 0.1.0,採用 MIT 許可證。插件的核心價值在於將記憶分層存儲,並通過確定性管道管理用戶習慣的採集與採納,同時保持對 LLM 的零依賴模式。

核心功能

插件提供三種能力,每個能力都對應一組工具和存儲層:

1. 跨項目長期記憶

四種物理隔離的存儲層,路徑默認在 $DSH_HOME/memory/ 下:

  • Session:會話級記憶,僅對當前 DSH 進程可見。
  • Project:項目級記憶,隨倉庫移動,多進程共享同一倉庫時可複用。
  • Global:全局偏好,跟隨 DSH_HOME 配置,所有項目共享。
  • Habit:習慣級記憶,獨立於其他存儲,用於存儲用戶行爲模式。

物理隔離是硬約束,插件啓動時會校驗這四個根路徑不能嵌套或別名,避免運行時錯誤。

2. Token 高效召回

插件採用漸進式披露策略,通過以下機制降低 Token 消耗:

  • 硬上限的駐留索引:內存中只保留一個經過截斷的索引,索引內容以字節穩定的方式注入系統提示詞。
  • 按需召回與擴展:通過 memory_recall 和 memory_expand 工具在需要時加載更多內容。
  • 緩存友好:注入的索引文本在內容簽名不變時保持字節一致,避免頻繁刷新。

索引內容變化僅發生在寫入、遺忘、合併或健康狀態切換時,不會在單輪對話中動態收縮可見的工具表。

3. 用戶習慣適應管道

習慣的採集與採納採用確定性、可審計的管道:

observe → threshold → judge (可選) → candidate → human gate 1 → suggested → human gate 2 → auto
  • observe:訂閱 session/event,讀取 user/message 內容。
  • threshold:設定觸發習慣採集的閾值條件。
  • judge(可選):默認關閉,通過 LLM 判斷是否爲習慣模式,失敗時保持開放。
  • candidate:生成候選習慣條目。
  • human gate 1:人工確認候選是否採納。
  • suggested:將確認的條目標記爲建議。
  • human gate 2:人工最終確認是否自動應用。
  • auto:模型永遠無法自我提升習慣,所有提升都需人工介入。

習慣條目有自己的存儲和墓碑文件,HTTP UI 路由 /dsh-memory/habits 提供人工審覈界面。

安裝與啓用

插件已包含編譯後的 lib/ 目錄,無需構建步驟即可安裝。在 DSH 配置的插件目錄下,執行:

dsh plugin add https://github.com/x-000001/dsh-memory-plugin/archive/refs/tags/v0.1.0.tar.gz

安裝後插件會自動加載,並在 $DSH_HOME/memory/ 下創建四個存儲根目錄。插件依賴 DSH 版本 >= 0.2.0-rc.1 和 Node.js >= 22.6。

典型用法

寫入記憶

通過 memory_remember 工具向指定存儲層寫入內容:

{
  "store": "project",
  "key": "project-config",
  "content": "本項目使用 TypeScript 5.9.2,依賴 @deepseek-ai/dsh-tools ^1.0.0"
}

召回記憶

通過 memory_recall 工具從索引中檢索相關內容:

{
  "store": "project",
  "key": "project-config",
  "limit": 5
}

擴展記憶

當需要加載更多內容時,使用 memory_expand:

{
  "store": "project",
  "key": "project-config",
  "offset": 5
}

忘記記憶

通過 memory_forget 移除指定條目:

{
  "store": "project",
  "key": "project-config"
}

習慣管理

習慣管理默認通過 HTTP UI 路由 /dsh-memory/habits 完成,插件不提供工具參數用於確認或提升習慣,這是比 actor 檢查更嚴格的邊界設計。

零 LLM 模式

在未配置 LLM 路由的情況下,插件的核心功能(寫入、召回、注入、遺忘、合併、健康報告、整個習慣管道)仍可正常工作。可選的 judge 模型默認關閉,配置後若 LLM 不可用會失敗開放。

適用場景與注意

適合在以下場景使用:

  • 多 DSH 進程協作,需要跨項目複用上下文。
  • 需要嚴格審計習慣採集與採納流程。
  • 希望在零 LLM 調用下也能運行完整的記憶管道。

注意:

  • 插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。
  • 插件對 DSH 版本有硬性要求(>= 0.2.0-rc.1),低版本無法啓動。
  • 四個存儲根路徑不能嵌套,否則插件拒絕啓動。
  • 習慣的採納路徑僅通過 HTTP UI 實現,模型工具無法觸發自我提升。

總結

dsh-memory-plugin 爲 DeepSeek Harness 提供了分層長期記憶與可審計的習慣管理能力,通過漸進式披露降低 Token 消耗,支持零 LLM 核心模式。插件在 DSH 0.2.x 環境下運行,適合需要跨項目記憶、習慣學習和嚴格審計的開發場景。

  • 插件目錄:https://www.skillhub.cn/plugins/x-000001/dsh-memory-plugin
  • GitHub:https://github.com/x-000001/dsh-memory-plugin
羽毛球分组比赛记分
小程序二维码

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

小夜