YUCONG-28/dsh-skills-plugins--plugins-obsidian-dsh-companion-dsh-obsidian-tools ↗★ 0
dsh-obsidian-tools
DeepSeek Harness companion bundle: vault-native obsidian_* tools, four permission presets, and the dsh-obsidian-orchestrated agent preset.
安裝
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:YUCONG-28/dsh-skills-plugins#5c655c91d44fb270fb9c4e7aefb77b02c940ed56&path:plugins/obsidian-dsh/companion/dsh-obsidian-tools說明文件
閱讀完整 README ↗dsh-obsidian-tools(companion bundle)
让 dsh agent 通过 obsidian_* 工具直接读写 vault(参考,非 Obsidian 插件)。与主插件配合使用:
- 工具:
obsidian_list / read / write / append / delete,路径限定在 vault 内(realpath防 symlink 逃逸),写入原子化,删除进.trash/可逆。 - 四档权限 preset:在 DSH 配置中注册:
read-only= sandbox read-only + approval neverask-before-write= sandbox read-only + approval askworkspace-write= sandbox workspace-write + approval askdanger-full-access= sandbox danger-full-access + approval ask
- Orchestrated preset:
dsh-obsidian-orchestrated,主会话用 Pro 模型,tool-subagent/tool-workflow的子代理默认用 Flash 模型,persona 为「拆任务→并行 Flash→Review→整合」。
安装:dsh plugin --profile web add dsh-obsidian-tools(或 pack 后 dsh plugin --profile web add file:./dsh-obsidian-tools-.tgz,或直接 --patch 本 bundle 的 cordis.patch.yml),并在 DSH profile 中叠加权限/编排配置。
构建与发布(确定性构建链)
npm ci # 安装 devDeps(typescript/@types/node/@deepseek-ai/cordis|dsh-tools|schemastery)
npm run build # tsc → lib/*.js + lib/*.d.ts(ESM,保留 .js 导入后缀);lib/ 提交入库
npm test # build + exports 存在性/可导入测试
npm run pack:check # 校验每个 exports 目标存在 + npm pack --dry-run 内容(--ignore-scripts 防 prepack 递归)
npm pack # prepack 自动 build + pack:check
- 发布前必须
git diff --exit-code确认lib/与 src 一致(CI package job 强制)。 - 安装前置:宿主需提供 peer 依赖
@deepseek-ai/cordis(>=4) / dsh-tools(>=0.1.2-rc.1) / schemastery(>=3.18);无 vault 配置时插件仍可挂载,调用工具返回结构化“未找到 Obsidian vault”错误,不会阻止 dsh web 启动。
Orchestrated preset (Pro main / Flash children)
agent-presets/dsh-obsidian-orchestrated/ provides the Pro orchestrator -> parallel Flash -> Pro review configuration.
- Main session model: Pro (plugin calls session.selectModel deepseek-v4-pro / high).
- Children: tool-subagent and tool-subagent-fork set agentOptions.model = deepseek-v4-flash.
Install: cp -R agent-presets/dsh-obsidian-orchestrated ~/.dsh/.agent-presets/dsh-obsidian-orchestrated
No restart needed: agentPreset.list discovers it live; the Obsidian plugin Orchestrated mode picks it automatically.