前言¶
在 DeepSeek Harness(DSH)的開發中,如何讓智能體在會話之間保持上下文一致性是一個常見需求。dsh-mnemosyne 是一個將本地優先的 SQLite 記憶系統 Mnemosyne 集成到 DSH 的插件。它移植自 Mnemosyne 官方的 Pi coding agent 擴展,旨在爲 DSH 提供跨會話的記憶能力,無需依賴雲端服務。
核心定位¶
該插件提供了一套完整的記憶管理工具鏈和設置面板,將 Mnemosyne 的記憶邏輯封裝爲 DSH 原生工具。數據存儲在本地 SQLite 數據庫中,默認路徑爲 ~/.dsh/mnemosyne。
安裝與啓用¶
安裝插件需要通過 CLI 執行以下命令:
# 安裝插件到 web profile
dsh plugin --profile web add dsh-mnemosyne
安裝後,重啓 profile 並進入 Settings > Mnemosyne 點擊 Setup 按鈕,或者手動安裝 Mnemosyne CLI:
uv tool install mnemosyne-memory
核心功能¶
插件提供了六種原生工具,直接供智能體調用:
mnemosyne_remember:存儲記憶mnemosyne_recall:檢索記憶mnemosyne_forget:遺忘記憶mnemosyne_stats:查看統計信息mnemosyne_sleep:執行會話合併mnemosyne_bind:綁定工作區
除了工具調用,插件還包含以下管理特性:
- 記憶儀表板:通過 Settings 面板或 Better Sidebar 集成,提供記憶概覽、過濾、批量編輯和三元組管理。
- 自動合併:默認開啓,每 10 個持久化回合會自動檢查工作記憶數量並執行合併。
- 過濾管理:支持按信任度、過期時間、重要性篩選,支持批量修改屬性。
- 配置同步:設置面板讀取並管理
config.yaml,支持一鍵重置爲默認值。
自動記憶機制¶
默認開啓自動記憶功能,通過以下機制保證上下文連續性:
- 提示注入:在系統提示中注入
# Mnemosyne Memory頭部,告知模型記憶可用。 - 自動同步:自動保存用戶消息(過濾掉插件注入的消息),使對話持久化。
- 自動預取:在模型調用前檢索相關記憶並注入上下文。
- 會話隔離:記憶按 DSH session_id 分區,新會話默認繼承
sessionScope行爲(除非手動遷移)。
數據與配置¶
- 數據隔離:所有數據存儲在
~/.dsh/mnemosyne,與 Hermes 等其他插件的數據完全隔離。 - 配置來源:配置分爲 DSH 側(設置面板保存)和 Mnemosyne 側(
config.yaml)。
注意事項¶
- 前置依賴:Settings 中的 Setup 按鈕依賴
uv工具在 PATH 中可用。 - 行爲兼容:現有安裝默認保留舊的
sessionScope行爲,即 legacy session 中的記憶可能無法被新的會話隔離邏輯檢索到,需要通過儀表板手動遷移。 - 權限運行:插件以當前 DSH 進程權限運行,使用前請檢查源碼與許可證。
總結¶
dsh-mnemosyne 解決了 DSH 插件在跨會話記憶管理上的空白,通過本地 SQLite 存儲和自動化機制,降低了使用門檻。適合需要長期記憶能力的智能體開發場景。