dsh-nodal-memory:DSH 純本地長期記憶(SQLite + 中文檢索 + 關係圖)

前言

在 DeepSeek Harness(DSH)裏做智能體或長對話開發時,常見問題是:新開一輪對話就丟掉偏好、約定和踩坑記錄,只能反覆口頭交代上下文。把「值得長期保留的結論」落到本機、並在後續對話裏自動召回,是比每次粘貼長 system prompt 更穩的做法。dsh-nodal-memory(上游倉庫包名 dsh-local-memory,v2)面向 DSH 桌面配置,也提供可雙擊運行的獨立界面,數據默認只在本機、可不聯網使用。

這是什麼

  • 目錄標識:SkillHub 上的 2132774831/dsh-nodal-memory,分類爲記憶;維護者 2132774831。
  • 一句話:DeepSeek Harness 純本地長期記憶 v2——SQLite 存儲、中文二元組檢索、記憶關係圖、可選語義檢索;也能當獨立軟件運行。
  • 版本與許可:package.json 中爲 2.6.1,MIT;v1 已停更,舊版見 dsh-memory-plugin。

核心功能

跨對話落盤與召回

插件讓對話中產生的長期結論寫入本地庫,後續會話由宿主側自動回憶 / 自動存儲(具體工具與路由在 src/host/)。默認不調用大模型、不需要 API key;數據路徑爲 ~/.dsh/dsh-local-memory.db,插件與獨立軟件共用同一庫。

中文檢索(二元組 + FTS5)

SQLite FTS5 默認分詞對中文不友好;v2 寫入時額外生成二元組切分列(例:我喜歡喫牛肉麪 → 我喜 喜歡 歡喫 喫牛 牛肉 肉面),兩字詞可命中且減少過度匹配。排序爲:

score = relevance × importanceFactor × decay × usageBoost

decay 按類別設半衰期(工作 365 天 / 偏好 730 天 / 情感 60 天);usageBoost 用對數抑制高頻霸榜;陳舊條仍可搜到但後移,精確命中不丟棄並可標記時效警告。

類別與補標

寫入時按本地詞表粗分 工作 / 偏好 / 情感,證據不足爲「未分類」;類別影響半衰期。DSH 設置裏「本地記憶」分區可做列表與補標;誤判可在補標頁修改。

記憶關係圖

五種確定性關係自動連線(無需 API key):共現(同次檢索同時命中)、共享標籤(idf 加權)、語義相近(向量餘弦,需可選 embedding)、同項目、時間相鄰。界面支持力導向聚簇、孤立與疑似衝突標記。

直覺頁

「該想起的」側重重要且久未使用;「疑似衝突」只給候選與理由,不自動改數據。

一套 UI、兩個入口

關係圖、卡片、聯想、直覺、設置等完整界面只在獨立軟件 app/ 維護。DSH 插件側爲輕量設置 +「打開完整記憶界面」:宿主 /dsh-local-memory/open 檢測實例、必要時用 DSH 自帶 Node 拉起服務再跳轉;單實例鎖、閒置約 10 分鐘自動關閉(上游 DSH 退出後,有輪詢請求則暫不收)。

可選語義檢索

關閉時關鍵詞檢索照常。開啓後在設置頁配置 OpenAI 兼容 embedding 端點(例:https://api.siliconflow.cn/v1,模型 BAAI/bge-m3);僅發送記憶正文與查詢詞。DeepSeek 官方無 /embeddings,其 key 不能用於此處。失敗自動降級爲關鍵詞檢索。

安裝與啓用

作爲 DSH 插件

裝完後必須重啓 DeepSeek Harness(運行中實例不熱加載插件)。

# 從本地目錄
dsh plugin --profile desktop add <本倉庫絕對路徑>

# 或從 tarball
dsh plugin --profile desktop add ./dsh-local-memory-2.0.0.tgz

重啓後在 DSH 網頁端 → 設置 → 左側 「本地記憶」(settings.section,order 28)。

作爲獨立軟件

node app/server.mjs --open

或雙擊倉庫內 啓動記憶軟件.cmd(壓縮包中爲 start.cmd)。端口由系統分配,實例信息寫在 ~/.dsh/local-memory/instance.json。首次啓動自動建庫。

從 v1 遷移:

node scripts/migrate-v1.mjs --from ~/.dsh/dsh-local-memory.json

運行環境:engines.node 要求 >= 20。

典型用法

  1. 安裝插件並重啓 DSH,在設置 → 本地記憶查看列表或補標。
  2. 需要關係圖 / 直覺頁時,點「打開完整記憶界面」,或單獨運行 node app/server.mjs --open。
  3. 需要「換說法也能搜到」時,在獨立軟件設置頁填 embedding 端點,再執行「給歷史記憶補向量」。

配置與數據位置:

項 位置
記憶庫 ~/.dsh/dsh-local-memory.db
插件配置 ~/.dsh/dsh-local-memory.v2-config.json

適用場景與注意

適合:希望 DSH 對話跨項目保留本機記憶、又要在瀏覽器裏管理關係圖與衝突候選的開發者;也可不裝 DSH,僅用獨立軟件管理同一格式數據。

注意:

  • DSH 插件在當前 dsh 進程權限下運行;安裝前請自行審閱 GitHub 源碼 與 MIT 許可證。
  • SkillHub 爲社區目錄,與 DeepSeek / 幻方無官方從屬關係;安裝命令以上游 README 爲準,勿憑倉庫名臆造 dsh plugin add github:... 形式。
  • v2 暫不提供 v1 的 Markdown / Kun / Hermes 導入導出;需可先 v1 導出再 migrate-v1.mjs。
  • 可選語義檢索會訪問你配置的兼容端點,其餘默認不聯網。

結尾

dsh-nodal-memory 把長期記憶固定在 SQLite、用二元組改善中文檢索,並用關係圖與直覺頁做本地可解釋的聯想與衝突提示;插件負責接口與跳轉,完整界面與單實例生命週期由獨立軟件統一維護。查閱目錄頁 SkillHub 與倉庫 GitHub 獲取最新說明與發佈包。

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

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

小夜