dsh-memory:DSH 本地雙環長期記憶引擎

前言

在 DeepSeek Harness(DSH)裏做智能體或日常編程協作時,上下文窗口有限,而項目約束、偏好和歷史性決策又會不斷累積。如果把整段聊天記錄或整份 Markdown 記憶庫每輪都塞進提示詞,Token 會快速增長,關鍵約束容易被噪聲淹沒;若在對話前的 pre-step 裏依賴遠程 Embedding 或向量檢索,還會引入網絡延遲,斷網時甚至可能拖慢主流程。

社區插件 dsh-memory(維護者 ROSESSSSS66,GitHub ROSESSSSS66/dsh-memory)針對上述問題,把「在線召回」和「離線整理」拆成兩條環路:快環純本地、儘量零網絡;慢環在空閒時做蒸餾、衝突調和與策略演進,並配有每日 LLM 調用配額。下面介紹其定位、能力與在 DSH Desktop 上的掛載方式。

這是什麼

dsh-memory 是面向 DeepSeek Desktop (DSH) 的長期記憶插件(當前資料所示版本 v0.7.0,MIT 許可)。存儲側使用 Node.js 內置的 node:sqlite 與 FTS5 全文索引,在線路徑不依賴外部 Embedding API;檢索側組合 BM25、實體圖譜、類型/時間/偏好通道、128 維本地特徵向量與圖譜擴散等多路召回,再用動態 Token 預算裝箱後注入對話。

插件歸類爲 DSH 生態的「記憶」能力。社區目錄 SkillHub 條目 獨立於 DeepSeek / 幻方官方渠道,安裝前仍建議自行審閱源碼與許可證——插件以 當前 DSH 進程權限 運行,並可讀寫本地 SQLite 與工程上下文。

核心功能

在線快環(對話前注入)

快環掛在 DSH 集成層(如 pre-step 動態記憶注入、prompt-section 穩定層注入)。資料中的設計要點包括:

  1. 多路混合召回:七路併發(BM25、實體圖譜、類型意圖、時間衰減、偏好直通、128D 向量、GraphRAG 拓撲擴散等),經融合打分與去重後進入裝箱。
  2. Token 預算控制:governor 使用次模貪心式裝箱;README 稱記憶規模從 1,000 擴到 10,000 條時,單輪動態注入 Token 波動約 0.28%(默認動態預算 1600 tokens,穩定層默認 600 tokens)。
  3. 延遲:徽章與文檔給出的在線檢索 p95 約在 0.6~1.4 ms 量級(純本地,無在線 Embedding 請求);與 SkillHub 簡介中的「p95 < 1ms」表述一致。
  4. 常駐核心記憶:內置 Letta 風格的 human / persona / project 三塊;安裝或首次啓動時可自動初始化,高頻驗證的偏好可沉澱到核心層。
  5. 衝突與溯源:支持 supersedes 因果鏈、槽位去重;寫入前對敏感憑據做正則脫敏(README 安全章節)。

離線慢環(空閒自愈與演進)

慢環在會話空閒時調度,依賴可選的 OpenAI 兼容 LLM 做 distill-v2、reflect-v2、consolidate-v2、Mem0 式衝突調和、RIME 檢索修復、EvolveMem 策略實驗等。默認 每日硬配額:≤ 40 次調用 / ≤ 200,000 Tokens(ledger)。

未配置 LLM 時,README 強調 在線召回仍可在本地完成;慢環相關能力則無法充分運行。側欄 記憶中心 控制台可配置宿主內置模型或外部兼容端點,550ms 防抖自動落盤。

側欄與工具面

  • Claude Studio 風格側欄:遙測記憶水位、Memory Doctor 健康分、策略版本、配額等;界面設計僅保留「模型配置」主入口(README 說明由測試約束)。
  • 斜槓指令:聊天內 /memory 系列(如 status、doctor、heal、core、reconcile 等,文檔列出 20+ 子命令)。
  • 模型工具:聚合工具 memory,以及 memory_search、memory_note、memory_feedback 等,供智能體在推理中按需檢索或記筆記(memory_note 有每輪 ≤ 3 次限流)。

數據庫默認路徑:~/.dsh/storages/dsh-memory/memory.db。

快慢雙環如何協作

flowchart LR
  subgraph Fast["在線快環 · 無網絡依賴"]
    Q[用戶輸入] --> R[多路召回與融合]
    R --> G[Token 裝箱]
    G --> P[穩定層 + 動態層注入]
  end
  subgraph Slow["離線慢環 · 配額內 LLM"]
    E[會話與反饋] --> S[空閒調度]
    S --> D[蒸餾 / 調和 / 修復 / 策略進化]
    D --> DB[(SQLite WAL)]
  end
  Fast --> DB
  Slow --> DB
  Slow -.->|更新記憶與策略權重| Fast

快環負責每輪低延遲注入;慢環把結構化結果寫回同一 SQLite 庫,並可能調整檢索策略。負向反饋(文檔閾值 r ≤ -0.6)可觸發 RIME 修復入隊。

安裝與啓用

環境要求(README):Node.js ≥ 24.0.0(使用內置 node:sqlite,資料稱無需額外 C++ 編譯工具鏈)。

在本地準備好 dsh-memory 源碼目錄後,於該目錄執行依賴安裝與構建:

npm install
npm run build

構建產物包括 dist/index.js(服務端插件入口)、dist/client.js(側欄前端)、dist/eval-cli.js(評測 CLI)。postinstall 腳本也會在安裝階段參與初始化邏輯。

掛載到 DSH Desktop

編輯 DSH Desktop 補丁配置(文檔默認路徑 ~/.dsh/profiles/desktop/cordis.patch.yml),追加:

- insert:
    - id: dsh-memory
      name: dsh-memory
      config:
        enabled: true
        dynamicBudgetTokens: 1600
        stableBudgetTokens: 600
        dailyLLMCalls: 40
        dailyLLMTokens: 200000

在 ~/.dsh/profiles/desktop/package.json 中爲本地包添加軟鏈(路徑改爲你機器上的實際目錄):

{
  "dependencies": {
    "dsh-memory": "link:/path/to/dsh-memory"
  }
}

保存後 DSH 通過 HMR 加載插件,側欄出現記憶中心入口。SkillHub 頁面對安裝對象的表述爲「請安裝 DSH 插件 ROSESSSSS66/dsh-memory」,具體方式仍以上述 README 掛載步驟爲準。

配置離線慢環 LLM(可選)

慢環需要兼容 OpenAI 協議的 API。可在同一 config 下增加例如:

        llmBaseUrl: "https://api.example.com/v1"
        llmApiKey: "your-key"
        llmModel: "your-model-name"

README 示例中曾引用第三方中轉服務;你也可使用 DSH 宿主內置模型(側欄配置)。密鑰將進入本地配置,請勿提交到版本庫。

package.json 中的 peerDependencies 包括 @deepseek-ai/dsh(>=0.1.0-rc.7)、@deepseek-ai/cordis、@deepseek-ai/schemastery 等,需與當前 DSH 版本匹配。

典型用法

工作區冷啓動與體檢

首次使用或換工程後,可在聊天中執行:

/memory init

強制重掃時文檔提供 /memory init --force。查看分佈與配額:

/memory status

對庫做健康檢查並可加自動修復:

/memory doctor
/memory doctor --fix

維護核心記憶塊

查看或更新常駐塊(human / persona / project):

/memory core project
/memory core project 本項目使用 pnpm,開發端口 8080

開發與驗收

維護者倉庫提供門禁命令:

npm run check
npm run eval

文檔稱內置 120 條評測用例、npm run check 覆蓋 51 個測試套件、322 項測試;聊天內也可 /memory eval 做原地迴歸。

適用場景與注意

更適合:長期在單一 DSH Desktop 工作區內做項目協作、希望記憶留在本機、能接受 Node 24+ 與 Cordis 補丁掛載方式的開發者。

需要留意的點:

  1. 權限與隱私:記憶庫和工程掃描結果落在用戶目錄下的 SQLite;安裝前請閱讀源碼與 MIT 許可證,確認脫敏與數據路徑符合你的合規要求。
  2. 慢環成本:離線演進消耗 LLM Token,受 dailyLLMCalls / dailyLLMTokens 約束;不配置 LLM 時僅享受快環本地召回。
  3. 掛載方式:官方文檔以 本地 link: 依賴 + cordis.patch.yml 爲準,而非單純的「一條 marketplace 命令」;路徑需按操作系統填寫(README 示例含 Windows 風格路徑)。
  4. 生態定位:SkillHub 爲社區目錄,與「一切皆插件」的 DSH 理念一致,但不代表官方應用商店;倉庫當前 GitHub 1 star(截至撰稿所給線索),生產使用前建議自行跑 npm run check / npm run eval。

結尾

dsh-memory 把 DSH 對話裏的長期記憶做成「本地毫秒級快環 + 配額化慢環」的組合:快環用 SQLite FTS5 與多路召回控制注入體積;慢環在空閒時做提煉、調和與策略迭代。若你在找純本地、可解釋的 Agent 記憶方案,可以從目錄頁與倉庫 README 對照版本 v0.7.0 的配置項與 /memory 指令起步。

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

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

小夜