dsh-local-memory:DeepSeek Harness 的跨項目長期記憶插件

前言

DeepSeek Harness (DSH) 的核心設計理念是插件化。Hindsight 是其底層記憶組件,原生的庫管理是平級的,沒有層級結構。這給開發者帶來了一個選擇兩難:要麼所有項目共用一個庫,獲得全局視角但犧牲項目隔離;要麼每個項目一個庫,保持隔離但總視角永遠爲空。此外,原生庫列表無法區分“未使用的項目”和“未創建的庫”,導致無法診斷缺失的記憶。

dsh-local-memory 插件保留“每項目一庫”的隔離模型,同時提供跨庫聚合的視圖。它解決了總視角缺失的問題,並提供了診斷工具,能夠掃描工作區,找出尚未建立記憶的 git 倉庫。

功能

本插件提供以下核心能力:

  • memory_projects:列出全部項目,標出哪些有記憶、哪些還沒有。它會掃描工作區中的 git 倉庫,推導每個項目對應的庫名,並與實際存在的庫進行對比。
  • memory_banks:列出所有項目記憶庫,包含規模(事實數)與活躍度(最後寫入時間)。
  • memory_recall_all:跨庫查詢,結果按項目分組顯示。支持通過 banks 參數指定查詢範圍。
  • memory_seed:給還沒有記憶的項目直接建庫。支持從 git 歷史播種,無需先開一次會話。支持 memory_seed({ all: true }) 批量處理。
  • 圖形界面:在 DSH 的設置 -> 本地記憶中,提供項目總覽、庫列表勾選、跨庫查詢和一鍵建立/更新記憶的功能。

安裝與啓用

在終端執行以下命令安裝:

dsh plugin --profile web add github:AllenWES365/dsh-local-memory

安裝後需要重啓 DSH,並在 設置 -> 本地記憶 中查看界面。

前置條件

本插件依賴 Hindsight 記憶服務,必須先安裝並配置好。

  1. 安裝 Hindsight 插件:
    dsh plugin --profile web add @vectorize-io/hindsight-coding-agents
  1. 配置 Hindsight 爲本地守護進程模式。編輯 ~/.hindsight/coding-agent.json,確保內容爲:
    { "serverMode": "daemon" }
**注意**:不要添加 `bankId`、`retainTags` 等字段,否則會強制共用一個庫,破壞項目隔離。
  1. 配置 LLM Key。LLM 的 API Key 必須通過環境變量傳遞給 daemon:
    export HINDSIGHT_API_LLM_PROVIDER=deepseek
    export HINDSIGHT_API_LLM_MODEL=deepseek-v4-flash
    export HINDSIGHT_API_LLM_API_KEY=...
配置後需要開啓新終端或重新加載環境變量。

典型用法

掃描項目狀態

在終端使用 memory_projects 命令,查看工作區中哪些項目還沒有記憶,哪些已經落後:

memory_projects

輸出會顯示:
* 有記憶的項目及其庫的狀態(如是否來自 git 歷史、是否停在舊提交)。
* 尚無記憶的 git 倉庫(這些可以直接播種)。
* 目錄裏存在但對應不到項目的庫(“來歷不明的庫”)。

跨庫查詢

使用 memory_recall_all 在所有庫中搜索問題。它會將結果按項目分組,並顯示耗時:

memory_recall_all 這個項目用什麼數據庫?

批量建立記憶

對於大量沒有記憶的 git 倉庫,可以使用 memory_seed 進行批量播種:

memory_seed({ all: true })

這會在後臺運行 Hindsight 的 deepen.js 引擎,將 git 歷史轉化爲記憶庫。

注意事項

  • 未發佈到 npm:由於尚未發佈到 npm,安裝時必須使用 GitHub 地址,不能使用 dsh-local-memory 這樣的簡寫。
  • 庫名規則:庫名由前綴 coding-agent:: 和項目目錄名組成。例如,目錄 /Volumes/SSD-2TB/project/verify 對應的庫名爲 coding-agent::verify。
  • 視圖與副本:memory_recall_all 返回的聚合結果是一份視圖,不是第二份副本,因此沒有數據同步的問題。
  • 性能成本:查詢成本主要由庫的規模(事實數量)決定,而非庫的數量。對於大庫,建議在 memory_recall_all 中指定 banks 參數縮小範圍。
  • 非 Git 目錄:對於非 git 倉庫的目錄,只有在裏面開一次會話纔會建立記憶,無法通過 memory_seed 播種。

結尾

dsh-local-memory 插件通過提供跨庫聚合視圖和項目級診斷工具,填補了 Hindsight 在多項目場景下的管理空白。它將“不知道去哪找”的缺失記憶,轉化爲可操作的“建立記憶”按鈕。源碼與更多細節請訪問 GitHub 倉庫。

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

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

小夜