dsh-memory-pyramid:給 DeepSeek Harness 補上時間軸記憶

前言

對 DeepSeek Harness(dsh)的智能體開發者來說,記憶不只是“能不能記住”,還包括開局讀取成本、記憶來源回溯,以及能否把記憶數據放進工作區管理。dsh-memory-pyramid 是一個 MIT 許可的 dsh 插件,用於給 dsh 提供帶時間軸的記憶:用定寬只追加的事實日誌保存事實,由 agent 自己維護摘要金字塔,在固定閱讀預算下讓 recall 成本不隨記憶量增長。

下面介紹它的核心機制、安裝方式、可用配置和使用注意事項。

這是什麼

倉庫爲 33moren33/dsh-memory-pyramid,owner 爲 33moren33。它給 dsh 提供記憶能力,核心思路是:

  • 事實按時間順序寫入,一行不超過 280 字節,只追加、不修改。
  • agent 自己維護摘要金字塔,不依賴後臺進程和定時器。
  • 開局讀取記憶視圖時,使用固定閱讀預算;記憶量增長時,開局讀取行數不增加。

核心功能

事實日誌與摘要金字塔

插件把記憶分成兩層:底層是事實日誌,上層是摘要金字塔。

事實日誌用於記錄具體事實,單行不超過 280 字節,寫入後不修改。摘要金字塔由 agent 自維護,不依賴後臺進程和定時器。目前插件僅串行運行,由 agent 自主決定工具調用。

固定閱讀預算

記憶視圖使用固定閱讀預算。記憶量增長時,開局讀取行數不增加。默認記憶視圖只在會話開局注入一次;會話內新寫入的記憶通過工具回執可見,新開會話可見全部。

數據位置與協同

默認數據落在當前工作區的 dsh_memory 目錄,不寫家目錄。數據是純文本,對 diff 友好,可配合 git 管理。

插件支持多進程共寫同一份記憶,且無鎖。若找到多份舊記憶,插件會拒絕啓動,兩份記憶不會被拼接。

原生插件與運行要求

插件是 DSH 原生插件積木,不是外部命令行或腳本,不需要 shell 權限。插件本體零 npm 依賴、零原生模塊,無構建步驟。

運行要求如下:

  • Node.js ≥ 19
  • dsh 使用 pnpm 管理插件,需要已安裝 pnpm
  • 支持 Windows / Linux / macOS / ARM64

記憶看板與示例庫

插件提供記憶看板,可可視化摘要塔、熱度、時間軸和當前注入內容。看板支持點擊記憶回溯來源對話,或打開導入原文。

插件內置 50 / 100 / 500 / 1000 條示例記憶庫。記憶看板依賴 web 界面;headless 場景下看板自動缺席,但記憶本體照常工作。

工具

插件提供以下工具:

memory_note
memory_summarize
memory_zoom
memory_recall
memory_open
memory_forget

這些工具用於事實寫入、摘要維護、召回、打開來源和摘要處理。

安裝與啓用

安裝

使用 npm 包安裝:

dsh plugin --profile web add dsh-memory-pyramid

安裝後重啓 dsh web:

dsh web

新建會話後,如果開局出現 ### Memory view 段,即表示生效。

驗證

可以用下面的命令確認插件已進入合成樹:

dsh --profile web --dump-config

確認輸出中包含 dsh-memory-pyramid。

從倉庫安裝

也可以從 GitHub 倉庫安裝:

git clone https://github.com/33moren33/dsh-memory-pyramid.git
dsh plugin --profile web add "link:/絕對路徑/dsh-memory-pyramid"

卸載

卸載插件:

dsh plugin --profile web remove dsh-memory-pyramid

然後重啓 dsh web:

dsh web

典型用法

調整閱讀預算

在 profile 的 cordis.patch.yml 中覆蓋同一插件 id 的 wakeLines,例如:

wakeLines: 192

wakeLines 用於控制開局記憶視圖的行數預算。

即時更新視圖

默認情況下,記憶視圖只在會話開局注入一次。若希望會話中途記憶變化時即時更新視圖,可配置:

liveView: true

共享同一份記憶庫

默認每個工作區使用自己的 dsh_memory 目錄。若希望多個工作區讀取同一份記憶庫,可將 dataDir 配置爲絕對路徑:

dataDir: "/absolute/path/to/shared-memory"

配置爲絕對路徑時,所有工作區讀同一份記憶庫。

適用場景與注意

適合這類需求:

  • 希望在 dsh 中保留按時間順序發生的事實。
  • 希望控制開局注入的記憶行數,而不是隨記憶量無限增長。
  • 希望記憶數據落在工作區,便於查看、diff 和用 git 管理。
  • 希望在 web 界面中查看摘要塔、時間軸和當前注入內容。
  • 希望從記憶回溯來源對話,或打開導入原文。

注意以下幾點:

  • 插件以當前 dsh 進程權限運行;安裝前建議檢查源碼和 MIT 許可證。
  • 默認數據落在當前工作區,不寫家目錄。
  • 發現多份舊記憶時,插件會拒絕啓動,不會拼接兩份記憶。
  • 默認記憶視圖只在會話開局注入一次;會話內新寫入的記憶通過工具回執可見,新開會話可見全部。
  • 若出現 @deepseek-ai/cordis missing peer 警告,不要緊;資料稱 v0.1.1 起已去掉該聲明。

小結

dsh-memory-pyramid 的價值在於把“記住多少”和“開局讀多少”分開:底層事實持續追加,上層摘要由 agent 維護,開局讀取仍保持固定預算。

目錄頁 URL 未在已覈實資料中確認;倉庫地址如下:

https://github.com/33moren33/dsh-memory-pyramid
羽毛球分组比赛记分
小程序二维码

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

小夜