dsh-plugin-obsidian-memory:让 Harness Agent 读写你的 Obsidian 库

前言

在 DeepSeek Harness(DSH)里做智能体开发时,常见问题不是「模型不够强」,而是上下文里缺少你可核查的个人知识:笔记在 Obsidian 里已经积累很多,对话里却要一次次口头重复背景;检索不到就要靠模型猜,引用也对不上真实文件。社区目录将 nineberg/dsh-plugin-obsidian-memory 归为「记忆」类插件,定位是让 Agent 能检索本地 Obsidian 库、按路径引用笔记,并把会话产出写回库中。仓库由 nineberg 维护,是 zhaoxuejie/dsh-plugin-vault-memory(v0.4.0,MIT)的改良分支,并针对 DeepSeek Harness 0.2.2-rc.1 做了兼容与 GUI 调整;npm 包名仍为 dsh-plugin-vault-memory,当前版本 0.4.0,许可证 MIT。

这是什么

一句话:把本地 Obsidian vault 变成 DSH web 侧 Agent 的长期记忆与工作台——索引与检索、新会话记忆注入、捕获存笔记、可拖拽悬浮球/中央面板,以及库健康巡检。索引、检索与巡检默认在本机完成;语义检索可选用本地 Ollama(bge-m3)或兼容的云端端点。

相对上游,nineberg 分支在资料中列出的主要修复包括:进程级单次 HTTP 路由注册(避免重挂载后旧路由导致 GUI 报 “index missing”)、路由注册重试(避免挂载早于 webServer 就绪的 404)、配置保存在无旧版 settings API 时回退到 ~/.dsh/vault-memory.settings.json,以及悬浮卡片与 plugin-island 生态的交互与错误角标调整。

核心功能

Agent 工具集

在对话里用自然语言即可触发能力;规则是引用必须带笔记路径,找不到则明确说明,不编造。README 中的对照示例如下(背后实现以插件为准):

你想做什么 直接说 背后
翻旧笔记 “库里有没有 Docker 相关笔记?” 全文检索(中文分词)
按条件找 “查 tools/ 下近 30 天改过的笔记” 结构化查询(目录/标签/时间)
读某篇全文 “把《Git 合并》笔记读给我” 带行号读取
意思相近的 “搜跟 Windows 命令行相关的” 语义检索(本地模型,可选)
关联推荐 “这篇笔记跟哪些有关联?” 入链/出链/同标签/共引,带理由
保存成果 “把这段整理成笔记存进库” 自动 frontmatter + 关联建议
体检 “库里有孤儿/断链吗?” 只读巡检报告

新会话开头可自动注入「记忆快照」(库状态、活跃项目、近期笔记),减少每次从零介绍背景。

知识库 GUI(web)

面向 web profile:悬浮球、侧栏「知识库」图标、以及与 Plugin Island 的灵动岛收纳/拖出,三种形态数据同源、位置可记忆。悬浮球在库有异常时可显示红色计数徽标;卡片与中央面板共用四个 Tab:

  • 概览:各库健康(笔记数、断链、待审、趋势、语义状态等)
  • 捕获:预览 → 保存 → 在 Obsidian 打开
  • 审查:巡检建议逐条批准/忽略;批准前自动备份
  • 配置:在线增删库与开关,保存即生效

巡检管家

默认每日 03:00 可配置的定时巡检,生成带理由的建议清单(孤儿笔记、断链、缺总览等)。只建议、批准后才写盘,写前自动备份;忽略后同类建议可在配置的天数内(资料示例为 30 天)不再提醒。可选高级规则(需语义嵌入)包括语义相近未互链、疑似重复、过期复审等。

安装与启用

插件以当前 DSH 进程权限访问你配置的 vault 路径,安装前建议查看 GitHub 仓库 源码与 MIT 许可声明。

npm 安装(README 推荐)

# 安装到 web profile(装完需完全重启 dsh,不是仅刷新页面)
dsh plugin --profile web add dsh-plugin-vault-memory

配置 Obsidian 库路径

在插件设置页添加,或编辑 ~/.dsh/settings.yaml:

dsh-plugin-vault-memory:
  vaults:
    - path: D:\path\to\your-vault   # Obsidian 库绝对路径
      label: main                    # 可选:显示名称

完全重启 dsh 后,浏览器右下角应出现书本图标悬浮球,左侧栏出现「知识库」图标,即表示 web 客户端侧已加载。

可选:语义检索

ollama pull bge-m3

在浮卡「配置」中开启语义检索并保存;新笔记会自动嵌入。不可用时插件会回退到关键词检索。

典型用法

  1. 问库内事实:例如「库里有没有 Docker 相关笔记?」——应返回命中列表并带文件路径,而非无出处概括。
  2. 结构化筛选:例如限定目录与时间窗口的查询,适合按项目文件夹维护笔记的习惯。
  3. 收尾存库:对话里要求「把这段整理成笔记存进库」,会走 frontmatter 与关联建议;若提示「同名已存在」,README 说明为不覆盖设计,需换标题或目录。
  4. 定期体检:在「审查」Tab 处理孤儿/断链等建议,仅在你批准后改盘。

上游文档链接(功能演进以 nineberg 分支 README 为准):使用教程、设计与开发文档。

适用场景与注意

适合谁:已在 Obsidian 中维护个人/项目知识库、希望在 DSH web 环境里让 Agent 可查、可引、可回写 同一套 Markdown 的开发者或重度笔记用户。

环境要求:面向 web profile 客户端(package.json 中 dsh.client.platform 为 web)。未看到悬浮球/侧栏时,资料建议完全重启 dsh,或清除浏览器 localStorage 后刷新;检索提示「未配置 vault」时需在浮卡「配置」中添加库路径。

权限与隐私:笔记默认不出本机;云端语义端点为可选项。插件能读写的范围等于你配置的 vault 路径及 DSH 进程权限,请勿指向无意共享的目录。

生态说明:DSH 采用「一切皆插件」的扩展方式;SkillHub 目录页 为社区收录,与 DeepSeek / 幻方无官方从属关系。

结尾

nineberg/dsh-plugin-obsidian-memory(npm:dsh-plugin-vault-memory)把 Obsidian vault 接到 Harness Agent 的工具链与 web GUI 上:检索与引用有路径约束,产出可捕获回库,巡检在批准与备份前提下整理库结构。进一步了解请查看目录页 nineberg/dsh-plugin-obsidian-memory 与源码仓库 https://github.com/nineberg/dsh-plugin-obsidian-memory。

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

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

Xiaoye