把 DeepSeek Harnessdsh连接到本地 Obsidian vault。Obsidian vault…
44.6/100
综合分
29
GitHub 星标
1,211
npm 周下载
—/5
用户评分
数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-obsidiannpm 源 · dsh-obsidian 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · search
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 20 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-obsidian @ 0.2.6
✓Node 引擎要求 >=22.12.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 02:18:54
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 25 处,展示前 16 条)
- 读取本地文件lib/index.js:112
await access(candidate); - 执行外部命令来自配置/变量lib/index.js:121
if (!(process.platform === "win32" && / (?:bat|cmd)$/i.test(cmd))) return stdio === "pipe" ? spawn(cmd, args, { - 执行外部命令来自配置/变量lib/index.js:128
}) : spawn(cmd, args, { - 执行外部命令来自配置/变量lib/index.js:136
return spawn(comspec, [ - 写入本地文件lib/index.js:306
await rename(from, to); - 写入本地文件lib/index.js:309
await copyFile(from, to); - 删除本地文件lib/index.js:310
await unlink(from); - 读取本地文件lib/index.js:326
lines = (await readFile(file, "utf8")).split(/ ? /); - 读取本地文件lib/index.js:345
entries = await readdir(dir, { withFileTypes: true }); - 读取本地文件lib/index.js:404
for (const file of await walkMarkdownFiles(base, excludeDirs)) (await readFile(file, "utf8")).split(/ ? /).forEach((text, i) => { - 读取本地文件lib/index.js:439
const content = await readFile(abs, "utf8"); - 读取本地文件lib/index.js:450
const { data, raw } = parseFrontmatter(await readFile(abs, "utf8")); - 写入本地文件lib/index.js:502
await mkdir(path.dirname(toAbs), { recursive: true }); - 写入本地文件lib/index.js:522
await mkdir(trashDir, { recursive: true }); - 写入本地文件lib/index.js:529
await mkdir(path.dirname(target), { recursive: true }); - 写入本地文件lib/index.js:569
await mkdir(path.dirname(abs), { recursive: true });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 搜索读取笔记
- 写入移动删除笔记
把 DeepSeek Harness(dsh)接到本地 Obsidian 仓库:搜索、读取、写入、移动、删除笔记。
最近更新
在 GitHub 查看全部 →v0.2.62026-09-29
· 变更内容
· 新增可选的 vaultWorkspaceOnly 设置。启用后,只有会话工作目录位于已配置 Obsidian 仓库内的智能体才能拿到 obsidian_* 工具。默认值为 false,保持现有的跨工作区用法不变。
· 在两份 README 中说明配置与作用范围。该设置只控制 Obsidian 插件工具,不限制通过 bash 等其他工具访问文件。
已用 112 项测试、类型检查、构建、打包试运行,以及一个位于仓库外的 DSH 会话验证,该会话的请求中不含任何 obsidian_* 工具。
这是 GitHub 源码发布。0.2.6 版尚未发布到 npm。
查看完整更新日志。
v0.2.52026-09-13
· 变更内容
· 修复 Windows .cmd 脚本的双重引号问题,脚本路径或参数含空格、Unicode 字符时命令也能正常执行。
查看完整更新日志。
v0.2.42026-09-11
· 亮点
本次发布为 Windows 用户加固了 dsh-obsidian,并让面向智能体的 vault API 在各平台保持一致。
· 所有工具返回的 vault 相对路径统一为 /,输入同时接受 / 和 \。
· 加固路径包含检查,防止 Unix 绝对路径、Windows 盘符路径和 UNC 路径逃逸。
· 修复 Windows 搜索结果路径、CRLF 换行处理、Unicode 大小写折叠,以及 .MD 这类大小写混用的 Markdown 扩展名。
· 修复 Windows 反向链接匹配、摘要片段、移动/删除结果和 wikilink 重写,包括点段路径。
· 为 ripgrep 和 Obsidian 命令行增加 Windows .exe/.cmd 解析,无法解析时安全回退到内置文件系统/JS 实现。
· 优先使用平台原生的 Obsidian 配置位置,找不到时回退到其他已知位置。
· 验证
· 108 项测试通过
· 类型检查通过
· 构建通过
· GitHub Actions 覆盖 Ubuntu 和 Windows
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-obsidian
把 DeepSeek Harness(dsh)连接到本地 Obsidian vault。Obsidian vault 本质上就是磁盘上的一堆 Markdown 文件,所以你的 dsh 智能体可以直接搜索、读取、写入、移动和删除(移入回收站)笔记——不需要 MCP server,也不需要 OAuth。
Awesome DSH Plugin
它能帮你做什么
装上 dsh-obsidian 后,你的 dsh 智能体就能直接读写本地 Obsidian vault。插件会在启动时自动探测你的 vault(或读取你显式配置的路径),然后把 12 个 obsidian_ 工具挂载给智能体,覆盖搜索、读取、写入、追加、移动、删除和反链查询等日常操作。
特性
- 零依赖服务器 —— 直接读写 vault 文件系统,无需 Local REST API 社区插件,也无需常驻 MCP server。
- 默认安全 —— 删除只把笔记移入 .trash/(可逆)、路径无法越出 vault 根目录、绝不触碰 .obsidian/。
展开完整文档(README 剩余 1 节)
dsh-obsidian 把 DeepSeek Harness(dsh)连接到本地 Obsidian vault。Obsidian vault 本质上就是磁盘上的一堆 Markdown 文件,所以你的 dsh 智能体可以直接搜索、读取、写入、移动和删除(移入回收站)笔记——不需要 MCP server,也不需要 OAuth。 Awesome DSH Plugin 它能帮你做什么 装上 dsh-obsidian 后,你的 dsh 智能体就能直接读写本地 Obsidian vault。插件会在启动时自动探测你的 vault(或读取你显式配置的路径),然后把 12 个 obsidian_ 工具挂载给智能体,覆盖搜索、读取、写入、追加、移动、删除和反链查询等日常操作。 特性 - 零依赖服务器 —— 直接读写 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 换成你运行智能体所用的配置档(web、headless、tui 等)。 更新 重跑 add 即会拉取最新版(latest): dsh plugin --profile web add dsh-obsidian 或锁定具体版本: dsh plugin --profile web add dsh-obsidian@0.2.6 更新后重启 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 | | vaultWorkspaceOnly | false | 仅向工作目录位于 vault 内的智能体提供 obsidian_ 工具;没有工作目录的智能体不会获得工具 | | excludeDirs | [".obsidian", ".git", ".trash"] | 搜索/列出时排除的目录 | 路径与 Windows 兼容性 - 工具返回的路径始终是相对于 vault 根目录、使用 / 的路径;输入可以使用 / 或 \\。 - 工具路径参数必须是相对路径。Unix 绝对路径、Windows 盘符路径和 UNC 绝对路径都会被拒绝;配置中的 vaultPath 可以是 Windows 本地路径或 UNC vault 根目录。 - Windows 上笔记路径按大小写不敏感处理,并识别 .md、.MD 等大小写变体;Unix 保持大小写敏感与 .md 语义。 - 搜索会去除 CRLF 的 \\r,保留 Unicode 路径和正文;ripgrep 只是可选加速器,不可用或执行失败时自动使用内置扫描。 - vault 自动探测优先使用当前平台的 obsidian.json 位置(Windows %APPDATA%、macOS Library/Application Support、Linux .config),再尝试其他已知位置。CLI 支持 .exe/.cmd 形式,不可用时自动回退文件系统实现。 工具 | 工具 | 作用 | | obsidian_list | 列出 vault 里的笔记(可按子目录过滤、限制条数) | | obsidian_search | 全文检索,返回匹配行 + 上下文(大小写不敏感;Windows 识别 .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 根目录内,越界(../、Unix/Windows 绝对路径或 UNC 路径)一律拒绝。 - 删除可逆 —— obsidian_delete 只把笔记移入 vault 的 .trash/,绝不永久删除。 - 不碰 .obsidian/ —— 搜索与列出默认排除 .obsidian/、.git/、.trash/。 - 保护 frontmatter 与 wikilink —— 读取/写入不会破坏 YAML 属性和 [[链接]](除非任务明确要求改)。 环境要求 - DeepSeek Harness(dsh) - Node.js ≥ 22.12.0 已针对 dsh v0.2.1-alpha.3 核对兼容性:本机运行中的 Web 配置档通过 link: 引用本仓库并启用了此插件;该版本仍支持插件使用的 apply、defineTool、ctx.tools.register 和智能体生命周期事件。本项目的类型检查、构建和 112 项测试均通过。此前还在 dsh v0.2.0-rc.2 上验证过新版配置档加载器接受插件 bundle、12 个工具成功注册,以及 obsidian_list 和 obsidian_read 在临时 vault 上的调用。更早的验证覆盖 v0.1.7-rc.2、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.6 - 新增 vaultWorkspaceOnly 配置:可选择只向工作目录位于 vault 内的智能体提供 obsidian_ 工具;默认关闭,保持现有跨工作区用法。 如果只想让 vault 内的 DSH 工作区看到 Obsidian 工具,在所用配置档的 cordis.patch.yml 中设置: - id: obsidian config: vaultPath: /你的/ObsidianVault/绝对路径 vaultWorkspaceOnly: true 0.2.5 - 修复 Windows 下 .cmd 命令脚本被重复加引号的问题,路径或参数包含空格、Unicode 字符时也能正确调用。 0.2.4 - 全面加固 Windows 兼容性:agent-facing 路径统一使用 /,同时接受 \\ 输入,并拒绝盘符/UNC 绝对路径越界。 - 修复 Windows 下搜索、反链、移动/删除返回路径与 wikilink 重写;覆盖 CRLF、Unicode 和 .MD 等大小写扩展名。 - 支持 Windows .exe/.cmd 形式的 ripgrep 与 Obsidian 命令行;外部命令不可用或失败时自动回退到内置实现。 0.2.3 - 修复 dsh v0.1.2-alpha.2/alpha.3 移除 @deepseek-ai/dsh-tools 的 JsonValue 转出后,插件源码无法 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
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
mingzeng21/dsh-obsidian
把 DeepSeek Harnessdsh连接到本地 Obsidian vault。Obsidian vault…
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,379已汉化DSH
72
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,228已汉化DSH
71.3
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 695已汉化DSH
69.8
动画花园资源检索yjl9903/AnimeGarden
動漫花園 镜像站 | 动画 BT 资源聚合站 | 动画 BT 资源开放接口
★ 1,391已汉化DSH
69.2
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 510已汉化MCP
67.9
这是你的仓库?认领条目