DeepSeek Harness 长期记忆插件介绍

前言

DeepSeek Harness 提供了智能体开发的框架,但原生并不包含长期跨会话记忆的能力。在处理多轮对话或长时间运行的任务时,上下文窗口有限,无法保留关键信息。wwskills/dsh-long-memory 插件通过 SQLite 数据库和全文检索技术,为 DSH 提供了持久化的记忆层。

插件简介

该插件由 wwskills 维护,基于 MIT 许可证开源。它解决了 DSH 在长期对话中记忆丢失的问题,支持通过 SQLite 存储、FTS5 全文检索以及可选的 Embedding 向量召回来管理记忆。插件采用单包双面打包架构,同时包含 Node.js 服务端逻辑和浏览器 UI 组件。

核心功能

插件的核心能力集中在记忆存储、自动提取与规则进化三个方面。

存储与召回

  • SQLite 数据库存储:使用 SQLite 作为底层存储,数据持久化。
  • FTS5 全文检索:内置 FTS5 扩展,原生支持中文全文检索,无需额外配置即可使用。
  • Embedding 向量召回:支持可选的 Embedding 模型,可与 Ollama(本地零成本)或 OpenAI 兼容的 API 结合。开启后采用 BM25 + 向量 + RRF 融合排序。
  • 文件追踪:自动生成 MEMORY.md 会话标记和 memory/YYYY-MM-DD.md 日记文件。

自动记忆提取

  • L7 自动提取:利用 DSH 的 LLM 提供商自动从对话中提取记忆,支持配置置信度阈值,低于阈值的项目进入确认队列。
  • Keyword 回退机制:当 LLM 不可用时,自动切换到基于正则的关键词提取模式。
  • Confirm Queue 确认队列:低置信度的记忆不会直接写入,而是进入队列等待用户确认。
  • Supersession 自动覆盖:当新提取的记忆与旧记忆重叠时,自动标记旧记忆为已覆盖(superseded)。

自进化学习

  • 信号词检测:实时监听“不对”、“错了”、“应该是”等信号词,捕获用户的纠正。
  • 错误捕获:自动捕获工具执行错误 (tools/result) 和 Harness 级别的错误 (agent/error) 作为学习素材。
  • 规则生命周期:纠正信息可被提取为规则,经历“提议 -> 批准 -> 拒绝 -> 归档 -> 推广至 Agent”的完整生命周期。
  • 规则注入:已批准的规则会通过 agent/pre-step 事件注入到 Agent 上下文中,限制在 800 token 预算内。
  • 用户画像构建:基于 USER 类型记忆自动构建技术栈、编码风格等用户画像。

浏览器界面与 API

  • 侧边栏与多标签页:提供可调节宽度(160-360px)的侧边栏,包含记忆、规则、画像等 4 个标签页。
  • Web API:提供 RESTful 接口,支持对记忆、规则、确认队列进行增删改查操作。

安装与配置

安装需要确保系统环境满足要求:Node.js >= 22.5 且 DeepSeek Harness >= 0.1.0-rc.2。

安装

执行以下命令安装插件:

dsh plugin --profile web add @wwskills/dsh-long-memory

配置示例

插件的配置项较多,默认值通常可用。以下是关键配置的示例:

Embedding 配置

- id: long-memory
  config:
    embedding:
      provider: 'ollama'          # 'none' | 'ollama' | 'openai-compatible'
      model: 'bge-m3'
      dimension: 1024
      ollama:
        base_url: 'http://127.0.0.1:11434'

L7 自动提取配置

- id: long-memory
  config:
    l7:
      enabled: true               # 启用自动记忆提取
      auto_extract: true          # 使用 LLM + 关键词回退
      confirm_threshold: 0.6      # 低于此置信度的记忆进入确认队列

自进化学习配置

- id: long-memory
  config:
    corrections:
      signal_words:               # 触发纠正捕获的关键词
        - '不对'
        - '错了'
        - '应该是'
      promote_threshold: 5        # 提取规则的最小纠正次数
      rule_token_budget: 800      # 规则注入上下文的 Token 预算

存储路径

数据默认存储在 ${DSH_HOME}/long-memory/ 目录下,包含数据库文件和 Markdown 文档目录。

工具列表

插件提供了 8 个命令行工具用于管理记忆:

工具名 功能说明
mem_search 在记忆库中进行 FTS5 或混合检索
mem_record 手动持久化一条记忆,自动检测作用域
mem_status 查看存储和检索状态
mem_stats 查看记忆统计信息
mem_forget 归档或删除记忆,写入审计日志
mem_confirm 处理待确认的敏感记忆
mem_scope_list 列出所有作用域
mem_scope_set_active 设置当前活跃的作用域过滤器

Web API 接口

通过 RESTful API 可以脱离浏览器界面进行管理。主要接口如下:

方法 路径 功能
GET /plugins/dsh-long-memory/api/memories 列出记忆
PUT /plugins/dsh-long-memory/api/memories/:id 归档记忆
DELETE /plugins/dsh-long-memory/api/memories 删除记忆
GET /plugins/dsh-long-memory/api/memories/stats 记忆数量统计
GET /plugins/dsh-long-memory/api/confirm-queue 获取待确认队列
POST /plugins/dsh-long-memory/api/confirm-queue 确认/拒绝记忆
GET/POST /plugins/dsh-long-memory/api/config 获取/保存配置
GET /plugins/dsh-long-memory/api/corrections 列出纠正记录
POST /plugins/dsh-long-memory/api/corrections/:id/extract 将纠正提取为规则
GET /plugins/dsh-long-memory/api/rules 列出规则
POST /plugins/dsh-long-memory/api/rules/:id/approve 批准规则
POST /plugins/dsh-long-memory/api/rules/:id/reject 拒绝规则
POST /plugins/dsh-long-memory/api/rules/:id/promote 推广规则至 AGENTS.md

注意事项

  • 运行环境:插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。
  • 依赖版本:必须满足 Node.js >= 22.5 和 DeepSeek Harness >= 0.1.0-rc.2 的版本要求。
  • 单包双面:插件将 Node.js 服务端逻辑与浏览器 UI 打包在一起,无需单独部署服务端。

结语

wwskills/dsh-long-memory 通过 SQLite、FTS5 和 L7 提取机制,为 DeepSeek Harness 提供了完整的长期记忆解决方案。结合自进化学习功能,它不仅能存储信息,还能根据用户的纠正不断优化 Agent 的行为。对于需要长期运行或处理复杂上下文的智能体开发场景,该插件是必要的组件。

更多详情可查阅:插件目录页 或 GitHub 仓库。

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

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

小夜