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

链接

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

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

小夜