前言¶
DeepSeek Harness (DSH) 的设计理念是「一切皆插件」。在开发智能体或使用 DSH 进行对话时,对话上下文有限,长期记忆是刚需。viya-memory 是一个 DSH host 插件,它不依赖外部数据库,而是将记忆实体化为 Markdown 文件,直接存储在你本地的 Obsidian vault 里。这意味着数据完全属于你,且天然支持 Obsidian 的图谱、双向链接和搜索功能。
插件简介¶
viya-memory 是一个单文件、零构建、零外部依赖的插件(仅依赖 DSH 自带的 @deepseek-ai/schemastery)。它提供七个模型可调用的工具,将卡片以 Markdown + YAML frontmatter + 双链的形式落盘。作者为 MengXinSu,许可证为 MIT。
安装与启用¶
在终端中执行以下命令安装:
dsh plugin --profile <你的 profile 名> add github:MengXinSu/dsh-viya-memory
安装完成后,必须配置 library 路径,否则第一次调用工具时会直接报错。host 插件改动后,需要重启 DSH 才能生效。
配置¶
在 DSH 的 profile 配置文件(通常是 cordis.patch.yml)中添加如下配置:
- id: viya-memory
name: viya-memory
config:
# 必填:你的 Obsidian vault 绝对路径
library: '/home/you/Obsidian/MyVault' # Windows: 'D:\Obsidian\MyVault'
# 可选:常驻 prompt 文件,默认回落到 <vault>/user.md
userFile: ''
# 正文软限(字),超了只提示
softLimit: 1000
# 正文硬限(字),超了报错
hardLimit: 4000
# 检索结果总字符预算
searchBudget: 2000
# 是否开启敏感扫描(默认 true)
sensitiveScan: true
核心能力¶
插件提供七个核心工具,覆盖记忆的增删改查与关系管理:
memory_save:新建记忆卡片。同名卡若内容高度重合则跳过,否则追加更新。正文中的本地图片会自动搬运至_assets/目录。memory_search:全文检索。支持空格/通配符,返回标题、路径、标签和摘要。memory_read:读取卡片全文、状态、更新时间和引用关系。memory_update:更新指定卡片的内容、标签、状态等,保留created时间。memory_link:建立两张卡片的关系(如 causes、explains)。双向写入,确保两边都有链接。memory_forget:删除记忆。两步操作:先预览(confirm: true才执行),支持软删进_trashed/或永久删除。memory_stats:体检库状态,包括卡数分布、超长卡、死链、重名卡等。
此外,插件具备以下特性:
* 原子写入:使用临时文件 + 重命名机制,保证数据一致性。
* 不覆盖手改:写入前比对文件的 mtime,防止被旧内容覆盖。
* 自动补全:自动为卡片补充 aliases,确保 [[卡片标题]] 在 Obsidian 中可正常解析。
* 安全防护:写入前扫描密钥特征(拒绝入库),并拒绝路径穿越攻击。
典型用法¶
在配置好 library 后,可以在 DSH 的 prompt 或脚本中调用这些工具。
1. 常驻 Prompt 配置
在 vault 根目录编写 user.md,插件会将其内容注入 system prompt 末尾。这里适合放置称呼、禁忌、偏好等低频变化的内容。
2. 记忆存储与搜索
- id: viya-memory
config:
library: '/path/to/vault'
tools:
# 保存一条新知识
- memory_save(title: "DSH 插件开发规范", content: "必须配置 library 路径...", kind: "Knowledge")
# 搜索相关记忆
- memory_search(query: "DSH 配置", limit: 5)
3. 管理关系
# 建立两张卡片的关联
- memory_link(source: "DSH 插件开发规范", target: "viya-memory 插件", type: "part_of")
注意事项¶
- 首次调用报错:确保
library路径配置正确,否则插件无法初始化。 - 权限与重启:插件以当前 DSH 进程的权限运行,修改配置后需重启 DSH。
- 限制说明:正文软限 1000 字,硬限 4000 字;搜索预算默认 2000 字符。
- 依赖项:插件依赖 DSH 内置的
@deepseek-ai/schemastery。
结语¶
viya-memory 将 AI 的短期记忆转化为持久的本地文件,适合需要长期沉淀知识、且注重数据隐私和本地可控性的开发者。所有代码开源在 GitHub,欢迎查看。