前言¶
在使用 DeepSeek Harness (dsh) 開發智能體時,上下文窗口的長度是硬性限制,且每次會話結束後,之前的交互歷史通常會丟失。爲了解決這個問題,需要在每次請求前主動檢索相關背景,並在對話結束後保存關鍵信息。dsh-memory 插件正是爲此設計,它提供了一套完整的長期記憶解決方案。
這是什麼¶
dsh-memory 是 DeepSeek Harness (dsh) 的一個長期記憶插件。它通過持久化存儲機制,自動在回答前召回相關記憶,並在回答後保存值得記住的事實。該插件由 doublehappy123 維護,採用 MIT 許可證,旨在解決智能體在多輪對話中記憶斷層的問題。
安裝與啓用¶
在安裝前,請確保你的環境滿足以下要求:
* dsh 版本 >= 0.1.1-rc.2
* Node.js 版本 >= 20
安裝步驟如下:
1、使用 npm 源安裝插件(推薦):
dsh plugin --profile web add dsh-memory
2、安裝完成後,重啓 dsh 進程或重新加載 Web UI 以使插件生效。
核心功能¶
該插件提供了以下核心能力:
-
持久化存儲
所有記憶數據存儲在 JSON 文件中,路徑位於$DSH_HOME/memory-plugin/memories.json(即~/.dsh/memory-plugin/memories.json)。 -
自動召回
插件通過系統提示詞指令,要求模型在回答問題的最開始調用memory_recall工具,以檢索相關的上下文信息。 -
自動保存
模型被指示在回答完成後,如果發現了值得記住的新事實,應調用memory_save工具將信息存入長期記憶。 -
全功能工具
插件註冊了 5 個工具供模型調用:memory_save: 保存事實或偏好。memory_recall: 通過關鍵詞或標籤搜索記憶,返回排序結果。memory_list: 列出所有記憶(支持分頁和標籤過濾)。memory_update: 根據 ID 更新現有記憶。memory_delete: 根據 ID 刪除記憶。
-
動態上下文注入
系統會自動將重要性評分 ≥ 3 星的記憶注入到每次請求的運行時上下文中。 -
可視化設置頁面
在 Web UI 中,進入 Settings → 長期記憶,可以瀏覽、搜索、添加、編輯和刪除記憶。搜索支持實時防抖(300ms)。 -
智能搜索
搜索功能結合了關鍵詞匹配、標籤匹配,並依據重要性和時間進行評分排序。 -
導入與導出
支持將記憶庫導出爲 JSON 文件進行備份,也支持從 JSON 文件導入(支持合併或替換模式)。
數據結構與重要性¶
每條記憶記錄的結構如下:
{
"id": "uuid",
"content": "self-contained fact or preference",
"tags": ["preference", "python"],
"category": "technical",
"importance": 4,
"createdAt": "2026-09-01T12:00:00.000Z",
"updatedAt": "2026-09-01T12:00:00.000Z",
"source": "model"
}
重要性評分分爲 5 個等級:
* 1 星:短暫 —— 很快可能不再相關。
* 2 星:低 —— 次要的偏好或上下文。
* 3 星:正常 —— 默認等級,有用的重複信息。
* 4 星:高 —— 重要的偏好或決策。
* 5 星:關鍵 —— 必須永遠記住的信息。
導入與導出¶
導出的文件包含版本號、導出時間、記憶總數和記憶數組。
{
"version": 1,
"exportedAt": "2026-09-02T...",
"count": 42,
"memories": [ ... ]
}
導入功能接受上述完整格式或原始的記憶對象數組。導入模式支持合併(去重 ID,更新現有,添加新)或替換。
注意事項¶
- Web Profile 依賴:可視化設置頁面僅在使用 Web profile 時可用。但上述的 5 個模型工具在 headless profile 下也能正常工作。
- 文件權限:插件以當前 dsh 進程的權限運行,請確保相關目錄有寫入權限。
短結尾¶
dsh-memory 通過系統提示詞和工具調用的結合,讓模型具備了自我管理上下文的能力。它不僅解決了上下文窗口限制的問題,還通過可視化的管理界面降低了使用門檻。對於需要長期記憶的智能體開發場景,這是一個實用的工具。更多細節和源碼可以參考其 GitHub 倉庫。