前言¶
DeepSeek Harness (DSH) 插件生态强调“一切皆插件”。在构建或使用智能体时,长期记忆的留存与检索是常见痛点。向量数据库往往需要额外部署,托管服务涉及数据所有权,而会话蒸馏插件通常局限于单次会话或难以手动干预。
dsh-markdown-memory 试图解决上述问题,它将长期记忆降维为一个普通的 Markdown 文件夹,让所有熟悉文件操作的开发者都能直接掌控记忆的存储与读取。
核心功能¶
该插件将记忆目录挂载为系统提示的一部分,每个持久化事实对应一个 Markdown 文件,通过 YAML frontmatter 存储元数据。
- 零基础设施:无需守护进程、数据库、账号或嵌入管道。直接指向一个文件夹即可运行。
- 人类拥有:记忆以纯文本形式存储。你可以直接读取、编辑、执行
git diff或删除,记忆的所有权完全属于你。 - 代理无关:基于文件格式而非桥接协议。任何能读取文件的代理都能访问这份记忆,无需迁移数据。
- YAML frontmatter 支持:支持
name、description和自定义metadata。 - 索引文件支持:默认
MEMORY.md作为索引文件,记录所有记忆。 - 递归文件列表:支持递归列出目录下的文件。
- 触发器检索:支持在会话步骤中根据关键词(trigger)按需召回记忆。
- 会话种子记忆:支持在会话开始时注入关键事实。
- 去重机制:在会话日志中自动去重,避免重复注入。
- Obsidian 挂载:可以直接挂载现有的 Obsidian vault 作为记忆源。
- 忽略模式:支持通过
.obsidian、.git、.trash、node_modules等忽略模式过滤文件。
安装与启用¶
在终端中执行以下命令安装插件:
dsh plugin --profile <name> add dsh-markdown-memory
安装后,需要在配置文件中指定记忆目录的绝对路径。配置项包括 path、indexFile、maxBytes、sectionOrder 以及控制递归和文件数量的参数(如 maxFiles、maxDepth)。
典型用法¶
配置示例¶
在 cordis.patch.yml 中添加配置,指定记忆目录路径:
- id: markdown-memory
name: dsh-markdown-memory
config:
path: /absolute/path/to/your/memory
indexFile: MEMORY.md
maxBytes: 32768
sectionOrder: 120
recursive: true
ignore: ['.obsidian', '.git', '.trash', 'node_modules']
maxFiles: 500
maxDepth: 8
recall: true
maxRecallPerStep: 3
caseSensitiveTriggers: false
挂载 Obsidian Vault¶
如果你已有 Obsidian vault,可以直接将其作为记忆源挂载:
- id: markdown-memory
name: dsh-markdown-memory
config:
path: /absolute/path/to/YourVault
indexFile: Home.md
模型将获得 vault 的根目录索引以及所有笔记的相对路径,支持使用 [[wikilink]] 进行引用。
设置种子记忆¶
对于需要在会话开始时即持有的关键事实,可在文件 frontmatter 中添加 seed: true:
---
name: deploy-ritual
description: the release steps that must not be reordered
metadata:
seed: true
---
Never reorder the migration step ahead of the backup step.
设置触发器¶
对于需要按需检索的记忆,可在 frontmatter 中定义 triggers:
---
name: deploy-ritual
metadata:
triggers:
- deploy
- release checklist
---
Never reorder the migration step ahead of the backup step.
注意事项¶
- 绝对路径:记忆目录必须配置绝对路径,缺失或非目录会导致加载失败。
- 会话刷新:对索引文件或记忆文件的编辑,在下次会话开始前不会生效,需要重启会话才能看到变更。
- 大仓库优化:对于包含大量文件的 vault,建议同时调高
maxFiles和maxBytes参数,以容纳完整的文件列表。 - 文件类型限制:只有
.md文件会被列入索引,其他文件类型(如附件)会被忽略。 - 触发器匹配:触发器匹配为字面子串匹配,默认不区分大小写。
总结¶
dsh-markdown-memory 将记忆回归为文件系统中的文件。它不引入额外的复杂组件,利用现有的文件管理习惯,让记忆的存储、编辑和版本控制变得透明且可控。对于追求数据自主权和轻量化部署的开发者,这是一个务实的长期记忆解决方案。
插件目录:https://www.skillhub.cn/plugins/SYMlp/dsh-markdown-memory
源码地址:https://github.com/SYMlp/dsh-markdown-memory