前言¶
DeepSeek Harness(DSH)中的智能體每次會話都會重新進入上下文;如果把項目偏好、部署約束、測試命令、決定和項目筆記只留在某一次對話裏,後續會話就無法繼續使用這些信息。
dsh-memory-vault 是一個面向 DSH 的跨會話記憶插件。它提供 memory_remember / memory_recall / memory_forget 三個模型工具,在每輪系統提示組裝時注入較新記憶,並在設置頁提供瀏覽器管理入口。
這是什麼¶
dsh-memory-vault 是一個由 flymysql 維護的 DSH 插件,MIT 許可證。它把“記住、回憶、忘記”做成可調用的模型工具,並把持久化記錄放在 DSH 的存儲域中。
它主要解決一個問題:讓事實、偏好、決定和項目筆記可以跨會話保留,而不是隻存在於單次對話上下文中。
核心功能¶
已覈實的能力包括:
- 3 個模型工具:
memory_remember/memory_recall/memory_forget - Per-turn prompt injection:較新的記憶條目會被注入到每次 system-prompt assembly 中
- Durable storage:記錄保存在 DSH storage domain(
dsh_memoryunit,默認使用 json backend) - 瀏覽器管理頁:在 Settings 的“記憶庫 / Memory”頁面中瀏覽、添加、刪除條目
memory_recall排序規則:按 tag matches(×2)和 content matches 評分,newest first
安裝與啓用¶
使用官方安裝命令:
dsh plugin --profile web add dsh-memory-vault
這裏的包名是 dsh-memory-vault。安裝前建議檢查源碼與 MIT 許可證,並確認你信任該插件會以當前 dsh 進程權限運行。
典型用法¶
先讓智能體記住信息:
記住:這個項目的部署目標是 Windows,測試命令是 `pnpm test`。
智能體可以調用 memory_remember,並可選傳入 tags:
memory_remember(content="User prefers Windows deployment; test command is `pnpm test`", tags=["project:demo", "user"])
當需要找回之前會話中的上下文時,調用:
memory_recall(query="Windows deploy")
如果某條記憶已經過時或錯誤,可以按 id 刪除:
memory_forget(id="m-...")
也可以按 tag 刪除:
memory_forget(tag="project:demo")
配置¶
插件提供兩個配置項:
| 配置項 | 類型 | 默認值 | 含義 |
|---|---|---|---|
injectLimit |
int | 8 | 每次 system-prompt assembly 最多注入的條目數 |
recallLimit |
int | 10 | memory_recall 最多返回的條目數 |
瀏覽器管理頁¶
在 Settings 中可以看到“記憶庫 / Memory”頁面,用於瀏覽、添加和刪除記憶條目。
已覈實資料中還提到接口形態:發佈包使用 public same-origin JSON endpoints GET/POST /dsh-memory/entries;動態插件原型使用 sandbox-only harness.handle / host.call package RPC。
適用場景與注意¶
適合需要在 DSH 中保留跨會話上下文的項目,尤其是涉及穩定偏好、部署目標、測試命令、項目決定和重複出現的項目筆記的場景。
使用注意:
- 插件以當前
dsh進程權限運行,安裝前應檢查源碼、依賴和 MIT 許可證 memory_recall返回結果受recallLimit限制,默認最多返回 10 條- 每次 system-prompt assembly 注入條目受
injectLimit限制,默認最多注入 8 條 memory_forget支持按 id 或 tag 刪除,刪除前建議確認目標條目
結尾¶
dsh-memory-vault 的核心價值是把跨會話記憶變成一組穩定可調用的工具,並通過 per-turn prompt injection 和瀏覽器管理頁降低維護成本。
GitHub 倉庫:
https://github.com/flymysql/dsh-memory
目錄頁 URL 未出現在已覈實資料中。