前言¶
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