DSH Memory Vault(dsh-longterm-memory):把长期记忆存成本机 Markdown 仓库

前言

在 DSH 里做带上下文的对话或智能体时,常见做法是把「记忆」交给向量库或托管服务:数据格式不透明,召回过程也难对照。若你希望记忆可读、可编辑、可备份,并且完全落在本机磁盘上,社区插件 DSH Memory Vault(npm 包名 dsh-longterm-memory,维护者 bufan528)提供另一条路径:以 Obsidian 兼容的 Markdown 为唯一事实来源,配合侧边栏管理页、按 token 预算的召回,以及可崩溃恢复的变更日志。

下面介绍它是什么、能做什么,以及如何安装与上手。

这是什么

DSH Memory Vault · 长期记忆 是面向 DeepSeek Harness(DSH)的「记忆」类插件。它把长期记忆写成带 YAML frontmatter 的 .md 文件,放在你指定的 vault 目录;派生索引 .dsh-memory/index.json 可随时删除并由 Markdown 重建。插件注册一级侧边栏入口(非聊天标签页),向模型暴露四个工具,并在会话组装时按预算注入常驻记忆段。

当前公开版本为 0.1.4(MIT 许可证),项目状态为预览版(Preview);要求 DSH >=0.2.1-rc.2 <0.2.2、Node.js >=20。GitHub 仓库:bufan528/dsh-longterm-memory;社区目录页:skillhub.cn 插件条目。

核心功能

存储与索引

  • Markdown 为唯一事实来源:无专有格式、无单独导出步骤;可用 Obsidian 或任意文本编辑器阅读、双链与备份。
  • 索引可丢弃:.dsh-memory/index.json 为派生数据,丢失后可从 Markdown 完整重建。
  • Obsidian 兼容:仓库可含 .obsidian/、[[wikilinks]]、人类可读的 Index/ 等结构(详见仓库文档 docs/storage-format.md)。

模型侧接口

插件向模型注册四个工具(可通过配置关闭):

工具 作用(据 README)
memory_search 词法排序检索,支持类型/状态/标签过滤与 token 预算
memory_get 读取单条记忆
memory_save 写入记忆;会拒绝凭据类内容
memory_forget 遗忘/退役相关记忆

自动注入与 memory_search 共用同一召回引擎;注入仅使用当前事实,显式召回可包含已标注为历史的退役记忆。

管理界面与生命周期

  • 一级侧边栏页面:总览、检索、详情、管理、收件箱、设置等页签;管理页通过本机 HTTP RPC 与 Host 通信(仅回环 / 受信主机)。
  • 记忆生命周期:状态包括 pending → active → stale / superseded / archived / conflict;置信度 low / medium / high。低置信度与敏感内容进入 收件箱,需人工 确认入库 或 拒绝(0.1.3 起收件箱操作已修复)。
  • 自动提取:在真实 turn/end 边界做本地规则候选提取;可选的模型辅助提取默认关闭(enableLlmExtraction: false)。
  • 冲突与合并:矛盾事实并排保留;去重、补充、矛盾有确定性合并规则;冲突页支持 keep / merge / both。
  • 历史与崩溃安全:变更写入 journal(含前后摘要、原因、时间戳);写前 outbox 用于崩溃恢复;单文件原子写、文件锁与乐观 checksum 并发控制。

隐私与本地性

默认无遥测、无外联网络请求;Host 侧不依赖 @deepseek-ai/* 运行时包,仅使用传入的 Cordis context。除非开启模型辅助提取,否则不会把回合文本发给外部 Provider。

安装与启用

DSH 生态采用「一切皆插件」;DSH 插件市场(awesome-dsh-plugin.com)、dsh.works 社区注册表与应用内 插件市场(dshmarket)为独立社区目录,与 DeepSeek / 幻方无官方从属关系。本插件已列入上述目录(2026-10-19 收录,dsh.works 为 verified)。

任选一种安装方式:

方式 A — 应用内插件市场(桌面端推荐)

在 DSH 桌面应用打开 插件市场 / Plugin Market,搜索「长期记忆」或「DSH Memory Vault」,安装后按提示重启。

方式 B — npm(CLI)

dsh plugin --profile web add dsh-longterm-memory@latest

README 亦给出不带 profile 的形式:dsh plugin add dsh-longterm-memory@latest。使用 @latest 可安装当前最新发布版(文档记载为 0.1.4)。

方式 C — GitHub Release 的 tarball

gh release download --repo bufan528/dsh-longterm-memory --pattern "*.tgz" --dir .
dsh plugin --profile web add .\dsh-longterm-memory-0.1.4.tgz

(无 gh 时可从 最新 Release 手动下载。)

安装后打开 Web UI,在侧边栏进入 长期记忆 / Long-term Memory,选择或初始化 vault 目录。若未配置 vaultPath,插件会初始化默认位置(Windows 文档记载为 ~/Documents/DSH Memory);测试或隔离数据时建议在 profile 中显式指定路径。

可在 profile 的 cordis.patch.yml 中预先写入插件配置,例如:

- id: longterm-memory
  name: dsh-longterm-memory
  config:
    vaultPath: 'D:/path/to/DSH Memory'
    language: zh

典型用法

按官方「快速开始」,流程可概括为:

  1. 安装插件并打开侧边栏管理页。
  2. 点击 初始化 / Initialize,选择目录(已有 Obsidian vault 也可直接使用)。
  3. 通过 新建 / New 手工建记忆,或依赖回合结束时的本地规则自动提取;低置信度条目出现在 收件箱 / Inbox,确认后写入 active(low 会提升为 medium),拒绝则不写文件。
  4. 在对话中提出与记忆相关的问题:插件注入常驻记忆段,模型可调用 memory_search 等工具获取排序后的命中。
  5. 在 设置 / Settings 调整 token 预算、逐步召回、提取开关与界面语言(zh / en)。

记忆类别包括 profile、preference、project、project-state、decision、knowledge、experience、task 等;仓库目录结构见 README「仓库结构」一节。

常用配置项(均可选,默认值见下表;完整列表在 src/host/config.ts,通过 cordis.patch.yml 的 config 覆盖):

键 默认 含义
vaultPath 自动发现 / 初始化 记忆仓库绝对路径
language zh 界面语言(zh / en)
enableTools true 是否暴露四个模型工具
enablePromptSection true 是否注入常驻记忆段
standingBudgetTokens 700 常驻段 token 上限
standingMaxItems 12 常驻段条数上限
recallBudgetTokens 600 单次召回 token 上限
recallMaxItems 8 单次召回条数上限
enablePerStepRecall false 逐步注入检索记忆
enableAutoExtraction true 回合结束时本地规则提取
enableLlmExtraction false 模型辅助提取(使用你在 DSH 配置的 Provider)
redactSecrets true 拒绝凭据类候选
sensitiveNeedsConfirmation true 敏感类别需人工确认
maxCandidatesPerTurn 5 每回合提取候选上限

管理页还可通过 RPC 预览将注入的文本(如 previewStanding、previewRecall),便于核对模型实际收到的内容。

适用场景与注意

适合谁

  • 希望长期记忆以明文 Markdown 留存、并用 Obsidian 或 Git 做版本管理的 DSH 用户。
  • 需要可审计的召回预算(token/条数上限)和收件箱人工把关,而不是黑盒向量库一键写入的场景。
  • 在意本地优先、默认无遥测与无云端同步的部署方式。

使用前请知悉

  • 插件以 当前 DSH 进程的权限 读写 vault 与 journal;安装前请阅读 源码仓库 与 MIT 许可证,确认路径与敏感内容策略符合你的环境。
  • 项目为 预览版,API 与存储格式仍可能变化;engines.dsh 限定在 0.2.1-rc.2 至 0.2.2 之前,不支持 0.2.0-rc.2。
  • 注入内容在设计上被包装为不可信数据而非指令,但模型仍可能误用记忆;凭据类内容会在入库前拦截,敏感类别默认需确认。
  • 文档记载主要验证平台为 Windows;其他平台遵循 Node 路径规则,自行验证为宜。

结尾

DSH Memory Vault 把「Agent 记忆」收束成本机 Markdown vault:索引可重建、召回有预算、变更有 journal,并在侧边栏完成检索、收件箱与冲突处理。若你在 DSH 里需要可拥有、可编辑的长期记忆,可从社区目录或 npm 安装 dsh-longterm-memory@latest,再按快速开始初始化 vault 与预算。

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

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

Xiaoye