dsh-memory-loader:DeepSeek Harness 確定性記憶注入插件

前言

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」,且支持獨立的字節預算控制。

核心功能

  1. 兩級記憶注入:自動加載全局和項目的長期記憶(MEMORY.md)及當日筆記(YYYY-MM-DD.md)。
  2. 自動注入當日筆記:根據當前日期匹配 YYYY-MM-DD.md 文件。
  3. 獨立字節預算控制:總預算 16KB,單文件上限 64KB。
  4. 會話注入去重機制:通過標記檢測並避免重複注入。
  5. Markdown 內容轉義安全:防止記憶內容逃逸幀。
  6. 超限處理策略:文件超限直接丟棄或截斷。
  7. 只讀不寫:插件僅負責讀取記憶,不觸碰寫回操作。

安裝與啓用

推薦使用 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 進程權限運行,應確保目錄讀寫權限正確。

結語

通過上述配置,DSH 的記憶管理將變得確定且可控。更多細節可查閱 GitHub 倉庫 或 插件目錄。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜