前言¶
DeepSeek Harness (DSH) 採用插件化架構。在處理長週期任務時,對話上下文容易丟失,導致模型重複解釋背景、遺忘之前的決策。dsh-plugin-memory 旨在解決這個問題。它讓對話模型在執行任務時邊幹邊記,將值得長期保留的信息持久化爲 Markdown 文件,並在新會話中自動注入。該插件由 justhalfbit 維護,遵循 MIT 許可證。
安裝與啓用¶
安裝前請確保已安裝 DSH 0.1.2 及以上版本,且 pnpm 在系統 PATH 上。
- 使用官方安裝命令:
dsh plugin --profile web add github:justhalfbit/dsh-plugin-memory
重啓 `dsh web` 以生效。
- 記憶數據默認存儲在
~/.dsh/memory目錄。卸載時插件會保留該目錄下的數據,如需清理請手動刪除。
核心功能¶
該插件主要提供以下能力:
- 兩層記憶結構:主記憶文件(存儲 Facts、Decisions、Lessons、Preferences)和專題文件(存儲深度筆記)。
- 模型邊幹邊記:支持三檔積極度(保守 / 平衡 / 積極),模型可主動調用工具保存信息。
- 後臺靜默蒸餾:可選在對話結束後靜默提取記憶,不產生工具卡片,適合無人值守長任務。
- 按項目隔離:以工作目錄爲粒度,使用哈希編碼目錄名防止衝突。
- 純 Markdown 存儲:數據可讀、可手編、可納入版本控制。
- 設置面板:支持瀏覽器界面卡片配置和
settings.yaml配置,全部支持熱更新。 - 完備護欄:包括內容哈希去重、條目數量上限、修剪順序(手動條目最後淘汰)等機制。
存儲結構與注入機制¶
記憶文件存儲在 ~/.dsh/memory/projects/ 目錄下。每個項目對應一個以路徑哈希命名的子目錄,內部包含:
memories.md:主記憶文件,按分類存儲條目。topics/*.md:專題文件,存儲深度筆記。
注入機制採用漸進式披露:
1. 主記憶:全量注入到系統提示中,受字符預算限制。
2. 專題索引:僅注入文件名和摘要,正文按需加載。
3. 去重:基於渲染體 SHA-1 防止重複注入,提升 KV Cache 效率。
工具與配置¶
插件提供 7 個核心工具:
memory_save:保存一條記憶。memory_search:關鍵詞檢索。memory_forget:刪除條目。memory_read:讀取專題文件。memory_write_topic:創建或重寫專題文件。memory_delete_topic:刪除專題文件。memory_list:列出所有條目和專題。
配置項支持熱更新,可通過瀏覽器界面或 ~/.dsh/settings.yaml 中的 memory 節配置。主要字段包括:
enabled:總開關。proactivity:積極度檔位。autoDistill:是否開啓後臺蒸餾。injectBudgetChars:注入提示的字符預算。distillMinChars:觸發蒸餾的最小字符數。cooldownTurns:蒸餾冷卻輪數。maxEntriesPerCategory:每類條目上限。
注意事項¶
使用該插件時需注意以下限制:
- 併發寫入:跨進程併發寫同一項目爲「最後寫勝」的弱保證,進程內嚴格串行。
- 會話隔離:記憶按項目共享,不按會話隔離。同一項目的任何會話都能改寫其它會話的條目。
- 蒸餾權限:自動蒸餾只能新增條目,以及改寫/刪除它自己創建的
auto條目,無法改寫manual條目。 - 錯誤處理:蒸餾失敗的窗口不重試,這是有意的成本控制策略。