dsh-plugin-directory:在 DSH 側邊欄瀏覽社區插件目錄

前言

DeepSeek Harness(DSH)把能力拆成可安裝的插件包,社區倉庫散落在 GitHub 上,靠搜索關鍵詞或口口相傳才能找到合適項目。維護者 yuan2042-droid 的 dsh-plugin-directory 在 DSH 左側欄增加「插件目錄」入口:把已篩選的社區插件按中文分類歸檔,支持搜索、多維排序和卡片/表格視圖,詳情頁可複製安裝命令,或在支持的宿主上一鍵走插件管理器安裝。界面在本地渲染,目錄數據隨包發佈,運行時不需要聯網,也不上報使用行爲。

這是什麼

dsh-plugin-directory 是 DSH 的 web 客戶端插件(dsh.client.platform: web),通過 Cordis patch 向宿主註冊側邊欄面板與中央主面板。它解決的是「不知道有哪些社區插件、裝哪一條命令」的問題,而不是替代 GitHub 或 SkillHub 等獨立站點;社區目錄站點與 DeepSeek / 幻方無官方從屬關係。

界面與核心功能

裝好後,左側欄會多一個四宮格圖標的「插件目錄」;點擊後在中央面板打開目錄,點 × 或切回對話即可關閉。

面板自上而下大致是:搜索框、排序下拉、升/降序、卡片/表格切換;一排帶數量的分類標籤;插件列表(卡片或表格)。單條卡片展示插件名、倉庫名、分類色標、描述摘要、標籤,以及 Star、語言、更新時間、官方標記等;點開進入詳情,可查看指標、標籤、GitHub 鏈接,並複製 dsh plugin add github:owner/repo 形式的安裝命令。

README 中歸納的能力如下(數據規模以構建時快照爲準,首個版本 README 寫明約 648 個插件,package.json 當前版本爲 0.2.1):

能力 說明
15 個分類 官方與核心、市場與資源、文檔與教程、辦公與科研、上下文與記憶、模型與推理、界面與外觀、客戶端與移動端、集成與連接、開發與調試、趣味與內容、會話與協作、工具與能力、技能與預設、其他與周邊
排序 綜合熱度、Star、最近更新、Fork、Issue、名稱、分類;可切換升/降序
搜索 名稱、倉庫、描述、標籤、分類名;空格分詞,需全部命中
視圖 卡片、表格
詳情 指標、時間、標籤、倉庫鏈接、複製安裝命令
一鍵安裝 詳情中調用宿主 ctx.remote.pluginManager.installBundle 安裝 github:owner/repo,與「設置 → 插件」同鏈路;失敗時在彈窗展示宿主返回原因;0.2.1 起改爲兩步確認,並屏蔽內核本體、awesome 列表、桌面端應用等不應通過目錄安裝的倉庫
零網絡 數據在構建期寫入 client.js,運行時無需請求 GitHub

安裝與啓用

插件以當前 DSH 進程權限運行;安裝任意社區包前,仍應自行查看目標倉庫源碼與許可證。下面命令均來自倉庫 README。

推薦:Release 離線包(無需 git,也無需構建權限):

dsh plugin --profile web add https://github.com/yuan2042-droid/dsh-plugin-directory/releases/download/v0.1.0/dsh-plugin-directory-0.1.0.tgz
# 桌面端把 web 換成 desktop,然後重啓應用

DSH Desktop:可在「設置 → 插件」中搜索 dsh-plugin-directory 安裝;或使用上條命令並指定 --profile desktop,然後重啓應用。

普通 dsh web:使用與 web profile 相同的 Release URL,安裝後重啓 dsh web。

從 GitHub 源碼倉庫安裝(本機需有 git;pnpm ≥10 可能攔截 git 依賴的構建腳本,README 說明了 profile 中 pnpm-workspace.yaml 的 allowBuilds 處理方式;構建產物 client.js 已隨倉庫提交,安裝時不跑 prepare):

dsh plugin --profile web add github:yuan2042-droid/dsh-plugin-directory

本地 checkout 開發時可用 dsh plugin --profile demo add .\dsh-plugin-directory,並用 dsh --profile demo --dump-config 確認配置裏出現 # == dsh-plugin-directory 段。

典型用法

  1. 按 profile 完成安裝並重啓 DSH(web 或 desktop)。
  2. 在左側欄點擊「插件目錄」,在中央面板瀏覽或切換分類標籤。
  3. 在頂部搜索框輸入關鍵詞(多詞用空格,需全部匹配);用排序下拉調整列表順序,必要時切換卡片/表格視圖。
  4. 打開目標插件詳情:複製安裝命令到終端執行,或在支持一鍵安裝的宿主上按提示確認安裝;安裝失敗時查看彈窗中的 code 與 diagnostic,或改用複製的命令手動安裝。

維護者刷新目錄數據時(需聯網抓取,與終端用戶使用無關)在倉庫根目錄執行:

powershell -NoProfile -ExecutionPolicy Bypass -File tools/fetch.ps1
node tools/build.mjs

fetch.ps1 寫入 data/raw.json;build.mjs 生成 data/catalog.json 並更新內聯數據的 client.js。

適用場景與注意

適合:經常在 DSH 裏試社區插件、希望在一個面板裏按分類瀏覽、對比 Star 與更新時間,並快速拿到安裝命令的 web/desktop 用戶。

兼容性:需要宿主提供 sidebar.panellist 與 main 槽位及 layout.selectPanel;README 寫明實測於 DSH Desktop 0.2.1-rc.5(dsh web 同爲 web 宿主)。0.1.5 以前的 web 宿主不會註冊面板,僅在控制台說明原因。包未聲明 engines.dsh;若 profile 因兼容性門禁拒絕安裝,README 建議可刪除 engines 段後再試,實際依賴的是槽位 API。

數據與體積:收錄規則在 tools/build.mjs 的 isDshPlugin 中定義(例如僅憑 dsh-plugin topic 的項目不收錄,避免污染榜單);分類由 RULES 關鍵詞表匹配。client.js 內聯約 230 KB 數據,首次加載會解析一次;規模繼續增大時,README 建議改爲 Host 側接口與分頁。

安全:目錄裏的「一鍵安裝」與複製命令都會安裝第三方代碼;安裝前請閱讀目標倉庫,勿 blindly 安裝屏蔽列表之外的敏感命名倉庫。

結尾

dsh-plugin-directory 把社區 DSH 插件收成側邊欄裏的可搜索、可排序本地目錄,並對接宿主插件管理器,縮短從「發現」到 dsh plugin add 的路徑。進一步瞭解實現(模塊容器、cordis.patch.yml、槽位 id 與 key 需同名等)可直接閱讀倉庫 README。

  • 目錄頁:https://www.skillhub.cn/plugins/yuan2042-droid/dsh-plugin-directory
  • GitHub:https://github.com/yuan2042-droid/dsh-plugin-directory
羽毛球分组比赛记分
小程序二维码

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

小夜