dsh-obsidian-plugin

前言

DeepSeek Harness(DSH)理念強調「一切皆插件」。當需要開發或維護 Obsidian 插件時,現有的工具鏈(如 Webpack/Vite、Obsidian 官方模版)與 LLM 智能體的交互存在斷層。dsh-obsidian-plugin 是一個爲 DSH 代理提供完整 Obsidian 插件開發生命週期能力的工具集。它由 LeeLee592 維護,通過 DSH 插件系統運行,解決了智能體在生成代碼後,缺乏自動化構建、測試、部署及運行時驗證能力的問題。

核心能力

該插件提供了一系列工具,覆蓋從代碼生成到運行時交互的全流程。

1. 開發與構建

  • obsidian_plugin_scaffold:從官方 obsidianmd/obsidian-sample-plugin 模板生成符合規範的插件骨架,內置命名和提交檢查。
  • obsidian_plugin_build:打包插件項目爲可加載的 main.js(CommonJS,外部化 obsidian),並執行靜態自檢(L1 級別)。它會解析入口點,並按照項目自身配置、本地構建腳本或默認策略降級處理。如果查找失敗,會列出所有嘗試過的路徑。
  • obsidian_plugin_validate:驗證 manifest.json 必填字段、命名規則、versions.json 映射以及 package.json 版本一致性,並使用官方 obsidianmd/eslint-plugin 進行代碼檢查。
  • obsidian_plugin_version:同步 manifest.json、versions.json 和 package.json 中的版本號。

2. 測試

  • obsidian_plugin_test:執行離線煙霧測試(L2 級別)。在純 Node 環境下加載構建包,針對樁件化的 Obsidian API 運行生命週期測試。無需安裝 Obsidian,能解析項目本地的 @codemirror/* 和 @lezer/* 依賴。
  • obsidian_plugin_e2e:基於 WebdriverIO 和 wdio-obsidian-service 搭建沙盒化 E2E 測試(L4 級別)。它會創建獨立的 Obsidian 實例和隔離的配置目錄,避免干擾開發者當前窗口。

3. 部署與交互

  • obsidian_plugin_deploy:將構建產物安裝至 <vault>/.obsidian/plugins/<id>/,並更新該 vault 的 community-plugins.json(保留現有條目)。它還會在 dsh.obsidian.json 中記錄該 vault。
  • obsidian_plugin_reload:使代碼更改生效。支持 reload、enable、disable、rescan(刷新插件 manifest 索引,對於新部署插件至關重要)以及 unrestrict(關閉 vault 的受限模式)。
  • obsidian_plugin_vault:管理用於實時驗證的 vault。支持查看狀態、註冊/打開 vault(ensure)、關閉 vault。
  • obsidian_plugin_inspect:對運行中的應用進行只讀觀察。提供 status(健康報告、已註冊 vault、插件狀態、信任模態框狀態)、console、screenshot 等功能。這是讀取應用狀態的主要手段,無需批准,優先於 eval。
  • obsidian_plugin_eval:在運行的應用程序中執行 JavaScript。這是唯一的高特權工具,用於讀取插件實例、驅動交互或嘗試修復。執行代碼會被回顯作爲審計軌跡,且當代碼涉及窗口聚焦時會發出警告。該操作需要批准受控。

驗證層級

插件定義了四層驗證機制,默認的開發循環包含 L1、L2 和 L4。

層級 方式 說明
L1 靜態 在 obsidian_plugin_build 中進行工件、模塊格式和 manifest 檢查,無干擾。
L2 離線煙霧 obsidian_plugin_test 在 Node 中加載構建包,無需安裝 Obsidian,無干擾。
L3 你的 Obsidian 使用 obsidian_plugin_vault、reload、inspect 等工具作用於你的運行應用,由 CLI 驅動。
L4 E2E obsidian_plugin_e2e 使用 WebdriverIO 在沙盒環境中運行,完全隔離。

安裝與使用

該插件通過 DeepSeek Harness 插件系統安裝。安裝後,DSH 代理即可通過名稱調用上述工具(例如 obsidian_plugin_build)。

注意事項:
- obsidian_plugin_eval 需要批准才能執行,且具有高權限,請謹慎使用。
- 在執行代碼操作前,建議優先使用 obsidian_plugin_inspect 進行只讀檢查。
- 插件以 DSH 進程的權限運行,安裝前請檢查源碼與許可證(MIT)。

參考資料

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜