前言¶
DeepSeek Harness(DSH)原生只自動加載指令文件鏈(如 AGENTS.md / CLAUDE.md),不加載 memory/ 目錄。在指令文件中寫「會話開始先讀記憶」依賴模型的自覺,是概率性的。dsh-memory-loader 插件把這一步變成 harness 級確定性注入,確保每個新會話開始時自動加載兩級記憶。
插件定位¶
這是一個 DeepSeek Harness(DSH)確定性記憶注入插件。它通過 agent/pre-step seam 在每個新會話開始時,自動注入兩級記憶——全局 ~/.dsh/memory/ 和項目 <cwd>/memory/ 下的 MEMORY.md 以及當日 YYYY-MM-DD.md。該插件不依賴模型「自覺去 read」,且支持獨立的字節預算控制。
核心功能¶
- 兩級記憶注入:自動加載全局和項目的長期記憶(
MEMORY.md)及當日筆記(YYYY-MM-DD.md)。 - 自動注入當日筆記:根據當前日期匹配
YYYY-MM-DD.md文件。 - 獨立字節預算控制:總預算 16KB,單文件上限 64KB。
- 會話注入去重機制:通過標記檢測並避免重複注入。
- Markdown 內容轉義安全:防止記憶內容逃逸幀。
- 超限處理策略:文件超限直接丟棄或截斷。
- 只讀不寫:插件僅負責讀取記憶,不觸碰寫回操作。
安裝與啓用¶
推薦使用 bundle 方式安裝。在終端執行以下命令:
dsh plugin --profile web add https://github.com/wuruihi/dsh-memory-loader/archive/refs/heads/main.tar.gz
若需使用 file:// 掛載方式,需將 dsh-memory-loader.mjs 放入 ~/.dsh/profiles/web/ 目錄,並在 ~/.dsh/profiles/web/cordis.patch.yml 中追加配置。變更會由 watchUserPatches 熱應用,無需重啓。
配置說明¶
插件支持通過配置項控制預算:
| 鍵 | 默認值 | 說明 |
|---|---|---|
maxBytes |
16384 | 注入幀總預算(字節),獨立於 AGENTS.md 鏈的 64KB |
maxSourceBytes |
65536 | 單文件讀取上限(字節),超限視爲文件不存在 |
預算策略與官方 dsh-agent-instructions 一致:超限時先丟棄最不特定的文件,最後截斷最特定的文件並附提示。
典型用法¶
安裝完成後,插件會自動在每次新會話開始時注入記憶。用戶無需在指令文件中手動添加讀取記憶的邏輯,記憶內容會作爲 durable user message 緊跟用戶首條 prompt 之前注入。
適用場景與注意¶
該插件適合需要長期維護上下文連貫性、希望記憶管理自動化的開發者。使用前請確認源碼與許可證,確保符合項目安全要求。插件以當前 DSH 進程權限運行,應確保目錄讀寫權限正確。