ssf13546/dsh-delta-theme:給 DSH 加一套可換壁紙的深色界面主題

前言

DSH 的界面風格默認跟隨宿主外觀,開發者長期使用一個聊天窗口時,默認配色未必順手。如果要做一套非官方的深色界面主題,難點通常不在配色本身,而在三處:能不能在不改宿主配置的情況下覆蓋外觀、能不能掛載自定義面板、以及對本地壁紙和參數的持久化要怎麼處理。

下面介紹 ssf13546 維護的 ssf13546/dsh-delta-theme。它是一個受《三角洲行動》界面風格啓發的非官方 DSH 深色主題,分類屬於社區目錄裏的「趣味換裝」,目錄頁標註 14 stars。它做了三件事:把消息、菜單、彈窗、文件卡片和代碼高亮統一成炭灰加薄荷綠的一套配色;提供本地壁紙、虛化和遮罩的背景設置面板;把外觀變成深色但不修改 DSH 保存的外觀偏好。作者明確聲明與遊戲官方無關聯,默認背景和圖標爲原創,不附帶遊戲壁紙、Logo 或字體。

這是什麼

一句話定位:一個只作用於界面呈現的 DSH 插件,用客戶端側的方式覆蓋顏色、背景和部分佈局。維護者是 ssf13546,倉庫地址 https://github.com/ssf13546/dsh-delta-theme,內部包名 @local/delta-force-ui,當前版本 1.1.1,MIT 許可證,版權歸 ssf13546。

它解決的是「想在 DSH 裏用一套固定的深色觀感,並換成自己的本地圖片當背景」這個需求,而不是提供對話能力或工作流。作者沒有把它發佈到 npm,private: true 只用來防止誤發佈,安裝從 Git 地址進行。

核心功能

主題配色統一:炭灰面板加薄荷綠強調色,覆蓋消息、菜單、彈窗、文件卡片和代碼高亮。淺色與深色宿主外觀下都呈現深色主題,同時不修改 DSH 保存的外觀偏好,停用後不會留下被改動的宿主設置。

背景設置面板在輸入框下方左側,右側顯示本地時間,點擊面板外部或按 Esc 收起。壁紙支持 PNG、JPEG、WebP,單文件最大 20MB,可選 0–30px 虛化與 55%–95% 遮罩,默認值分別是 12px 和 75%。

佈局上有一處取捨:隱藏對話頂部標題,保留側欄會話標題,側面定位標記改爲透明背景,目的是讓壁紙不被標題欄和標記塊割裂。

安裝與啓用

目前聲明已檢查的宿主版本是 DSH 0.2.1-rc.5,宿主更新後需要重新驗證。安裝地址固定到 1.1.1 試用版源碼的完整提交,格式已按官方安裝器覈對:

https://github.com/ssf13546/dsh-delta-theme.git#e0a3b032ea8e7490bec066256bfeca5bc3f08493

在 DSH 左側打開「插件」,點「添加插件」,在「包名或地址」裏粘貼上面的完整地址,按界面提示檢查並確認安裝:

https://github.com/ssf13546/dsh-delta-theme.git#e0a3b032ea8e7490bec066256bfeca5bc3f08493

安裝後確認主題已啓用,若頁面未更新就刷新 DSH 頁面。也可以把下面這段話發給 DSH 助手:

請幫我安裝這個 DSH 主題插件:
https://github.com/ssf13546/dsh-delta-theme.git#e0a3b032ea8e7490bec066256bfeca5bc3f08493
請先檢查宿主版本與插件來源,再按正常安裝流程讓我確認。

停用方式是在插件頁禁用「三角洲風格主題」。如果沒顯示中文名稱,按內部包名 @local/delta-force-ui 查找。作者建議同一時間只啓用一個界面主題。

典型用法

裝好後不需要改配置文件,直接打開任意會話即可看到效果。換壁紙的路徑是:點輸入框下方左側的「背景設置」,選擇本地圖片,拖動虛化和遮罩滑塊,確認後設置會保存。

如果想調整觀感,參考兩個來自 README 的建議:虛化設在約 8–12px,避免細碎背景干擾文字;遮罩根據圖片亮度調高,亮圖調高遮罩可保證正文對比度。改完不滿意,用「恢復原創背景」清除自選圖片並恢復默認參數(12px / 75%)。

壁紙的處理方式是:在本機縮小到最長邊 1600px 並轉換爲 JPEG,連同參數一起保存在當前 DSH 來源的 localStorage,不上傳。處理後的圖像不保留原始文件格式和透明度。不同瀏覽器或地址之間不共享設置,清除站點數據會刪除設置。編碼結果過大或存儲空間不足時會顯示錯誤並保留原設置。插件自身不發起網絡請求,也不讀取對話內容。所用圖片的使用權限需要自己確認,作者聲明發布包不包含個人壁紙或對話截圖。

適用場景與注意

適合兩類人:想在 DSH 裏用一套固定深色觀感、並且願意自己選本地壁紙當背景的開發者;適合做界面換裝實驗、想參考在一個客戶端插件裏如何覆蓋宿主樣式的人。如果你是要給團隊統一界面規範,需要先確認團隊內 DSH 版本號是否落在 0.2.1-rc.5 這一條線上。

安裝前應該先讀源碼和 LICENSE。主題使用宿主令牌、客戶端插槽和部分宿主 CSS 模塊類名,作者明確寫了宿主 DOM 或類名變化可能影響效果。也就是說,DSH 升級後主題可能靜默失效或錯位,需要重新驗證。這個插件以當前 DSH 進程的權限運行,換句話說它能看到你的會話界面,因此值得自己看一下代碼而不是隻按市場頁面描述安裝。作者還提到「全新 profile 的實際安裝尚未驗證」,遇到問題在 Issues 裏附上 DSH 版本和錯誤信息,截圖遮住私人內容。

驗證方面,作者提供了不需要第三方依賴的兩個命令:

npm test
npm run pack:check

npm test 依次跑語法檢查、可讀性測試和壁紙測試;npm run pack:check 用 npm pack --dry-run --ignore-scripts 檢查發佈包內容。自動檢查覆蓋語法、兩種外觀下的顏色對比度、九類 Shiki 高亮色,以及壁紙存儲校驗、滑塊批量預覽、保存失敗回滾、面板關閉和事件清理。作者自己也寫明,令牌對比度測試不能代替真實界面驗收。

目前已完成實機抽查的範圍是正文、鏈接、行內代碼、窄面板背景設置、點擊空白關閉和模型菜單。真實代碼塊、上傳失敗卡片、禁用按鈕、禁用後外觀恢復和重複啓用這幾項仍需完成實機驗收,細節在倉庫的 RELEASE-CHECKLIST.md。

結尾

這套主題的價值在於把「深色觀感 + 本地壁紙」這兩件事落在一個獨立的客戶端插件裏,不改宿主外觀偏好,也不做網絡請求。它對應的是界面換裝這個具體需求,功能邊界清楚,同時作者也把兼容性風險寫在了 README 裏,哪些已驗證、哪些還沒驗證都能查到。

目錄頁:https://www.skillhub.cn/plugins/ssf13546/dsh-delta-theme

源碼倉庫:https://github.com/ssf13546/dsh-delta-theme

社區目錄是第三方索引,與 DeepSeek / 幻方無官方從屬關係。

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

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

小夜