前言¶
DSH 的理念是「一切皆插件」,插件裝多了,問題往往不在裝,而在管:哪些插件正在運行、各自來自哪裏;臨時裝來調試的插件怎麼停用;第三方插件沒有統一的安裝入口;換一臺機器時,插件集合要逐個重裝。
gamelike-plugin-manage 解決的就是這一組問題。下面按功能、安裝、用法、注意事項的順序介紹。
這是什麼¶
gamelike-plugin-manage 是一個 DSH 插件,由 p83765295-sys 維護,許可證爲 MIT,當前版本 0.1.0。它提供插件樹管理、插件安裝、插件分組與插件包導出,覆蓋查看、禁用、啓用、卸載 DSH 插件等日常操作。
安裝後入口位於設置 → 插件管理,下分四個頁籤:
- 管理插件:查看與啓停已裝插件
- 插件安裝:從多種來源安裝新插件
- 開發插件:佔位,後續開放
- 插件包:插件分組與打包遷移
核心功能¶
管理插件¶
- 查看運行中的全部插件,按原生 / 用戶 / 臨時注入分類
- 禁用 / 啓用直接寫 patch 並熱應用,立即生效
- 卸載僅限用戶插件,寫入待重啓隊列;未重啓前可取消卸載,也可一鍵重啓 DSH 使其生效
- 禁用或卸載插件時,會清理其自帶的本地 Agent 預設
插件安裝¶
支持四種來源:
本地目錄 含 package.json 與 lib/ 的項目目錄
.tgz 直接拖拽進「插件安裝」頁籤
GitHub https://github.com/<owner>/<repo>,自動 clone + 構建
npm 輸入 npm install <pkg> 或包名,自動 npm pack 後安裝
安裝走隊列執行,任務面板即時顯示進度;失敗任務可「交給 AI 配置」。
插件分組¶
分組是引用集合,一個插件可以同時屬於多個分組。分組會顯示在「管理插件」列表,可一鍵整組啓用 / 整組禁用。
插件包¶
在「插件包」頁籤勾選插件並命名即可創建插件包,一個插件可同時屬於多個包,支持整包啓用 / 禁用。
插件包可導出爲 .tgz 帶到其他機器,目標機器導入後自動恢復插件包與成員狀態。導出包採用 dsh-plugin-pack@2 格式,導入時逐成員校驗 sha256,內容被篡改直接拒絕。
對已安裝插件存在交集時的裁決規則:
- 內容衝突(同 name、同 version、不同 sha256):拒絕安裝該成員,不靜默覆蓋
- 版本衝突(同 name、不同 version):拒絕安裝該成員
- entry id / bundle patch id 被其它插件佔用:拒絕安裝該成員
安裝到 DSH¶
README 未提供直接的一鍵安裝命令。按其說明,可通過以下任一方式把本插件裝進 DSH:
- 發佈包
.tgz - GitHub 地址
- 本地目錄(含 package.json 與 lib/)
安裝完成後,打開設置 → 插件管理即可使用。
安全機制¶
安裝與構建環節的默認策略:
- 不執行第三方倉庫自帶的
install.ps1/install.sh/ git hooks - 依賴安裝使用
npm install --ignore-scripts,不執行生命週期腳本 - 默認拒絕執行構建腳本,僅當用戶勾選「允許執行構建腳本」後才運行
npm rebuild/npm run build git clone使用--depth 1,失敗自動清理殘留
典型用法¶
安裝一個插件:
- 打開「插件安裝」頁籤
- 拖入
.tgz(或填路徑 / 地址) - 等任務顯示成功
暫時停用一個插件:
- 在「管理插件」頁籤找到該插件
- 點擊禁用,立即生效
- 再次點擊啓用即可恢復
把一組插件搬到另一臺機器:
- 在「插件包」頁籤創建插件包並勾選成員
- 導出
.tgz - 在目標機器的「插件安裝」頁籤拖入該包
適用場景與注意¶
適合已經裝了多個 DSH 插件、需要批量安裝第三方插件、或在多臺機器間遷移插件集合的用戶。
使用前注意:
- 插件以當前 dsh 進程權限運行,安裝第三方插件前應檢查其源碼與許可證
- 插件安裝/更新、禁用/啓用、卸載、重啓 DSH、刪除本地 Agent 預設等操作會修改 DSH 配置、進程或本地文件,使用前請自行備份重要配置與數據
- 卸載僅限用戶插件
- 本項目不是 DeepSeek 官方產品,與 DeepSeek 無隸屬或背書關係
小結¶
gamelike-plugin-manage 把 DSH 插件的日常管理——查看、啓停、卸載、安裝、分組、遷移——收進設置裏的一個入口,並通過 sha256 校驗與交集裁決避免導入時被靜默覆蓋。
- 插件目錄頁:https://www.skillhub.cn/plugins/p83765295-sys/gamelike-plugin-manage
- GitHub 倉庫:https://github.com/p83765295-sys/gamelike-plugin-manage