dsh-local-memory:DeepSeek Harness 本地跨會話記憶插件

前言

在 DeepSeek Harness(DSH)的開發場景中,模型上下文窗口有限,對話結束後的記憶往往無法保留。手動維護上下文既繁瑣又容易丟失關鍵信息。dsh-local-memory 插件通過本地文件系統實現了跨會話記憶的持久化。

該插件由 caopu16 維護,屬於記憶類插件。它的核心價值在於:自動捕獲每輪對話摘要,將近期記憶注入當前上下文,並提供一個基於關鍵詞的檢索工具,供模型在需要時主動召回歷史信息。

核心功能

該插件主要提供三項能力:

1、capture(捕獲)
每輪對話結束(turn/end)後,將用戶與助手的對話內容摘要爲 markdown bullet 格式,並追加寫入項目目錄下的 .memsearch/memory/YYYY-MM-DD.md 文件中。

2、inject(注入)
在每輪對話的第一步,自動注入最近 injectDays 天的記憶快照(默認爲 2 天)。這使得模型在處理新話題時,能夠即時獲得短期上下文。

3、memory_search(檢索)
提供 memory_search 工具,支持純 JS 關鍵詞匹配。與 inject 僅限於近期不同,該工具可以檢索全部歷史日文件,供模型在話題可能早於注入窗口時主動撈取信息。

安裝與啓用

官方推薦使用 DSH 的插件命令安裝。

# 已安裝 dsh CLI 時
dsh plugin --profile web add github:caopu16/dsh-local-memory

# 從 deepseek-harness 源碼運行時
cd /path/to/deepseek-harness
pnpm dsh plugin --profile web add github:caopu16/dsh-local-memory

安裝完成後,必須重啓 DSH 並新開一個會話,memory_search 工具纔會出現在工具列表中。已打開的會話不會自動獲得新工具。

配置

插件安裝後,由 bundle 自帶的 cordis.patch.yml 掛載。如果需要覆蓋默認配置,可以在 ~/.dsh/profiles/web/cordis.patch.yml 中 patch 同一行:

- id: local-memory
  name: 'dsh-local-memory'
  config:
    injectDays: 3
    searchMaxResults: 10
    provider: ''
    model: ''

主要配置項說明如下:

配置項 默認值 說明
captureEnabled true 是否捕獲新對話摘要
injectEnabled true 是否在每輪第 1 步注入記憶
searchEnabled true 是否註冊 memory_search 工具
injectDays 2 注入時回看幾個日文件
searchMaxResults 20 單次檢索最多返回的輪次塊數
captureMaxChars 24000 單輪原文送摘要器的字符上限
summarizeMaxTokens 1200 摘要的最大 token 數

典型用法

在正常對話中,插件自動運行,無需手動干預。capture 負責記錄,inject 負責補充上下文。

當話題涉及幾天前的內容(超出了 injectDays 的窗口)時,模型可以主動調用工具:

memory_search(query: "flyway V22", top_k: 5)

系統會遍歷所有歷史日文件,根據關鍵詞和子串匹配打分,返回包含日期、輪次標題和正文片段的結果。

技術實現與生態

該插件採用純 JS 和純文本實現,沒有 native 依賴。這意味着它不需要依賴 pymilvus、numpy 或 memsearch CLI,因此不會受到本地 CPU 架構(如未達到 x86-64-v2 基線)的影響。

在生態方面,它與 opencode 的 memsearch 插件保持兼容,共用 .memsearch/memory/ 目錄和錨點格式。兩者可以互讀,不會互相覆蓋。

項目結構

項目結構如下:

~/dsh-local-memory/
├── src/
│   ├── index.mjs       # 插件入口
│   ├── capture.mjs     # 摘要與寫入
│   ├── inject.mjs      # 記憶讀取與注入
│   └── search.mjs      # 關鍵詞檢索
├── lib/                # 構建產物
├── cordis.patch.yml    # DSH 補丁聲明
└── package.json

鏈接

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

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

小夜