前言¶
在智能體開發中,上下文窗口有限且會話常中斷,導致 Agent 難以維持對項目約束、歷史決策或長期偏好的記憶。DSH(DeepSeek Harness)作爲模塊化插件生態,需要配套解決這一持久化問題。當 Agent 在新會話中需要複用舊信息時,傳統的依賴外部數據庫或向量檢索的方式往往增加複雜度。
dsh-echo-memory 是 JxaMe 維護的 DSH 專用跨會話持久記憶插件。它旨在讓 Agent 能夠記住用戶的偏好、項目約束與已定決策,並在後續會話中自動想起。
插件簡介¶
dsh-echo-memory 是 DeepSeek Harness(DSH)專用的跨會話持久記憶插件。
- 核心定位:極簡、純本地、無向量、無數據庫。
- 維護者:JxaMe。
- 許可證:MIT。
它將記憶落盤在用戶本地的 memory.json 文件中,數據人類可讀、原子寫入、重啓不丟。
核心功能¶
模型側(Host 半)— 記憶怎麼進、怎麼出¶
- 5 個記憶工具:插件提供
memory_save(保存)、memory_search(檢索)、memory_forget(刪除)、memory_restore(恢復)、memory_suggest(建議)五個工具,Agent 在對話中可直接調用。 - 按需召回注入:每次模型請求前,從用戶提問抽 query,通過 BM25F 評分計算相關性,將相關的記憶追加進對話上下文,而非廣播式注入。
- 自然對話保存:無需固定句式,直接在對話中說“幫我記住 XX”,Agent 會調用
memory_save落庫。 - AI 建議記住:每輪對話中,AI 會自主提煉值得記的偏好、約束或決策,通過
memory_suggest調用 Dock 確認,只有用戶確認後才真存入數據庫。
存儲與檢索¶
- 純本地 JSON 存儲:數據存儲在
memory.json中,無向量庫、無需 API Key。BM25F 算法結合標題、標籤、強度與新鮮度進行檢索。 - 同內容強化:重複保存同一條記憶時,強度會 +1 並刷新時間,而非堆疊重複記錄。
- 工作區隔離:記憶按工作區(項目)隔離,同時支持全局
*共享,確保項目記憶不串臺。 - 刪除模式:支持“墓碑刪除”和“徹底刪除”。默認墓碑模式下,刪除的記錄進入回收站可恢復;徹底刪除模式下則物理移除。
瀏覽器 UI(Client 半)¶
- 全站懸浮原點 UI:右下角懸浮一個原點,支持拖拽移動、雙擊復位。
- 拖選即記:選中網頁任意文字,拖到原點或面板上鬆手即可保存,無需打開面板。
- 管理面板:提供記憶列表,支持搜索聯想、編輯、刪除、複製以及按工作區過濾。
- 召回歷史 tab:模型剛纔引用了哪些記憶,可在原點面板的“召回歷史”標籤中查看。
- 瞬態召回氣泡:命中相關記憶時,右下角會冒泡展示 6 秒,無關時零打擾。
- 設置卡片:可配置注入開關、召回條數上限、召回文本長度上限以及刪除模式。設置保存即時生效。
可靠性¶
- 損壞自愈:
memory.json文件損壞時,插件會自動隔離備份爲memory.json.corrupt-<時間戳>並用空庫啓動,面板會顯示一次恢復提示。
安裝與啓用¶
本插件僅適配 DSH 0.1.2-rc.1。安裝命令如下(以 web profile 爲例,其他 profile 需替換 web):
dsh plugin --profile web add github:JxaMe/dsh-echo-memory
安裝完成後,需重啓 DSH 服務使其生效。驗證方法爲檢查服務日誌是否出現 [dsh-echo-memory] loaded,或在 DSH 設置頁確認是否出現「記憶(dsh-echo-memory)」卡片。
典型用法¶
- 自然對話保存:在對話中說“幫我記住這個項目用 pnpm workspaces”,Agent 會調用
memory_save落庫並回顯確認。 - 問答覆用:在對話中說“你還記得這個項目用什麼包管理器嗎”,新會話中的 Agent 也能直接回答。
- 檢索記憶:在對話中說“搜一下關於部署的記憶”,Agent 會調用
memory_search並將相關內容注入上下文。 - 刪除記憶:在對話中說“把那條關於 xx 的記憶刪掉”,Agent 會先檢索 ID 再執行刪除。
- 網頁拖拽:在瀏覽器中選中一段文字,拖到右下角的懸浮原點上鬆手,即可直接保存該段文字。
適用場景與注意¶
- 適用場景:需要爲 DSH Agent 提供長期記憶、項目上下文隔離、以及純本地化數據管理的開發者。
- 版本依賴:僅適配 DSH
0.1.2-rc.1。DSH 0.x 階段 API 可能存在 breaking 變更,建議以package.json的 peerDependencies 爲準。 - 環境限制:插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
- 其他注意:
- 純本地、無向量、無數據庫。
minimal preset不啓用 AI 提議記憶功能。- Service API 不穩定,插件對外只提供 tools 與 HTTP routes,不承諾
ctx.memory服務 API 穩定。
結尾¶
dsh-echo-memory 通過極簡的架構和懸浮原點交互,解決了 DSH Agent 跨會話記憶的痛點。它不依賴外部數據庫,通過 BM25F 算法實現高效檢索,並支持工作區隔離與損壞自愈,適合對數據隱私和極簡部署有要求的開發者。