dsh-memvault: MemVault Memory Bridging Plugin for DeepSeek Harness

MemVault 是一个本地长期记忆服务,它是一个 SQLite 存储和 FastAPI/CLI 管道。但它是 stdio MCP 服务器,MCP 是“拉取”协议,服务器只能被调用,没有通道将内容放入模型上下文。因此,“记忆已加载”无法从 MCP 侧实现。必须由客户端完成,即这个插件。

插件定位

dsh-memvault 是 DeepSeek Harness 的一个记忆类插件。它旨在连接 MemVault 的存储层与 DSH 的上下文层。

维护者:zhang66633
许可证:MIT
分类:记忆

核心功能

该插件主要完成三个层面的工作:

  1. 注入(读)
    核心记忆块进入 system prompt。通过 ctx.systemPrompt.context() 实现动态运行时上下文贡献,使得模型在每一步都无需调用工具即可“拥有”这些记忆。

  2. 提取(写)
    完成的对话回合会积累在一个窗口中,该窗口会被作为一个完整的对话交给 MemVault 的提取/向量化管线。机制是通过 ctx.on('session/event') 监听 turn/end 事件,然后调用 python -m memvault.cli add --stdin。

  3. 展示(面板)
    提供一个真实的记忆面板。通过五个具体的 Host 路由(/memvault/api/*)提供界面。面板包含对话标签页和设置页面,支持查看当前注入内容、审查提取结果、编辑核心块以及浏览存储内容。

安装与启用

由于官方 CLI 安装命令在提供的资料中未核实,请通过以下方式手动安装:

  1. 克隆仓库:git clone https://github.com/zhang66633/dsh-memvault.git
  2. 插件为纯 ESM 模块,无打包器依赖,无需额外构建步骤。
  3. 在 DeepSeek Harness 的插件配置中引用该模块路径。

使用说明

使用前需要确保 MemVault 的 Python 管道(CLI 子进程)正在运行,并且本地存在 memvault.db 文件。

  1. 配置路径
    在记忆面板中,确认当前使用的存储文件、插件状态文件、Python 脚本目录以及项目目录是否正确。面板会显示哪些 Scope 是只读的,哪些是可写的。
  2. 查看与编辑
    在“记忆”标签页中,可以查看当前注入到系统提示词中的核心块。支持编辑和删除操作,也可以创建新的核心块。
  3. 审查与追踪
    通过提取结果页面,可以查看最近五次的提取产出。点击具体的记忆条目,可以打开 MemVault 的审计链(history)和关系图(relations)。支持标记需要审查的条目,并直接复制修正请求。
  4. 浏览存储
    在存储浏览视图中,可以通过子字符串搜索内存表,支持按类型和 Scope 过滤,分页显示。可以查看每条记忆的类型、范围、年龄和 ID。

注意事项

  • 运行时依赖:插件本身零运行时依赖,仅使用 Node.js 内置模块(node:sqlite, node:child_process, node:fs)。
  • 数据库访问:插件以只读模式直连 SQLite 数据库,不依赖额外的 HTTP 服务器。
  • 重启安全:等待窗口(有界渲染的对话记录)会在每个回合结束时写入状态文件,因此回合之间的重启不会导致记忆丢失。
  • 后台提取:提取操作在会话空闲时运行(例如用户暂停等待回答时),不在模型等待回答的关键路径上,且一次调用可覆盖多个回合。

生态背景

DeepSeek Harness 的理念是“一切皆插件”。该插件是 MemVault 的 DSH 特定层,它与 MemVault 本身的通用 MCP 服务是解耦的。安装此插件后,记忆不再是模型需要“记住”去查找的东西,而是已经加载好的上下文。

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

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

Xiaoye