DSH 的理念是「一切皆插件」。在實際開發中,管理第三方插件、檢查版本更新或重啓桌面應用,往往需要頻繁切換窗口或手動執行命令。這會打斷開發流。我們需要一個在桌面端直接完成這些操作的能力。
是什麼¶
這個插件爲 DSH Desktop 提供了插件安裝、管理及重啓能力,由 deronghe 維護,採用 MIT 許可證。
核心功能¶
- 重啓 Desktop 按鈕:在設置面板右上角提供一鍵重啓能力。
- 按地址安裝插件:在「設置 → 插件 → 安裝插件」標籤頁,輸入倉庫地址並選擇目標 profile(
desktop/web)即可安裝。 - 第三方插件管理:在「設置 → 插件 → 第三方插件」標籤頁,列出當前 profile 裏從第三方安裝的插件(內置 bundle 之外),並支持卸載、啓用、停用及版本檢測。
安裝與啓用¶
在終端執行以下命令安裝該插件:
dsh plugin --profile desktop add github:deronghe/dsh-plugin-desktop-installer
安裝後重啓 Desktop 生效。
典型用法¶
- 安裝完成後,重啓 DSH Desktop。
- 在「設置」中點擊右上角的「重啓 Desktop」按鈕。
- 在「設置 → 插件 → 安裝插件」標籤頁中,輸入倉庫地址(支持
github:owner/repo或@scope/pkg格式)並選擇目標 profile 即可完成安裝。
技術結構¶
該插件採用前後端分離結構:
lib/index.js:作爲 Host 端,註冊了/api/dsh-plugin-installer/{profiles,install,restart,installed,uninstall,set-enabled,check-updates,update}八個 HTTP 接口。lib/client.js:作爲瀏覽器端,負責設置界面的交互邏輯。cordis.patch.yml:負責將本插件注入到 profile 組合中。
適用場景與限制¶
適用場景:需要集中管理桌面端插件,或需要通過界面快速重啓桌面應用的開發者。
注意事項:
* Profile 限制:安裝、卸載和更新能力依賴桌面版獨有的 desktopPnpmBootstrap。在純 web profile 下運行會提示「缺少安裝能力」。啓用、停用和列表功能只需讀寫 profile 的 package.json,不依賴桌面服務。
* 網絡要求:版本檢測需要聯網,npm 插件查詢 registry.npmjs.org,github: 插件查詢 GitHub API(配置 GITHUB_TOKEN 環境變量可避免限流)。
* 生效範圍:操作寫入的是 $DSH_HOME/profiles/<name>,僅對本機該 profile 生效。
總結¶
這個插件將插件管理的操作集中到了桌面端的設置面板中。更多細節可參考其 GitHub 倉庫 或 SkillHub 目錄頁。