dsh-plugin-catalog:把 DSH Web GUI 的插件頁升級爲一本插件目錄

前言

DSH 的理念是「一切皆插件」。第三方插件裝得多了之後,Web GUI 設置頁裏那份內置的「插件列表」就開始不夠用:想確認某個插件是不是第三方的、掛在哪些位置、具體做什麼,都得另外翻資料。下面介紹的 dsh-plugin-catalog 針對的就是這個問題——它把 設置 → 插件 頁升級爲一本插件目錄,補充第三方徽標、掛載點聚合和中英文功能說明,但不改變插件本身的安裝與管理方式。

這是什麼

dsh-plugin-catalog 是一個 DeepSeek Harness(DSH)Web GUI 插件,由 LuniteGlaze 維護,當前版本 1.0.0,License 爲 MIT。它接管設置頁中的「插件列表」標籤頁,把原來的列表替換爲一本可搜索、可篩選的插件目錄,解決「裝了一堆插件,卻看不清全貌」的問題。

核心功能

第三方徽標與頭部計數

以 profile 依賴清單判定插件是否爲第三方,卡片上直接給出徽標,頁面頭部彙總計數。

掛載點聚合

一個插件一張卡。如果同一插件掛載了多個位置,卡片顯示 ×N 掛載 徽標,展開後可以查看每個掛載點的層級/狀態。

中英文功能說明

卡片標題行單行展示中英文功能說明,懸停查看全文,展開後可在線編輯。說明是模塊級的,編輯結果持久化在 $DSH_HOME/plugin-descriptions.json。說明功能與內置描述字典來自 dsh-plugin-description(MIT),詳見倉庫中的 THIRD_PARTY_NOTICES.md。

搜索、篩選與排序

  • 搜索:分詞 AND、相關性排序、命中高亮;
  • 快速篩選:全部 / 第三方 / 已啓用 / 已停用;
  • 排序:名稱 / 第三方優先 / 狀態優先。

一鍵複製

來源 profile 與 entryId 支持一鍵複製,方便在排查問題或寫腳本時直接引用。

安裝與啓用

推薦從 GitHub Release 安裝:

dsh plugin --profile web add https://github.com/LuniteGlaze/dsh-plugin-catalog/releases/latest/download/dsh-plugin-catalog.tgz
# 重啓 dsh web 生效

也可以從 git 安裝。倉庫已提交構建產物 lib/,無需構建授權:

dsh plugin --profile web add github:LuniteGlaze/dsh-plugin-catalog

經過上面的步驟,重啓 dsh web 後,設置 → 插件 頁即爲目錄視圖。

二次開發

TypeScript 源碼在 src/,先修改源碼,再執行構建與類型檢查:

pnpm build
pnpm typecheck

適用場景與注意

適合插件裝得比較多、需要經常確認「裝了什麼、掛在哪、幹什麼用」的 DSH 使用者。

  • 本插件會禁用內置的「插件列表」標籤頁行;卸載後內置列表自動恢復。
  • 與同樣接管「插件列表」tab 的插件(如 dsh-plugin-description)互斥,不建議同時安裝。
  • 插件以當前 dsh 進程的權限運行。安裝前建議先閱讀源碼與許可證(MIT),確認可以接受再安裝。

結尾

dsh-plugin-catalog 沒有引入新的插件管理流程,只是把設置頁裏已有的信息組織成一本可檢索的目錄。源碼與發佈包見 GitHub:https://github.com/LuniteGlaze/dsh-plugin-catalog 。社區插件目錄(獨立站點,與 DeepSeek、幻方無官方從屬關係)上的條目地址來自插件線索,倉庫資料中未出現,僅供參考:https://www.skillhub.cn/plugins/LuniteGlaze/dsh-plugin-catalog 。

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

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

小夜