EAC-skin-loader: DSH UI 皮膚加載器

DSH 的理念是「一切皆插件」。在開發或使用 DSH 時,調整界面觀感是常見需求。傳統的換膚方式往往需要直接修改源碼或手動管理樣式文件,容易引入副作用且難以維護。EAC-skin-loader 提供了一個標準化的加載器,內置 13 款皮膚,支持公約化遷移,旨在讓換膚過程更加可控和可恢復。

插件定位

EAC-skin-loader 是 DSH-EAC 維護的 UI 皮膚加載器。它遵循弱約束公約 dsh.ecosystem.ui-skin-loader/v1,作爲參考實現。插件包含一個加載器核心和 13 款皮膚製品:2 款內置示例(本倉原創)和 11 款公約化遷移皮膚。

其核心價值在於零副作用的加載機制。在未激活狀態下,插件僅登記元數據,不產生任何視覺或行爲上的副作用。只有在用戶手動激活後,纔會切換觀感;停用時則會徹底關閉,確保與未安裝時保持一致。

核心功能

加載器提供以下功能:

  • 皮膚髮現與登記:自動掃描並登記已安裝的皮膚。
  • 全局互斥切換:同一時刻僅允許一款皮膚生效。
  • 持久化與跨重啓恢復:支持設置跨重啓自動恢復當前選中的皮膚。
  • 故障隔離:激活失敗時自動回滾,關閉超時則如實標記疑似殘留。
  • 跨標籤頁同步:確保在多標籤頁環境中觀感的一致性。
  • 設置頁控制台:在 DSH 設置中提供可視化的換膚控制台(支持亮暗雙案自適應)。

兼容性與要求

  • 適配宿主:@deepseek-ai/dsh 0.1.7-rc.2 或 0.2.0-rc.2。
  • 運行時:Node.js >= 24。
  • 當前版本:1.2.0。

安裝與啓用

推薦方式:Git 安裝

這是最高效的安裝方式,加載器會隨倉內嵌製品安裝,無需本地構建。

1、 執行安裝命令:

dsh plugin --profile web add github:DSH-EAC/EAC-skin-loader

2、 安裝後加載器自動啓動。它會根據 packages/loader/skin-manifest.json 檢查並補齊缺失的皮膚。該過程不會覆蓋你當前正在使用的皮膚,也不會切換觀感。

3、 打開 設置 → 皮膚,在底部的「皮膚自動補齊」分區可以查看各包的安裝狀態(已就緒 / 安裝中 / 失敗 / 已有其他版本 / 不再自動補回)。

構建安裝包

如果你需要離線安裝或控制構建流程:

1、 克隆倉庫並安裝依賴:

pnpm install
pnpm build

2、 在倉庫根目錄執行打包命令:

mkdir -p dist
npm pack --pack-destination dist

3、 在 packages/skins 下對每款皮膚目錄執行 npm pack,將產物移動到 dist 目錄。

4、 使用 dsh plugin add 逐個安裝產物(先加載器,後皮膚):

dsh plugin --profile web add <dist>/dsh-eac-ui-skin-loader-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-aurora-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-inkwash-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-trading-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-dragon-heir-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-whale-song-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-blue-fantasy-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-maid-atelier-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-miku-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-minecraft-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-qq98-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-ths-1.2.0.tgz
dsh plugin --profile web add <dist>/dsh-eac-skin-xp-1.2.0.tgz

使用方法

安裝完成後,重啓 DSH:

1、 打開 設置 → 皮膚,進入換膚控制台。
2、 點擊卡片上的 激活 按鈕。此時系統會應用該皮膚,並確保全局互斥(即舊皮膚會被移除)。
3、 在控制台中選擇 跨重啓自動恢復,下次啓動 DSH 時將保持當前觀感。
4、 若激活過程中發生錯誤,卡片內會顯示錯誤原文;若停用時檢測到異常,會如實標記爲「疑似殘留」。
5、 帶自定義設置的皮膚(如「極光之夜」)激活後,可在 設置 → 極光之夜 中進入其專屬設置分區。

皮膚清單

插件內置 13 款皮膚,包含 2 款內置示例和 11 款公約化遷移皮膚。許可邊界爲:工程骨架爲 MIT,觀感內容按其上游許可分發。

皮膚 包 皮膚 id 許可 來源
極光之夜 @dsh-eac/skin-aurora dsh-eac.skin.aurora MIT 內置示例(本倉原創,帶自定義設置面)
水墨青煙 @dsh-eac/skin-inkwash dsh-eac.skin.inkwash MIT 內置示例(本倉原創,無設置面)
交易終端 @dsh-eac/skin-trading dsh-eac.skin.trading MIT AND BSD-3-Clause dsh-web-ui
龍的傳人 @dsh-eac/skin-dragon-heir dsh-eac.skin.dragon-heir MIT AND BSD-3-Clause dsh-web-ui
鯨吟 @dsh-eac/skin-whale-song dsh-eac.skin.whale-song MIT AND BSD-3-Clause dsh-web-ui
藍色幻想 @dsh-eac/skin-blue-fantasy dsh-eac.skin.blue-fantasy MIT AND BSD-3-Clause dsh-web-ui
深海女僕工坊 @dsh-eac/skin-maid-atelier dsh-eac.skin.maid-atelier MIT AND CC-BY-NC-SA-4.0 dsh-external
初音未來 · 電子歌姬 @dsh-eac/skin-miku dsh-eac.skin.miku MIT AND BSD-3-Clause dsh-web-ui
Minecraft 方塊世界 @dsh-eac/skin-minecraft dsh-eac.skin.minecraft MIT AND BSD-3-Clause dsh-web-ui
QQ2008 懷舊版 @dsh-eac/skin-qq98 dsh-eac.skin.qq98 MIT AND BSD-3-Clause dsh-web-ui
同花順風格 @dsh-eac/skin-ths dsh-eac.skin.ths MIT AND BSD-3-Clause dsh-web-ui
Windows XP (Luna) @dsh-eac/skin-xp dsh-eac.skin.xp MIT AND BSD-3-Clause dsh-web-ui
鯨魚娘晝夜工坊 @dsh-eac/skin-deep-whale-day-night dsh-eac.skin.deep-whale-day-night MIT AND CC-BY-NC-SA-4.0 GGBond2424648901

注意事項

  • 依賴關係:皮膚製品清單指向 GitHub Release 資產。如果在 Release 發佈前安裝,補齊狀態會如實顯示失敗原因(網絡/404),但加載器本體不受影響。
  • 許可檢查:插件骨架爲 MIT,皮膚內容按上游許可。使用前請檢查源碼與許可證。
  • 未納入項:部分功能插件(如音頻通知、診斷落盤)不屬於純皮膚遷移,暫未納入本次發佈。

通過 EAC-skin-loader,開發者可以在 DSH 中通過標準化的方式管理 UI 皮膚,享受公約帶來的便利與零副作用的安全體驗。項目地址:GitHub。

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

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

小夜