前言¶
在 DeepSeek Harness (DSH) 開發智能體時,會話結束後上下文即丟失是一個常見痛點。下面介紹的 dsh-tool-memory 插件將 Hermes Agent 的記憶機制移植到 DSH 平臺,通過純文本存儲與快照注入,解決智能體跨會話記憶保持的問題。
這是什麼¶
這是 DeepSeek Harness 的一個記憶類插件,由 sikwoxy 維護。它提供有界、純文本、跨會話的記憶能力。核心價值在於將長期記憶以凍結快照形式注入 system prompt,從而讓 LLM 在新會話中能夠利用歷史信息。
核心功能¶
- 凍結快照注入:會話開始時,插件會將記憶以快照形式注入 system prompt,保證新會話能讀取歷史。
- 六種工具:提供
memory_add、memory_replace、memory_remove、memory_batch、memory_show、memory_refresh六個工具。 - 後臺自動沉澱:每 N 條用戶消息觸發隔離子代理評審,自動沉澱值得長期記住的信息。
- 數據安全機制:具備鎖文件、原子寫、漂移保護(拒絕無法 round-trip 的內容)與威脅掃描(攔截注入/越獄等攻擊)。
- 文件支持:支持
MEMORY.md(代理筆記)和USER.md(用戶畫像)。
安裝與啓用¶
在 deepseek-harness 環境內執行以下命令安裝:
dsh plugin add dsh-tool-memory
典型用法¶
插件註冊了 3 個 system-prompt section 和 6 個工具,可用自然語言直接調用。
基礎操作:
1. 追加記憶:
memory_add content='記住:這個項目的文檔任務用反向工作流'
- 替換記憶:
memory_replace old_text='codex CLI' new_content='codex CLI v0.148'
- 刪除記憶:
memory_remove old_text='臨時備註'
- 刷新快照(手動編輯文件後生效):
memory_refresh
配置與文件:
在 profile 或組合包層的 cordis.patch.yml 中可配置根路徑、字符預算和後臺評審參數。記憶文件默認位於 $DSH_HOME/memories,格式爲純文本條目列表,條目間使用 \n§\n 分隔。
適用場景與注意¶
此插件適合需要長期維護上下文信息的 DSH 應用場景。安裝前應檢查源碼與許可證。
- Prefix Cache 優化:寫入操作不改變會話開始時的 system prompt(凍結快照),以保住 LLM prefix cache。
- 生效時機:手動編輯
MEMORY.md後,必須調用memory_refresh才能在當前會話生效。 - 依賴版本:依賴 DeepSeek Harness 4.0.1 及相關工具包。
結尾¶
該插件通過將記憶管理與系統提示分離,簡化了智能體的狀態維護工作。更多細節可參考 GitHub 倉庫:https://github.com/sikwoxy/dsh-tool-memory