viya-memory:DeepSeek Harness 的本地长期记忆插件

前言

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

核心能力

插件提供七个核心工具,覆盖记忆的增删改查与关系管理:

  1. memory_save:新建记忆卡片。同名卡若内容高度重合则跳过,否则追加更新。正文中的本地图片会自动搬运至 _assets/ 目录。
  2. memory_search:全文检索。支持空格/通配符,返回标题、路径、标签和摘要。
  3. memory_read:读取卡片全文、状态、更新时间和引用关系。
  4. memory_update:更新指定卡片的内容、标签、状态等,保留 created 时间。
  5. memory_link:建立两张卡片的关系(如 causes、explains)。双向写入,确保两边都有链接。
  6. memory_forget:删除记忆。两步操作:先预览(confirm: true 才执行),支持软删进 _trashed/ 或永久删除。
  7. 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,欢迎查看。

GitHub 仓库

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

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

小夜