DeepSeek Harness Hub
← 返回列表

gxpppp/dsh-obsidian

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
⚠ 装前注意

dsh-obsidian 是 DeepSeek HarnessDSH的仅主机端 Obsidian 集成。主分支精确面向…

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/8/31 · 已提供中文文档

用于 DSH 的 Obsidian 桥接插件

综合分
31
GitHub 分
31
用户评分
★ Stars
4
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add gxpppp/dsh-obsidian
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包@deepseek-ai/dsh-client-ui-obsidian(未发布到 npm,仅可源码安装)
Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 07:37:14

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-attachment@deepseek-ai/dsh-llm@deepseek-ai/dsh-settings@deepseek-ai/dsh-skill@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/dsh-util-values@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-obsidian

dsh-obsidian 是 DeepSeek Harness(DSH)的仅主机端 Obsidian 集成。主分支精确面向 DSH 0.1.2-alpha.2。更早的预发布版本线作为不可变的旧版分支和标签保留。

该插件暴露 25 个 obsidian_* 工具。工具、指引和审批策略仅注入到消息匹配所配置触发词汇的 agent;无关的 agent 不会收到这些 schema。

当前发布线:dsh-obsidian-v0.4.0,面向 DSH dsh-v0.1.2-alpha.2 构建。DSH alpha.2 以 npm dist-tag alpha 发布;latest 和 next 仍解析为 0.1.1-rc.2。请使用精确版本以实现可复现的安装。

能力

Vault 工具,无需 Obsidian 即可使用:

obsidian_status · obsidian_list · obsidian_stat · obsidian_read · obsidian_write · obsidian_edit · obsidian_append · obsidian_mkdir · obsidian_copy · obsidian_move · obsidian_delete

文件系统层使用 vault 相对路径、规范化 realpath 包含检查、受保护的点目录、原子写入、串行化追加、SHA-256 修订、乐观 if_match 冲突、二进制大小限制、取消操作,以及默认的内部回收站。

知识与 Obsidian 语义工具:

obsidian_search · obsidian_metadata · obsidian_frontmatter_update · obsidian_link_resolve · obsidian_links · obsidian_link_insert

搜索有界且分页。当可用时,元数据、frontmatter 处理、反向链接、未解析链接和 Obsidian 生成的链接使用配套插件的原生 API。

附件:

obsidian_attachment_add · obsidian_attachment_read

附件接受 alpha.2 持久化图像引用或 vault 相对源路径。主机绝对路径、URL、点目录、无界二进制负载和原始二进制模型输出均被拒绝。

编辑器与命令工具,需要配套插件:

obsidian_active · obsidian_inline_edit · obsidian_open · obsidian_commands_list · obsidian_command · obsidian_notice

内联编辑携带活动路径、文档修订、选区偏移和预期文本。并发用户编辑或笔记切换会返回冲突,而不是覆盖内容。

安装

首先显式安装 DSH 0.1.2-alpha.2。不要依赖 npm 的 latest 或 next 来获取此版本线:

npm install --global @deepseek-ai/dsh@0.1.2-alpha.2 pnpm@11.7.0

将主机包安装到运行 agent 的 profile 中:

首选:附加到 GitHub Release 的预构建 tarball
dsh plugin --profile  add "https://github.com/gxpppp/dsh-obsidian/releases/download/dsh-obsidian-v0.4.0/deepseek-ai-dsh-client-ui-obsidian-0.4.0.tgz"

精确 GitHub 标签;需要具备构建能力的 npm 环境
dsh plugin --profile  add "github:gxpppp/dsh-obsidian#dsh-obsidian-v0.4.0"
npm registry,由已获 @deepseek-ai 授权的账户发布后
dsh plugin --profile  add @deepseek-ai/dsh-client-ui-obsidian@0.4.0

本地开发检出
dsh plugin --profile  add "link:E:\\path\\to\\dsh-obsidian"

将  替换为你实际启动的 profile,例如 web 或 headless。Alpha.2 profile 会记录 dsh.profile.patchReload:web 使用 live;随附的 headless、acp、sdk 和 sdk-minimal profile 使用 startup。在添加或更改插件后,重启仅支持 startup 的 profile。

在不启动的情况下验证组合后的树:
bash
dsh --profile  --dump-config

输出中必须包含 ui-obsidian 行。

宿主包和 Obsidian 配套插件是独立的产物。从检出目录或解包后的宿主 tarball 安装配套插件:
bash
node scripts/install-companion.mjs --vault "C:\\path\\to\\vault"

GitHub Release 中附有一个独立的 dsh-obsidian-bridge-0.4.0.zip。仅将 main.js 和 manifest.json 解压到 /.obsidian/plugins/dsh-obsidian-bridge/,启用该插件,然后重新加载 Obsidian。安装前请对照 SHA256SUMS 验证哈希值。

配套插件将其随机 token 存储在本地插件的 data.json 中。仅当 vaultPath 解析为同一规范 vault 时,宿主才会自动读取它。宿主与配套插件的主/次版本必须匹配;IPC 协议保持为版本 1。

配置

当可选的 DSH 设置提供程序被挂载时,obsidian 设置命名空间会实时生效:
yaml
obsidian:
vaultPath: 'C:\\path\\to\\vault'
mode: auto                 # auto | fs | companion
companionEndpoint: ''      # optional named-pipe/socket override
protectedPaths: [.obsidian, .trash, .git, .claudian]
maxTextBytes: 5242880
attachmentFolder: Attachments
maxAttachmentBytes: 26214400
approvalMode: dangerous    # none | dangerous | writes | all
commandPolicy: approval    # deny | allowlist | approval
commandAllowlist: []
announceToAgent: true
autoActivate: true
triggerKeywords: [obsidian, vault, 笔记, 日记, 知识库, 当前笔记, 选中文本]
enabled: true

Alpha.2 设置集成使用 ctx.inject(['settings']) 和 settings.installSection(...);在没有提供程序的情况下,插件会继续使用其 profile 条目配置。机密字段在脱敏的设置界面上保持只写。

开发

要求:Node.js ^22.19.0 || >=24.0.0(不支持 Node 23)、npm >=11、TypeScript 5.7、DSH 0.1.2-alpha.2、Cordis 4.0.2 以及 Obsidian 桌面版。
bash
npm install --ignore-scripts --registry=https://registry.npmjs.org/
npm run typecheck
npm run check:companion
npm test
npm run build
npm run verify:release
npm run smoke:dsh-profile
npm run install:companion -- --vault "C:\\path\\to\\vault"
npm run smoke:companion -- --vault "C:\\path\\to\\vault"

该套件包含 43 项测试,涵盖激活、alpha.2 附件契约、IPC、编辑器上下文、Vault 安全、修订、大小限制、取消以及路径规范化。CI 在 Node 22.19 和 24 上运行静态/构建/打包门禁;仅当两个任务均通过后,才会构建发布资产。

架构与 alpha.2 变更

- src/index.ts:可选的 alpha.2 设置服务接线、运行时生命周期、技能外观以及按代理激活。
- src/activation.ts:触发器匹配、25 工具作用域注入、审批策略以及可逆释放器。
- src/vault/:规范路径边界与持久化 VaultFs。
- src/bridge/:经过身份验证的 JSON Lines IPC、版本行强制以及 vault 身份验证。
- companion/:仅限桌面的 Obsidian 插件,使用 Windows 命名管道或 Unix 套接字。
- src/tools/:Vault、知识、附件、链接、编辑器以及命令定义。

Alpha.2 保留了 execute(args, exec)、exec.signal、作用域 agent.ctx、tools/pre-execute、skills.register 和 systemPrompt.section。它将设置安装移至 ctx.settings,将 JsonValue 移至 @deepseek-ai/dsh-util-values,将工具呈现 code 模式重命名为 ptc,并移除 API Proxy。此插件既不使用呈现模式名称,也不使用 API Proxy,因此这些变更无需兼容垫片。

参见 ARCHITECTURE.md、MIGRATION.md、SECURITY.md 和 CHANGELOG.md。

兼容性

| dsh-obsidian | DSH 宿主 | Companion | Obsidian | 状态 |
|---|---|---|---|---|
| 0.4.x / dsh-obsidian-v0.4.0 | 0.1.2-alpha.2 | 0.4.x | 桌面版 >=1.4.0 | 支持 |
| 0.3.x / dsh-obsidian-v0.3.1 | 0.1.0-rc.8 | 0.3.x | 桌面版 >=1.4.0 | legacy/dsh-rc8 |
| 0.2.x / dsh-obsidian-v0.2.0 | 0.1.0-rc.7 | 0.2.x | 桌面版 >=1.4.0 | legacy/dsh-rc7 |
| 0.1.x / v0.1.0 | rc.6 系列 | 0.1.x | 桌面版 >=1.4.0 | legacy/dsh-rc6 |
| 任何其他跨系列组合 | 不支持 | 不支持 | 任意 | 不支持 |

DSH alpha.2 操作警告

- 可选的 SQLite 会话持久化使用 schema 20。它会拒绝所有其他 schema,并且不附带迁移。请备份 DSH 主目录/会话数据,并使用全新数据库或显式持久化 API 导出/导入。这不会影响 Obsidian vault 文件。
- 官方 DeepSeek 适配器默认启用 dsh_plugin_packages,会将活动的 Loader 支持包名称和版本在模型消息之外发送到配置的官方 DeepSeek 端点。如果部署策略禁止该清单,请禁用 plugin-package-inventory-deepseek 配置文件行。pi-ai 适配器不使用此扩展。
- dsh_session_log 是一个单独的扩展,此插件不会启用它。
- API Proxy 移除已在 alpha.2 中实现。dsh-obsidian 从未使用 API Proxy 或 ctx.remote。

发布与生态系统
社区发现使用 GitHub 主题 dsh-plugin。此插件使用带注释的标签 dsh-obsidian-v;诸如 dsh-v0.1.2-alpha.2 之类的核心标签属于 DeepSeek Harness。

每次发布都会同步 package、lockfile、companion manifest、runtime、smoke expectation、documentation 和 tag 版本。verify:release 会检查完整的 DSH 锁闭包、官方注册表来源、必需的 tarball 内容以及禁止的 secret/log/config 路径。tag 工作流会发布一个 host tarball、一个包含两个文件的 companion ZIP 以及 SHA256SUMS。npm 发布不是自动的,需要获得授权的 @deepseek-ai scope 访问权限。

安全

companion 从不请求 URL。它仅监听操作系统本地 IPC,要求一个随机的 32 字节 token,使用常量时间比较,将消息上限设为 1 MiB,并在操作前验证规范 vault 身份。Vault 工具在遇到路径遍历、绝对路径、控制字符、受保护的 dot 目录、符号链接/junction 逃逸、过期修订、超大 payload、未授权命令和取消操作时会安全失败。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群