前言¶
在 DSH 插件體系裏,長期記憶如果按全局或工作區共享,容易把不相關任務的內容帶到當前會話。下面介紹 dsh-task-memory。它把 remember、recall、search 限制在同一個 task 邊界內,並可選地把當前任務的 pinned / recent facts 注入當前 agent session 的系統提示。
這是什麼¶
dsh-task-memory 是一個面向 DeepSeek Harness 的長期記憶插件,倉庫 owner 爲 wangyihao0001-oss,許可證爲 MIT。
它爲每個任務保存獨立的 memory vault,默認目錄爲:
~/.dsh/storages/task-memory/
插件要求:
Node.js >= 20
適用 profile:
web
也可以用於任何加載 Host tools 的 profile。
核心功能¶
任務隔離¶
dsh-task-memory 以 task 作爲記憶隔離邊界。一個 session 可以綁定到指定任務 vault,也可以用當前 session 對應的默認 vault。
主要工具包括:
memory_bind_task
memory_current_task
其中:
memory_bind_task:把當前 session 綁定到指定 task vault。memory_current_task:查看當前 session 正在使用哪個 vault。
記憶讀寫¶
寫入和讀取都發生在當前任務邊界內:
memory_remember
memory_recall
memory_search
memory_forget
其中:
memory_remember:按key寫入或更新一條事實。memory_recall:按精確key讀取。memory_search:按關鍵詞搜索,支持英文 token 和中文 bigrams;空 query 會列出 recent / pinned 條目。memory_forget:刪除一個key。
這裏的搜索是 lexical 搜索,不是 embeddings / vector search。
任務 vault 管理¶
插件提供以下管理工具:
memory_list_tasks
memory_clear_task
其中:
memory_list_tasks:列出 vaults。memory_clear_task:清空一個 vault;需要傳confirm: true。
可選 prompt injection¶
當啓用 prompt injection 時,插件會把當前 active task 的 pinned / recent facts 注入當前 agent session 的系統提示。
注入範圍只針對當前 session 對應的任務記憶,其他任務的記憶不會出現在這個注入塊中。
安裝與啓用¶
先安裝到 web profile:
dsh plugin --profile web add "github:wangyihao0001-oss/dsh-task-memory"
安裝完成後,可以用下面命令確認 bundle layer 是否存在:
dsh --profile web --dump-config
經過上面的步驟,如果確認插件已加載,就可以在 session 中開始使用 memory_bind_task、memory_remember、memory_recall 等工具。
如果之後要移除插件,使用:
dsh plugin --profile web remove dsh-task-memory
注意,vault 文件不會因爲卸載而被刪除。若需要清理本地數據,請自行處理:
~/.dsh/storages/task-memory/
典型用法¶
先綁定任務:
memory_bind_task
taskId: "my-app"
title 可選。
接着寫入一條事實:
memory_remember
key: "stack"
content: "Node 22 + Postgres"
也可以把這條記憶標記爲 pinned:
memory_remember
key: "stack"
content: "Node 22 + Postgres"
pinned: true
然後在同一個任務內讀取或搜索:
memory_recall
memory_search
如果不確定當前 session 是否綁到了正確的 vault,可以執行:
memory_current_task
適用場景與注意¶
適合以下場景:
- 希望不同項目、不同任務使用相互隔離的長期記憶。
- 希望
recall、search不跨任務返回結果。 - 希望把少量 pinned / recent facts 注入當前 agent session 的系統提示。
使用前需要注意:
- 不要在 memory entries 中存儲 secrets、credentials、tokens 或 personal secrets。
- 目前爲 Host-only bundle,還沒有用於瀏覽 vaults 的 Web UI。
memory_search是 lexical 搜索,不是 embeddings / vector search。- 隔離只針對本插件內的 task id,不會 sandbox DSH 的其他部分。
- 卸載插件不會刪除 vault 文件,需要自行備份或刪除。
- pinned entries 不會被 eviction;當 vault 達到
maxEntries上限時,新 key 會被拒絕,而已存在 key 的 upsert 不受容量限制。 - dsh.pub 上的目錄展示是 automated contract check,不是 security audit。
- 插件會在當前
dsh進程所擁有的權限範圍內運行;安裝前應檢查源碼和 MIT 許可證。
鏈接¶
目錄頁:
https://dsh.pub/en/plugins/dsh-task-memory/
GitHub 倉庫:
https://github.com/wangyihao0001-oss/dsh-task-memory