证据快照复核于 2026-09-10GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle文件与文档Web ProfileHeadless Profiletui Profile

dsh-obsidian

让 DeepSeek Harness agent 通过文件系统操作本地 Obsidian vault。

快速了解

它能做什么

让 DeepSeek Harness agent 通过文件系统操作本地 Obsidian vault。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
文件与文档文件文档集成
适配技术
deepseek-harnessobsidiannodejs
兼容性

Web Profile, Headless Profile, tui Profile
Verified by the author for dsh v0.1.0-rc.8 through v0.1.5-alpha.1

可信度与状态

证据已验证
核对日期 2026/9/9 UTC 14:27

有代码证据的贡献

它为 DSH 增加什么

Obsidian vault 工具

提供 12 个工具,用于在本地 Obsidian vault 中搜索、读取、写入、移动、移入回收站及管理 Markdown 笔记。

机制证据

选择前先看

此 DSH bundle 挂载 12 个 obsidian_* 工具,可搜索、读取、写入、追加、移动笔记,查询反向链接,编辑 frontmatter、列出标签,并将笔记移入回收站。它直接使用 vault 文件系统,不需要 MCP server 或 OAuth。

适合谁

希望用 DeepSeek Harness agent 整理或更新本地 Obsidian vault 笔记的用户。

常见任务

  • 搜索 vault 并读取匹配的 Markdown 笔记。
  • 新建、追加、重命名或移动笔记,并更新 wikilink。
  • 查看反向链接、标签和 YAML frontmatter 属性。
  • 将不需要的笔记移入 vault 中可恢复的 .trash 目录。

权限与数据

直接处理所选本地 Obsidian vault 中的文件。

权限
  • 读取 vault 中的 Markdown 笔记及其 frontmatter。
  • 新建、覆盖、追加、移动和重命名笔记。
  • 将笔记移入 vault 的 .trash 目录。
  • 启用且可用时,可使用 Obsidian CLI 修改属性。
数据处理
  • vault 路径来自显式 vaultPath,或从 obsidian.json 自动探测。
  • 工具路径会被限制在 vault 根目录内。
  • 搜索和列表默认排除 .obsidian、.git 和 .trash。
外部服务
  • 不需要 MCP server 或 OAuth。
  • Obsidian CLI 仅用于可选的属性操作。
凭据
  • 提供的证据未说明需要凭据。

局限

  • 需要 DeepSeek Harness 和 Node.js 22.12.0 或更高版本。
  • 提供的证据未实际执行安装或 vault 访问。
  • 未审计 npm tarball 内容。
  • 默认只搜索 Markdown 文件。

DSHub 已核对

  • 已验证固定提交的 DSH bundle 结构。
  • manifest 声明 Node.js >=22.12.0 及 DSH peer dependencies。
  • README 声称作者已验证 dsh v0.1.0-rc.8 至 v0.1.5-alpha.1 的兼容性。

DSHub 未核对

  • 未独立执行安装、运行行为或文件系统影响。
  • 未审计 npm tarball 内容。

固定版本安装

安装 dsh-obsidian

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit 265d6d6 对应的 README
维护者编写的上游内容原文于 2026/9/9README.md 获取,正文和仓库相对媒体固定到 commit 265d6d65f950,内容哈希为 59e8fef9360b。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

dsh-obsidian

DeepSeek Harnessdsh)连接到本地 Obsidian vault。因为一个 Obsidian vault 本质上就是磁盘上的一堆 Markdown 文件,所以你的 dsh agent 可以直接搜索、读取、写入、移动和删除(移入回收站)笔记——不需要 MCP server,也不需要 OAuth

Awesome DSH Plugin License: MIT Node: >=22.12.0

中文 | English

它能帮你做什么

装上 dsh-obsidian 后,你的 dsh agent 就能直接读写本地 Obsidian vault。插件会在启动时自动探测你的 vault(或读取你显式配置的路径),然后把 12 个 obsidian_* 工具挂载给 agent,覆盖搜索、读取、写入、追加、移动、删除和反链查询等日常操作。

特性

  • 零依赖服务器 —— 直接读写 vault 文件系统,无需 Local REST API 社区插件,也无需常驻 MCP server。
  • 默认安全 —— 删除只把笔记移入 .trash/(可逆)、路径无法越出 vault 根目录、绝不触碰 .obsidian/

工作原理

dsh agent 调用 obsidian_* 工具
   │
   ▼
VaultAccess 接口
   └─ FsAccess —— node:fs + 自研 frontmatter/wikilink 解析(默认,纯文件系统)

启动时插件按「显式 vaultPath 优先,否则从 obsidian.json 自动探测」解析 vault 根目录;useCli 开启且检测到 CLI 时,property:set/property:remove 委托给 CLI,其余操作始终走 FsAccess,任何 CLI 失败都会静默回退到 FsAccess

安装

dsh plugin --profile web add dsh-obsidian

web 换成你运行 agent 所用的 profile(webheadlesstui 等)。

更新

重跑 add 即会拉取最新版(latest):

dsh plugin --profile web add dsh-obsidian

或锁定具体版本:

dsh plugin --profile web add dsh-obsidian@0.2.3

更新后重启 harness(dsh web)或刷新 Web UI;用 dsh plugin --profile web list 确认版本。

卸载

dsh plugin --profile web remove dsh-obsidian

配置

默认值 说明
vaultPath (自动探测) vault 的绝对路径;留空则按平台从 obsidian.json 自动探测当前打开的 vault
useCli false 可用时把 property:set/property:remove 委托给 obsidian CLI
excludeDirs [".obsidian", ".git", ".trash"] 搜索/列出时排除的目录

工具

工具 作用
obsidian_list 列出 vault 里的笔记(可按子目录过滤、限制条数)
obsidian_search 全文检索,返回匹配行 + 上下文(大小写不敏感、只搜 .md
obsidian_read 读取一篇笔记(正文 + 解析后的 frontmatter)
obsidian_frontmatter 只读笔记的 YAML 属性
obsidian_backlinks 找出链接到某篇笔记的笔记([[wikilink]]
obsidian_write 新建或覆盖一篇笔记(父目录不存在时自动创建)
obsidian_append 向笔记末尾追加内容
obsidian_move 移动/重命名笔记(纯文件系统同步更新 [[链接]]
obsidian_delete 把笔记移入 .trash/(可逆,绝不永久删除)
obsidian_set_property 设置或更新笔记的单个 frontmatter 属性(YAML)
obsidian_delete_property 删除笔记的某个 frontmatter 属性
obsidian_tags 列出 vault 中所有标签及使用次数

所有工具的路径参数都相对于 vault 根目录(例如 Folder/Note.md)。

安全性

  • 路径越界防护 —— 所有路径参数都会解析并校验必须落在 vault 根目录内,越界(../ 或绝对路径逃逸)一律拒绝。
  • 删除可逆 —— obsidian_delete 只把笔记移入 vault 的 .trash/,绝不永久删除。
  • 不碰 .obsidian/ —— 搜索与列出默认排除 .obsidian/.git/.trash/
  • 保护 frontmatter 与 wikilink —— 读取/写入不会破坏 YAML 属性和 [[链接]](除非任务明确要求改)。

环境要求

已完成对 dsh v0.1.5-alpha.1 的兼容验证(含 v0.1.3-alpha.2、v0.1.3-alpha.1、v0.1.2-rc.1、v0.1.2-alpha.5、v0.1.2-alpha.4、v0.1.2-alpha.3、v0.1.2-alpha.2、v0.1.2-alpha.1、v0.1.1-rc.2 与 v0.1.0-rc.8)。

开发

npm install
npm run build      # tsdown → lib/
npm run typecheck  # tsc --noEmit
npm test           # vitest

更新日志

0.2.3

  • 修复 dsh v0.1.2-alpha.2/alpha.3 移除 @deepseek-ai/dsh-toolsJsonValue 转出后,插件源码无法 typecheck/build 的兼容性问题;保留对旧版 dsh 的兼容。

0.2.2

  • obsidian_tags 与内联 #标签 提取支持中文等 Unicode 字符。
  • obsidian_backlinks / obsidian_move 按 Obsidian 规则唯一解析 [[链接]]:同名笔记不再被误判,歧义链接不再被误改。
  • obsidian_set_property / obsidian_delete_property 编辑属性时保留原有 YAML 注释、锚点/别名与多行格式,不再整块重写。
  • 稳定性:obsidian_move 链接更新改为原子写;跨文件系统移动/删除自动回退;搜索在有/无 ripgrep 时结果一致。

许可证

MIT © 2026 MingZeng

有意识地管理

安装与管理

前置条件与目标 Profile

目标 Web Profile, Headless Profile, tui Profile

交付方式 Git Bundle — mingzeng21/dsh-obsidian#265d6d65f9508d691e177b6a19b3dd4f887c8eb8

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile web list

兼容性与访问范围

DSH plugin; requires Node.js 22.12.0 or later Verified by the author for dsh v0.1.0-rc.8 through v0.1.5-alpha.1

检查兼容性证据

风险事实

filesystem-access

Can read and modify notes in the configured local vault

证据
reversible-deletion

Delete operations move notes to the vault’s .trash directory rather than permanently deleting them

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

MIT 许可的 DSH 插件 bundle,具有固定 Git 来源和已文档化的本地 vault 功能。

AI 审查于 2026/9/10 UTC 11:36GitHub 事实核对日期: 2026/9/10 UTC 11:36

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: dsh-obsidian