dsh-flymemory:DeepSeek Harness 的本地長期記憶

前言

在 DeepSeek Harness(DSH)中構建智能體時,上下文窗口有限且狀態難以持久化是常見痛點。每次開啓新會話都需要重新解釋背景,或者依賴外部服務存儲敏感數據,都不符合本地化開發的需求。DSH 的插件機制允許擴展核心能力,而 dsh-flymemory 便是解決這一問題的方案。

簡介

dsh-flymemory 是一個 DSH Bundle 插件。它在本地運行一個 FlyMemory MCP 服務,將 15 個記憶工具和兩個自動鉤子接入 DSH。數據存儲在本地文件系統中,服務監聽 127.0.0.1:8791,不涉及遠程網絡傳輸。

核心功能

插件通過前綴 mcp__flymemory__ 向模型提供工具,並運行兩個鉤子腳本實現自動化記憶管理。

記憶工具

提供 15 個工具用於記憶的增刪改查:

  • 存儲與檢索:flymemory_remember 用於存儲決策或發現,支持按 compartment 分組;flymemory_recall 用於搜索,融合了密集向量檢索和關鍵詞匹配;flymemory_auto 是鉤子調用的核心,一次完成“檢索”與“存儲”。
  • 狀態管理:flymemory_state_lookup 和 flymemory_state_history 追蹤特定鍵的當前值或歷史記錄,適合管理“當前值 X”這類狀態。
  • 衝突與清理:flymemory_find_conflicts 查找矛盾條目,flymemory_forget 和 flymemory_cleanup 負責刪除條目或清理過期數據。
  • 會話輔助:flymemory_session_pack 打包近期活動摘要,flymemory_stats 輸出統計信息。
  • 其他:flymemory_supersede 標記舊條目被新條目替代,flymemory_consolidate 合併多條記錄。

自動鉤子

兩個鉤子腳本在 DSH 事件中自動觸發:
- 捕獲:在每次對話後執行,將當前提示寫入記憶。
- 回憶:在每次對話前執行,檢索並追加相關記憶到上下文。
鉤子腳本在服務不可用時靜默降級,不會阻塞對話。

本地監督引擎

引擎基於 Python,依賴 torch 和 sentence-transformers。首次運行需下載多語言嵌入模型(約 470 MB)。下載完成後支持離線工作。

安裝與啓用

前置依賴:
- Node.js 20+
- Python 3.10+
- Python 依賴:torch, sentence-transformers, “mcp>=1.30,<2”, numpy

安裝命令:

plugin_manager(action: "install_bundle", target: "/absolute/path/to/dsh-flymemory")

安裝後,檢查服務狀態:

node bin/flymemory.mjs status
node bin/flymemory.mjs doctor

數據與配置

數據存儲

記憶數據存儲在 $DSH_HOME/flymemory-data/flymemory_v3.pkl。環境變量 FLYMEMORY_DATA_DIR 可修改此目錄。

服務配置

服務默認監聽 127.0.0.1:8791。可通過 FLYMEMORY_MCP_PORT 和 FLYMEMORY_MCP_URL 調整。

冷啓動

由於需要加載 PyTorch 模型,首次啓動和冷啓動耗時較長,通常在 15-20 秒左右。

注意事項

  • 插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼與許可證(MIT)。
  • 憑證類文本(如 gh token)不會被存儲。
  • 移除插件時,數據文件不會自動刪除,需手動處理。
羽毛球分组比赛记分
小程序二维码

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

小夜