前言¶
DeepSeek Harness(DSH)採用插件化架構。在長期智能體開發中,一個常見問題是會話中斷導致上下文丟失,或者項目進度、約定事實無法跨會話繼承。開發者往往需要手動維護文檔,不僅效率低,還容易遺漏關鍵信息。
插件介紹¶
dsh-memories 是 DeepSeek Harness 的記憶插件,由開發者 jisi71 維護。它爲每個項目提供雙賬本系統:長期事實賬本(MEMORY.md)和項目進度賬本(PROGRESS.md)。這兩個賬本會自動提取會話信息、去重並注入到新會話的系統提示中,無需人工頻繁重述背景。
核心功能¶
- 自動提取:每 30 分鐘運行一次掃描,提取偏好、項目、環境、經驗四類長期事實,以及完成、進行中、下一步三類進度。
- 噪聲攔截:具備嚴格的“無操作門”,自動過濾一次性任務細節、代碼片段和敏感信息,只保留值得記錄的內容。
- LLM 整合:利用大模型將草稿合併、去重並重新分節,生成清晰的賬本。每次重寫時自動生成
.bak備份文件。 - 記憶衰減:未固定的條目在 30 天未確認後會自動衰減,保持賬本整潔。
- 工具與指令:提供
/remember、/progress等指令,以及remember()、update_progress()工具,允許用戶和 Agent 直接控制賬本寫入。 - 故障安全:LLM 失敗時不會留下痕跡,並在下一輪嘗試重試。
安裝與啓用¶
在 DSH 環境中,先確認已安裝 dsh-base 基礎包,它包含了 fs、llm、sessionQuery、systemPrompt、tools、commands 和 sandboxPolicy 等標準服務。
使用官方插件管理器安裝:
dsh plugin --profile web add dsh-memories
安裝後,插件會在新會話啓動時自動運行,無需額外配置。
典型用法¶
對於 Agent 來說,可以在對話中調用工具:
* remember(fact, category?, pinned?):保存一個長期事實。
* update_progress(completed?, doing?, next?):更新項目進度。
對於用戶,可以直接使用斜槓命令:
* /remember <fact>:追加一條事實。
* /memories:查看處理狀態、草稿文件預覽及最後錯誤。
* /memories rescan:強制立即執行一次提取掃描。
* /progress:查看 PROGRESS.md 內容。
* /progress <note>:手動追加一條進度備註。
數據存儲在項目根目錄的 .dsh/memories/ 下,包含 MEMORY.md、PROGRESS.md 及其備份文件(.bak)和原始草稿文件夾(raw/)。
適用場景與注意¶
- 適用場景:適合需要長期運行、涉及複雜項目狀態管理的 DSH 會話。它能幫助 Agent 快速回憶項目約定和當前進度。
- 注意點:
- 目前支持項目級賬本,計劃通過
globalDir設置支持全局用戶級賬本。 - 提取僅讀取消息文本,不讀取工具調用負載。
- 進度合併受指令限制,不保證嚴格遵守 60 行預算。
- 默認提示詞爲中文,可通過 PR 提供英文變體。
- 目前支持項目級賬本,計劃通過
結尾¶
dsh-memories 通過雙賬本機制解決了智能體跨會話記憶和進度跟蹤的問題。它結合了自動提取與人工控制,適合需要長期維護上下文的開發場景。