dsh-plugin-zh-inventory:爲 DSH 插件列表提供中文說明與啓停管理

前言

DSH 的擴展能力以插件形式進入 Web 設置頁。對使用者來說,內置「插件列表」標籤頁主要展示模塊名和短名,英文信息較多;第三方插件想要啓用或禁用時,也缺少一個直觀的操作入口。

下面介紹 dsh-plugin-zh-inventory。它爲 DSH 設置頁的「插件列表」標籤頁添加中文說明、分類標籤、分組文件夾與啓停開關,讓插件名、用途和啓停狀態更容易查看,並允許在 Web UI 中直接管理第三方插件。

這是什麼

dsh-plugin-zh-inventory 是 anxinyuanshiyu 維護的 DSH Web UI 插件,用於增強設置頁中的插件列表。

該插件在 package.json 中聲明的版本號爲 0.2.0,許可證爲 MIT。安裝啓用後,它會自動禁用內置的只讀「插件列表」標籤頁,並用帶中文說明的「插件列表(中文)」替代。

核心功能

中文說明與分類標籤

插件會爲列表中的條目補充中文說明和分類標籤。搜索框支持同時匹配以下內容:

  • 模塊名
  • 短名
  • 中文描述
  • 分組標題

分組摺疊狀態保存在 localStorage 中,刷新頁面後仍保留上一次的摺疊狀態。

分組文件夾

插件按 6 個可摺疊分組展示,每組顯示「已啓用 n/總數」。這種展示方式比平鋪列表更適合快速定位插件。

第三方插件啓停開關

第三方插件卡片右側提供啓停開關。點擊開關後,配置會寫入:

~/.dsh/cordis.patch.yml

DSH 配置監聽器隨後熱重載,幾秒內生效,無需重啓 DSH 進程。

系統插件與關鍵組件

DSH 系統插件,也就是 DSH 官方包,保持固定啓用,不顯示啓停開關。關鍵組件會顯示鎖圖標,表示禁止關閉。

安裝與啓用

本地插件方式(推薦)

README 將本地插件方式標註爲推薦,並說明升級 DSH 不丟失。

1、克隆倉庫:

git clone https://github.com/anxinyuanshiyu/dsh-plugin-zh-inventory.git

2、把插件註冊進 web profile 的 package.json。在:

~/.dsh/profiles/web/package.json

的 dependencies 中添加:

"dsh-plugin-zh-inventory": "link:<插件絕對路徑>"

並在 dsh.profile.bundles 數組末尾追加:

"dsh-plugin-zh-inventory"

3、安裝依賴:

dsh plugin --profile web install

4、啓動 Web 端:

dsh web

完成上面的步驟後,進入設置頁的插件列表,應該能看到由該插件提供的「插件列表(中文)」標籤頁。

直接覆蓋內置組件(臨時方案)

也可以將插件目錄中的:

lib/client.js

複製到:

node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js

然後重啓 DSH。

這種方式僅作臨時使用。README 說明,此方式在 npm 升級 DSH 後會丟失。

典型用法

查找插件

進入「插件列表(中文)」後,可以使用搜索框按模塊名、短名、中文描述或分組標題查找插件。

例如,想找某個處理會話、終端、技能或界面相關的插件時,可以先通過分組標題縮小範圍,再在搜索框中輸入中文關鍵詞。

啓停第三方插件

找到第三方插件卡片後,點擊右側啓停開關。插件會調用 host 側路由:

POST /api/zh-inventory/toggle

host 側校驗通過後,會把啓用或禁用狀態寫入:

~/.dsh/cordis.patch.yml

隨後 DSH 配置監聽器熱重載,幾秒內生效。

自定義中文說明與分類

如果後續需要調整插件說明,可以修改:

lib/client.js

中的 SHORT_ZH 對象。

如果要調整分類,可以編輯 categoryByShort 函數。

如果要修改受保護組件清單,需要同步修改以下兩處中的 PROTECTED 集合:

lib/index.js
lib/client.js

兩處需保持一致。

安全與限制

host 側只允許啓停第三方插件。DSH 系統插件返回 400;關鍵組件位於 PROTECTED 集合中,即使誤調用啓停接口也會被拒絕。

插件會以當前 DSH 進程權限運行。安裝前建議先檢查倉庫源碼,並確認 MIT 許可證符合你的使用場景。

本地插件方式更適合長期使用;直接覆蓋內置組件的方式只適合臨時調試,因爲 DSH 升級後可能丟失該覆蓋。

結尾

dsh-plugin-zh-inventory 主要解決三個問題:插件名看不懂、插件用途不直觀、第三方插件啓停不方便。安裝後,DSH 設置頁的插件列表會帶上中文說明、分類標籤、分組和啓停開關,第三方插件的啓用與禁用也能直接在 Web UI 中完成。

倉庫地址:

https://github.com/anxinyuanshiyu/dsh-plugin-zh-inventory
羽毛球分组比赛记分
小程序二维码

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

小夜