dsh-memory:DeepSeek Harness 的跨會話語義記憶插件

前言

DeepSeek Harness 的智能體在會話結束後通常會丟失上下文,導致“忘了你是誰”或“忘了之前的約定”。dsh-memory 在任何配置文件中提供了一個跨會話的語義記憶層,無需引入新的基礎設施即可解決這一問題。它符合 DSH “一切皆插件”的理念,通過 SQLite 和 Zhipu Embedding-3 實現本地化的向量存儲與檢索。

插件定位

  • 名稱:dsh-memory
  • 描述:DeepSeek Harness 的跨會話語義記憶插件,支持在任意配置文件中安裝。
  • 維護者:mnbvcxzaqwertyuioplm
  • 許可證:MIT

核心能力

該插件在 Web/Headless 配置文件中註冊了三個核心工具:

  1. memory_add:持久化值得長期保存的事實,數據進入時會自動進行向量化。
  2. memory_search:通過語義(餘弦相似度)檢索相關事實,支持關鍵字回退。如果語義檢索不可用,會自動降級爲純關鍵字匹配。
  3. memory_update:對現有記憶進行糾正、撤回、恢復、驗證、編輯、設置或鏈接。被替換的條目會保留歷史記錄(標記爲 superseded),而不是直接刪除。

底層技術棧採用智譜 embedding-3(2048 維)+ SQLite (node:sqlite) + 餘弦相似度計算。插件具備零配置特性,在缺失 Zhipu Key、數據庫或服務時,會優雅降級而不導致 DSH 進程崩潰。

安裝與啓用

使用官方插件安裝命令將插件添加到目標配置文件(示例爲 web):

dsh plugin --profile web add dsh-memory

安裝後必須重啓 DSH Web 進程,因爲插件依賴的 Bundle 層僅在啓動時生效:

systemctl restart dsh

典型用法

  1. 語義檢索命令:在編輯器中輸入 /mem <question>。智能體會優先調用 memory_search 檢索記憶(結果以摺疊工具卡片形式呈現),然後再基於記憶回答問題。
  2. 強制記憶信號詞:通過配置 forceMemoryWords,設置特定的觸發詞(如“記住”、“重要”)。當用戶消息中包含這些詞時,智能體會強制先調用 memory_add 存入事實,再進行回答。

注意事項與限制

  • 零新基礎設施:插件不依賴獨立的向量數據庫或 Sidecar 容器,所有數據存儲在 SQLite 中。
  • 進程重啓:修改配置後務必重啓 DSH Web 以使 Bundle 層生效。
  • 長度限制:默認情況下,超過 800 字符的條目會被截斷,但會顯示完整長度;設置 full: true 可返回全文。
  • 超時設置:Embedding 調用設置了 8 秒超時。在網絡不佳時,插件會快速失敗並回退到關鍵字搜索,避免會話卡頓。

結語

dsh-memory 通過數百字節的 SQLite 和一次 HTTP 請求的寫入開銷,解決了智能體跨會話記憶的難題。它提供了一種低成本的語義回憶方案,適合需要長期記憶特定用戶偏好或項目約定的場景。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜