DeepSeek Harness (DSH) 生態強調“一切皆插件”。在開發智能體時,如何在多輪對話中保留上下文、在跨工作區場景下共享記憶,是常見需求。dsh-memory 是一個宿主端 bundle 插件,旨在爲 DSH 提供持久化的三層記憶能力,並解決手動管理記憶帶來的維護成本問題。
插件定位¶
該插件由 biubiu23333333 維護,開源協議爲 MIT。它以宿主 bundle 的形式運行,負責跨工作區的存儲、每回合結束後的強制自動沉澱、以及向 Agent 提供記憶操作工具。它通過系統提示段的注入,讓所有預設智能體都能主動使用記憶功能。
核心能力¶
- 三層記憶結構:構建長期記憶、短期記憶和會話摘要三層結構。
- 跨工作區存儲:記憶根目錄固定爲
$DSH_HOME/memory(默認~/.dsh/memory),與具體工作區解耦。 - 強制自動沉澱:監聽
turn/end(completed)事件,回合結束後自動執行整合,無 LLM 可用時採用確定性兜底機制。 - Agent 記憶工具:提供
memory_read、memory_write、memory_search三個工具供 Agent 調用。 - 主動記憶引導:對所有預設生效的系統提示段,引導 Agent 讀寫記憶。
安裝與啓用¶
執行以下命令構建並安裝:
cd dsh-memory
pnpm pack
dsh plugin --profile web add ./dsh-memory-0.1.0.tgz
安裝後,記憶根目錄會自動初始化三層骨架。
典型用法¶
- 自動生效:無需在預設中選擇“記憶模式”,任何預設(standard / minimal / custom)在會話中自動獲得記憶能力。
- 記憶維護:Agent 通過
memory_write維護長期記憶;Host 在每回合結束後,將原始日誌追加到short-term/<sessionId>.md,並利用 LLM 生成一句話摘要追加到episodes/<sessionId>.md。 - 存儲佈局:
$DSH_HOME/memory/
├── long-term/ # profile / facts / decisions / projects
├── short-term/ # 原始日誌流水
└── episodes/ # LLM 生成的會話摘要
開發與注意事項¶
- 零構建:純 ESM 實現,無需構建步驟。
- 運行時依賴:依賴
@deepseek-ai/dsh-tools、dsh-llm、dsh-home-paths,由 DSH 的 profiles module 解析。 - 事件監聽:Host 需監聽
session/eventfirehose 上的turn/end(completed)事件。
dsh-memory 通過宿主層插件的方式,解決了智能體記憶持久化和跨工作區共享的問題,實現了低成本的記憶自動化。更多詳情與源碼可參考 GitHub。