前言¶
DeepSeek Harness (DSH) 的對話上下文通常隨着會話結束而丟失,難以支持長期記憶或跨會話的知識積累。dsh-local-vector-memory 插件通過本地 embedding 向量化、SQLite 單文件存儲及自動召回機制,解決了智能體在運行時對長期上下文的依賴問題。它不需要搭建複雜的數據庫環境,直接利用 Node.js >= 22.5 的內置能力即可運行。
核心能力¶
該插件主要包含以下功能模塊:
- 本地向量化與存儲:使用 Node.js >= 22.5 內置的
node:sqlite,結合本地 embedding 服務將文本向量化,存儲爲單文件 SQLite 數據庫。 - 自動召回注入:在每次 agent 推理前,檢索 top-K 相關記憶並注入上下文(使用
<local-memory>標籤)。會話內部支持 LRU 去重。 - 雲端提取:支持在會話結束時調用 DeepSeek 雲端
deepseek-v4-pro模型自動提取記憶(可選,默認走線索自動捕獲)。 - 防矛盾記憶:寫入時檢測與已有記憶的衝突或過舊(相似度 >= 0.86 但未達完全重複),提示用戶改用
memory_update更新舊記憶。 - 回收站機制:
memory_forget默認執行軟刪除,memory_restore可恢復;需要purge=true參數才能永久刪除。 - 在線備份:使用 SQLite
VACUUM INTO生成一致性快照,默認保留最近 5 份備份。 - 低價值過濾:v0.3.4+ 版本在落庫前自動攔截瞬時狀態、純進度、一次性參數等低價值內容。
- 容錯與兜底:支持 HTTP 批量向量化(失敗自動逐條回退);embedding 服務不可用時退化爲中英文關鍵詞匹配。
安裝與啓用¶
安裝命令如下,指定 web profile 安裝:
dsh plugin --profile web add dsh-local-vector-memory
安裝後 dsh.profile.bundles 會自動追加,重啓 DSH Web 服務即可生效。
使用工具¶
插件提供以下工具供調用:
memory_add:寫入一條長期記憶(自動去重 + 衝突檢測)。memory_search:向量檢索(支持 tag 過濾;embedding 掛了自動關鍵詞兜底)。memory_list:瀏覽記憶(支持 tag/source 過濾;includeDeleted=true查看回收站)。memory_update:按 id 更新文本/標籤(自動重向量化)。memory_forget:按 id 刪除(默認軟刪除;purge=true永久刪除)。memory_restore:恢復被軟刪除的記憶。memory_backup:SQLite 在線備份到~/.dsh/backups/memory。memory_stats:庫狀態 + 軟刪除數 + 服務地址。memory_reindex:給未向量化條目補向量(批量)。memory_extract:調用提取模型從一段文本提煉記憶入庫(僅短文本,建議 ≤2000 字)。memory_merge:合併重複/同主題記憶(保留一條,其餘軟刪除)。memory_health:健康報告(條數/軟刪/未向量化/置頂分佈 + 重複對檢測)。
配置與依賴¶
環境要求¶
- DSH:需要使用 web profile。
- Node.js:版本需 >= 22.5(內置
node:sqlite)。 - 本地 Embedding 服務:需要 OpenAI 兼容的本地 embedding 服務(推薦 Qwen3-Embedding-0.6B + llama-server)。
- 雲端提取(可選):需要 DeepSeek 官方雲端 API (
deepseek-v4-pro) 用於提取記憶,默認走線索自動捕獲。
API Key 安全¶
⚠️ 不要把 API key 寫進任何會被提交的文件。key 只放在本機,支持三種寫法:
extractionApiKey: "${DEEPSEEK_API_KEY}" # 1. 環境變量
extractionApiKey: "dsh:DEEPSEEK_API_KEY" # 2. DSH 憑據庫(~/.dsh/.credentials.yaml)
extractionApiKey: "local-no-auth" # 3. 明文佔位(僅限免認證的本地服務)
配置覆蓋¶
默認配置在 lib/config.mjs。可以通過 ~/.dsh/profiles/web/cordis.patch.yml 覆蓋。注意 DSH patch 是整段替換,不是深合併,因此建議只寫入需要修改的字段。
注意事項¶
- Patch 機制:DSH 的 patch 是整段替換,不是深合併,修改配置時需注意覆蓋範圍。
- 低價值攔截:v0.3.4+ 版本在落庫前會自動攔截瞬時狀態、純進度、一次性參數等低價值內容,避免稀釋檢索質量。
- 安裝前檢查:插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。