前言¶
在 DeepSeek Harness (DSH) 中開發智能體時,上下文窗口管理是一個核心痛點。隨着對話輪次增加,歷史記錄會迅速膨脹,如果不加以控制,模型容易遺忘早期的關鍵偏好或項目事實。同時,處理長期記憶通常需要引入獨立的向量數據庫或向量服務,增加了系統複雜度。DSH Hermes Memory 插件旨在解決這些問題,它爲 DSH 提供了一種輕量級的長期記憶方案,支持分層存儲、自動提煉和壓縮,且無需啓動獨立的數據庫進程。
插件簡介¶
DSH Hermes Memory 是一個面向本機 DeepSeek Harness 的輕量級長期記憶插件。它借用 Hermes 的分層與可追溯思想,通過自動提煉和壓縮機制,將對話中的穩定事實沉澱爲結構化記憶。該項目由 liuyuhao1122 維護,採用 MIT 許可證。
核心能力¶
該插件提供以下主要功能:
- 分層記憶存儲:將記憶劃分爲 USER.md(用戶偏好)、MEMORY.md(跨項目經驗)、projects/<項目哈希>.md(當前項目事實)和 PROCEDURES.md(可複用流程),並在組裝提示詞時按需注入。
- 自動提煉與壓縮:在會話結束後自動提取穩定事實,並在達到字符上限或檢測到重複內容時進行自我壓縮,確保記憶文件的大小可控。
- 隱私保護:對會話日誌進行 gzip 壓縮和 AES-256-GCM 加密,支持敏感數據遮蓋。
- 基於工具的查詢與管理:提供一系列工具命令,用於搜索、讀取、記憶和刪除事實。
安裝與啓用¶
使用該插件前,需要確保環境滿足以下依賴:
- Node.js 20 或更新版本
- DeepSeek Harness 0.2.0-rc.2
安裝步驟¶
通過官方插件安裝命令將插件添加到 Harness 中:
dsh plugin --profile web add github:liuyuhao1122/dsh-hermes-memory
安裝完成後,需要重啓 dsh web 進程以加載新插件。插件會自動在 $DSH_HOME/memories-hermes(未設置環境變量時爲用戶目錄下的 .dsh/memories-hermes)創建數據目錄。
典型用法¶
安裝後,可通過插件提供的工具命令與記憶交互。
工具命令¶
- 搜索:檢索四層記憶及近期會話原文。
hermes_memory_search({query, limit?})
- 讀取:讀取特定層級的記憶。
hermes_memory_read({layer})
- 來源展開:按引用展開原始片段。
hermes_memory_source({ref})
- 添加事實:強制將事實添加到指定層級。
hermes_memory_remember({fact, layer})
- 刪除事實:從活動記憶中移除匹配條目。
hermes_memory_forget({fact, layer})
數據結構¶
插件會在數據目錄下生成以下文件:
* USER.md:用戶偏好,注入提示詞。
* MEMORY.md:跨項目經驗,注入提示詞。
* projects/<項目哈希>.md:當前項目事實,注入提示詞。
* PROCEDURES.md:可複用流程,按需讀取。
* sessions/*.jsonl:加密的會話片段。
* memory.key:本地加密密鑰,備份時必須保留。
注意事項與限制¶
- 不啓動獨立服務:插件不啓動數據庫、向量服務或獨立進程,完全依賴 DSH 的模型配額和本地文件系統。
- forget 的侷限性:
forget命令僅移除活動 Markdown 中的條目並屏蔽常規搜索,不會立即擦除加密的會話或提煉日誌。 - 保留期:原文歸檔默認保留 30 天,提煉歸檔默認保留 365 天。
- 版本兼容性:當前僅驗證了與 DSH 0.2.0-rc.2 的兼容性,其他預覽版本未經測試。
- 密鑰安全:
memory.key丟失會導致插件停止初始化,必須與日誌文件一同備份。
總結¶
DSH Hermes Memory 爲 DSH 提供了一套無需額外數據庫的分層記憶解決方案。通過自動提煉和壓縮,它能夠有效管理上下文,同時保持數據的隱私性。適合希望在本地環境中快速構建具備長期記憶能力的智能體的開發者。更多細節可參考插件目錄或 GitHub 倉庫。