前言¶
DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。在開發智能體應用時,上下文窗口有限,且會話結束後往往丟失關鍵事實。現有的記憶方案通常需要部署外部服務器,增加了運維成本。dsh-native-memory 插件旨在提供一種原生、輕量級的長期記憶解決方案,將數據存儲在 DSH 自身的存儲域中,通過會話查詢全文檢索(FTS)實現跨會話召回。
插件簡介¶
這是一個爲 DeepSeek Harness 設計的原生、工作區級別的長期記憶插件。它將事實和配置存儲在 DSH 的專用存儲域(~/.dsh/storages/dsh_memory.)中,支持跨會話召回,並採用人工審批機制控制寫入操作。該插件不依賴外部服務器,除了 zod 和 DSH 自身外,沒有額外的運行時依賴。
核心功能¶
- 原生存儲:數據直接存儲在 DSH 自身的存儲域
~/.dsh/storages/dsh_memory.,無需額外數據庫服務。 - 工作區隔離:基於精確的當前工作目錄(exact-cwd)進行授權,每個工作區擁有獨立的數據空間。
- 審批寫入:所有寫入操作(添加、編輯、遺忘)均需人工審批,並附帶會話日誌審計。
- 跨會話檢索:利用全文檢索技術,支持對歷史會話的跨會話召回。
- 引用溯源:每個事實記錄其來源
(sessionId, seq),確保數據可追溯。
安裝與啓用¶
使用官方插件命令安裝該插件:
dsh plugin --profile web add dsh-native-memory
安裝完成後重啓 dsh web。該插件通過 cordis.patch.yml 補丁啓用會話查詢全文搜索,並將記憶工具注入到每個會話中。主要配置項包括:
* secretPolicy:控制密鑰拒絕策略,默認拒絕,可設爲 "mask" 或 "off"。
* proposeOnSessionEnd:是否在會話結束時生成事實建議。
* compactionGuard:壓縮漂移保護,默認開啓,用於驗證數據完整性。
典型用法¶
插件提供了一系列工具來管理記憶:
memory_remember:在當前工作區添加或更新事實。默認情況下會拒絕包含密鑰形狀的文本(如 token、密碼)。memory_recall:執行確定性的三級關鍵詞掃描(標籤 > 文本 > 模糊匹配),並處理新鮮度/訪問權作爲決勝條件。memory_search:對當前工作區的歷史會話進行全文檢索。memory_import:從歷史會話日誌中導入候選事實(需要審批)。memory_export:生成 Git 友好的 Markdown 鏡像文件(位於.dsh-memory/memory.md),內容已對密鑰進行脫敏且冪等。memory_profile:讀取當前工作區的始終注入的配置文件。
適用場景與注意¶
- 代碼執行風險:安裝插件意味着在本地機器上運行第三方代碼,且擁有當前 DSH 進程的權限。安裝前請務必審查源碼。
- 密鑰安全:默認情況下,提示詞注入和工具輸出都會對密鑰進行脫敏。憑證分配檢測器會標記長度大於等於 16 個字符的良性令牌值。在瀏覽器設置頁面的「記憶」選項中,可以查看已脫敏的事實列表;刪除操作會被轉換爲
memory_forget指令,通過審批門控發送到聊天中。 - 依賴:插件依賴
zod和 DSH 運行時,除此之外無額外依賴。
總結¶
dsh-native-memory 爲 DSH 用戶提供了一個無需外部服務器、基於本地存儲的長期記憶方案。它通過工作區隔離和審批機制平衡了便捷性與安全性,適合需要在本地持久化工作上下文且注重數據隱私的場景。