前言¶
DeepSeek Harness (DSH) 的生態強調插件化擴展。在構建智能體時,一個常見痛點是模型在多輪對話或跨會話中逐漸遺忘上下文。dsh-layered-memory 旨在解決這一問題,通過引入分層長期記憶機制,幫助智能體在會話之間保持連續性和個性化。
插件簡介¶
這是一個靜態 bundle 插件,由 Olalaye 維護。它通過 dsh plugin 命令安裝後,隨 Harness 啓動自動加載。安裝後零配置,模型會自動獲得記憶管理能力。插件的核心價值在於將記憶劃分爲三層結構,並利用 AI 進行自動提煉與去重。
核心架構¶
插件將記憶劃分爲三個層級,每層獨立存儲、獨立容量上限。
- 瞬時(Transient):存儲當前會話的要點。由
agent/pre-step事件鉤子自動捕獲用戶消息,無需模型干預。 - 情景(Episodic):存儲每次會話的摘要。在任務收尾或用戶告別時,通過
memory_commit提交,自動沉澱會話記錄。 - 語義(Semantic):存儲長期事實、偏好和習慣。由模型自動提煉,支持跨會話精準召回。
數據持久化在 ~/.dsh-memory/ 目錄下,以 JSON 文件形式存儲。
安裝與啓用¶
通過 DSH 的插件管理器安裝,無需構建步驟。
dsh plugin --profile demo add github:Olalaye/dsh-layered-memory
安裝完成後,模型會自動獲得四個工具函數和一套系統提示詞,無需額外配置即可使用。
模型工具¶
插件向模型註冊了四個工具,支持自然語言調用。
- memory_recall:跨層檢索相關歷史。當用戶提到”之前”、”上次”或”記得嗎”時優先調用。
- memory_remember:寫入語義事實或瞬時筆記。適用於用戶明確表達的長期偏好或習慣。
- memory_commit:提交當前會話摘要。將情景記錄沉澱到情景層,並將事實沉澱到語義層。
- memory_stats:查看各層條數與存儲位置。
典型用法¶
在對話中直接使用自然語言即可觸發記憶操作:
- “記住:我彙報時喜歡用表格”
- “以後寫文檔都用中文,標題用 ## 兩級”
- “上次我們討論的 X 項目結論是什麼?”
- “把這個會話記下來”
- “查一下我上次說的關於 Y 的要求”
- “忘記我之前說的那件事吧”
管理接口¶
該插件不提供 React 設置頁,而是通過 HTTP API 提供管理能力。Web 服務默認僅監聽 127.0.0.1。
管理 API 路由:
- GET
/api/memory/stats:統計各層條數。 - GET
/api/memory/list:列出記憶條目。 - GET
/api/memory/search:全文檢索。 - POST
/api/memory/add:手動新增。 - POST
/api/memory/update:編輯條目。 - POST
/api/memory/remove:刪除條目。 - POST
/api/memory/clear:清空記憶。
刪除、清空等敏感操作必須通過 HTTP API 完成。
注意事項¶
- 數據隱私:記憶數據存儲在用戶目錄(
~/.dsh-memory/)下,屬於個人隱私數據,不屬於倉庫內容。 - 刪除限制:模型工具暫不提供刪除入口,僅支持通過 HTTP API 進行刪除或清空操作。
- 會話計數:重啓進程後,會話計數器會重置,但已落盤的歷史數據不會丟失。
- 迴環監聽:Web 服務僅監聽本地迴環地址,不對外暴露。
參考資料¶
- GitHub 倉庫:Olalaye/dsh-layered-memory
- 社區目錄:SkillHub