让模型检索本地笔记并按提案安全写入
32/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add spark-ai-boy/dsh-obsidian-bridge该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 2 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 39 处,展示前 34 条)
- 写入剪贴板client.js:1416
await navigator.clipboard.writeText(`# Obsidian context\n\n${body}`); - 写入本地文件src/host/vault.js:156
await mkdir(this.dataDir, { recursive: true, mode: 0o700 }); - 读取本地文件src/host/vault.js:186
this.realVaultPath = await realpath(this.vaultPath); - 读取本地文件src/host/vault.js:222
const info = await stat(this.vaultPath); - 读取本地文件src/host/vault.js:252
entries = await readdir(directory, { withFileTypes: true }); - 读取本地文件src/host/vault.js:265
const info = await stat(full); - 读取本地文件src/host/vault.js:292
this.realVaultPath = await realpath(this.vaultPath); - 读取本地文件src/host/vault.js:309
const raw = await readFile(full, "utf8"); - 写入本地文件src/host/vault.js:970
await mkdir(this.dataDir, { recursive: true, mode: 0o700 }); - 写入本地文件src/host/vault.js:992
await writeFile(join(this.dataDir, "index.json"), JSON.stringify(index), { mode: 0o600 }); - 写入本地文件src/host/vault.js:1006
await writeFile(join(this.dataDir, "vectors.bin"), buffer, { mode: 0o600 }); - 写入本地文件src/host/vault.js:1008
await writeFile(join(this.dataDir, "vectors.bin"), Buffer.alloc(0), { mode: 0o600 }); - 发起网络请求src/host/embeddings.js:52
response = await fetch(url, { - 写入本地文件src/host/settings.js:48
await mkdir(this.dataDir, { recursive: true, mode: 0o700 }); - 读取本地文件src/host/settings.js:50
const raw = await readFile(this.path, "utf8"); - 写入本地文件src/host/settings.js:88
await mkdir(dirname(this.path), { recursive: true, mode: 0o700 }); - 写入本地文件src/host/settings.js:89
await writeFile(this.path, `${JSON.stringify(this.settings, null, 2)}\n`, { - 写入本地文件src/host/settings.js:92
await chmod(this.path, 0o600).catch(() => {}); - 写入本地文件src/host/usage.js:40
await mkdir(this.dataDir, { recursive: true, mode: 0o700 }); - 读取本地文件src/host/usage.js:42
const parsed = JSON.parse(await readFile(this.path, "utf8")); - 写入本地文件src/host/usage.js:80
await writeFile(temporary, `${JSON.stringify(this.data, null, 2)}\n`, { mode: 0o600 }); - 写入本地文件src/host/usage.js:81
await rename(temporary, this.path); - 读取本地文件src/host/writes.js:43
await access(path); - 读取本地文件src/host/writes.js:75
const canonical = await realpath(cursor); - 读取本地文件src/host/writes.js:107
const beforeContent = hasFile ? await readFile(fullPath, "utf8") : ""; - 读取本地文件src/host/writes.js:168
const current = currentExists ? await readFile(proposal.fullPath, "utf8") : ""; - 写入本地文件src/host/writes.js:177
await mkdir(dirname(proposal.fullPath), { recursive: true }); - 写入本地文件src/host/writes.js:179
await mkdir(this.backupsDir, { recursive: true, mode: 0o700 }); - 写入本地文件src/host/writes.js:182
await writeFile(backupPath, JSON.stringify({ - 写入本地文件src/host/writes.js:194
await writeFile(proposal.fullPath, proposal.afterContent, { flag: "wx", mode: 0o644 }); - 写入本地文件src/host/writes.js:196
await writeFile(proposal.fullPath, proposal.afterContent, { mode: 0o644 }); - 读取本地文件src/host/writes.js:224
const current = await readFile(fullPath, "utf8"); - 删除本地文件src/host/writes.js:227
await unlink(fullPath); - 写入本地文件src/host/writes.js:229
await writeFile(fullPath, record.beforeContent, { mode: 0o644 });
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
一个把本地 Obsidian 知识库接入 DeepSeek Harness 的插件:数据大盘、按标题切片的混合检索、带引用的 Agent 工具,以及「先提案、后写入」的安全笔记操作。
README
由 DeepSeek 最新模型翻译生成Obsidian Vault Studio
Obsidian Vault Studio 概览
把本地 Obsidian 知识库接入 DeepSeek Harness。模型经你授权后可以检索笔记、读取片段、组装上下文,并以“先提案、后写入”的方式创建或追加笔记。索引、向量和统计都留在本机。
能做什么
- 本地索引:解析 Markdown、frontmatter、标签、标题与修改时间,不把整个 Vault 上传到远端。
- 可用的检索:默认关键词检索,支持英文前缀和输入时自动更新结果;可选 OpenAI 兼容或 Ollama Embedding,启用混合/语义检索。
- 会话访问开关:默认禁止模型访问 Vault。关闭时所有 obsidian_ Agent 工具都会被拒绝,你自己的检索和笔记浏览不受影响。
- 安全写入:模型只能提出新建或追加提案;你确认后才落盘。每次写入有备份,可撤销;不提供删除、移动、重命名或覆盖工具。
- 数据大盘:笔记/字数/标签/片段统计、每日热度、活动曲线、Agent 调用次数、最近编辑和标签分布。
- 完全本地:索引、向量、设置和调用统计都保存在本机。
展开完整文档(README 剩余 1 节)
Obsidian Vault Studio Obsidian Vault Studio 概览 把本地 Obsidian 知识库接入 DeepSeek Harness。模型经你授权后可以检索笔记、读取片段、组装上下文,并以“先提案、后写入”的方式创建或追加笔记。索引、向量和统计都留在本机。 能做什么 - 本地索引:解析 Markdown、frontmatter、标签、标题与修改时间,不把整个 Vault 上传到远端。 - 可用的检索:默认关键词检索,支持英文前缀和输入时自动更新结果;可选 OpenAI 兼容或 Ollama Embedding,启用混合/语义检索。 - 会话访问开关:默认禁止模型访问 Vault。关闭时所有 obsidian_ Agent 工具都会被拒绝,你自己的检索和笔记浏览不受影响。 - 安全写入:模型只能提出新建或追加提案;你确认后才落盘。每次写入有备份,可撤销;不提供删除、移动、重命名或覆盖工具。 - 数据大盘:笔记/字数/标签/片段统计、每日热度、活动曲线、Agent 调用次数、最近编辑和标签分布。 - 完全本地:索引、向量、设置和调用统计都保存在本机。 安装 要求 - DeepSeek Harness 0.2.x 桌面版,支持安装第三方插件 - 一个本地 Obsidian Vault 安装方式 DeepSeek Harness 支持从 GitHub 仓库或 npm 包安装,二选一: - GitHub 仓库:https://github.com/spark-ai-boy/dsh-obsidian-bridge - npm 包:dsh-obsidian-bridge 步骤 1. 在 DeepSeek Harness 左侧栏打开 插件。 2. 点击 添加插件 → 安装第三方插件。 3. 在输入框中填写上面的 GitHub 仓库地址 或 npm 包名,然后点击安装;安装完成后点击启用。 4. 在左侧栏打开 Obsidian 知识库。 Obsidian Vault Studio 安装 首次配置 1. 在 设置 里选择 Vault 路径,点击 保存。 2. 点击 重建索引。第一次索引完成后,概览和检索就可以用了。 3. 检索模式默认是 关键词,不需要额外配置。 4. 如果要使用语义或混合检索,在设置里填写 OpenAI 兼容或 Ollama 的 Embedding 地址、模型和维度,先点 测试连接,保存后再重建索引。 5. 首页右侧的 允许 Obsidian 内容参与会话 默认关闭。需要 Agent 使用 Vault 时再打开;关闭后所有 obsidian_ 工具调用会被直接拒绝。 设置页 使用 概览 首页集中展示知识库状态:笔记数量、字数、标签、近 7 天更新、片段数、每日热度、14 天活动曲线、Agent 调用次数和最近编辑。 检索 在 检索 页输入关键词或前缀,结果会随输入自动更新。可以按文件夹、标签筛选,把需要的片段加入右侧 上下文,再复制为带来源的上下文包,或直接让 Agent 通过工具检索。 检索页 笔记 在 笔记 页浏览和阅读笔记。模型写入走提案流程: 1. 模型提出新建或追加内容。 2. 页面展示目标路径和 diff。 3. 你确认后才会写入。 4. 写入后可以撤销,插件会保留备份。 在会话中使用 1. 打开首页右侧的 允许 Obsidian 内容参与会话。 2. 在 DeepSeek Harness 会话里让模型检索你的笔记,例如: - “从我的 Obsidian 里找 RAG 相关的笔记,并给出处。” - “把今天的会议记录追加到项目笔记里。” 3. 只有实际检索到或读取的片段会进入会话,不会自动把整个 Vault 塞进 prompt。 4. 不需要时关闭访问开关,后续工具调用会被拒绝。 Agent 工具 | 工具 | 用途 | | obsidian_search | 检索笔记片段,支持模式、文件夹、标签筛选 | | obsidian_read_note | 读取某篇笔记的完整内容 | | obsidian_list_notes | 列出笔记或按条件筛选 | | obsidian_stats | 读取索引、统计和工作区状态 | | obsidian_propose_write | 生成新建/追加提案,不直接写入 | | obsidian_apply_write | 在你确认后应用提案 | | obsidian_undo_write | 撤销本次会话中的写入 | | obsidian_index_status | 查看索引和向量化进度 | 插件不提供删除、移动、重命名或覆盖笔记的工具。 隐私与安全 - 索引、向量、设置、调用统计都在本机。插件不包含遥测,也不会上传 Vault。 - 允许 Obsidian 内容参与会话关闭时,所有 obsidian_ Agent 工具在执行前被拒绝;Vault Studio 自己的检索和浏览仍然可用。 - 系统提示要求模型在 Obsidian 工具失败时报告错误,不得通过通用文件工具绕过 Vault Studio 或访问开关。 - 访问开关只限制 obsidian_ 工具;如果你需要更严格的隔离,请同时检查 DeepSeek Harness 的 workspace/sandbox 权限,避免通用 read、grep、bash 直接访问 Vault 路径。 - 写入操作需要确认,带备份,可撤销;插件不会自动删除或覆盖笔记。 License MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
spark-ai-boy/dsh-obsidian-bridge
让模型检索本地笔记并按提案安全写入
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,148已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,266已汉化DSH
70.7
这是你的仓库?认领条目