前言¶
DSH 本身是「一切皆插件」的宿主,界面主題這類東西天然是社區插件的活。問題是這類插件通常要麼只給一套深色、要麼要改配置文件改很久,「想換個合併看看」這一步很輕的的事,做起來很重。dsh-theme-material 解決的就是這件事:它把八套 Material / 類 Material 的配色塞進一個插件,設置頁裏點一張色卡就換,深淺都有,裝完不用改任何配置文件。下面介紹這個插件。
它由 heinrich0505 維護,放在社區目錄的「趣味換裝」分類下,目錄頁標註星標爲 0,是一個很新的小插件。它不擴展功能、不改工作流,只是把界面顏色這一層交給用戶控制。
這是什麼¶
一句話定位:給 DeepSeek Harness Web 界面提供八套預設配色主題的皮膚包,深淺各幾套,在設置裏切換。
它解決的問題有兩個:一是默認配色不一定合每個人眼睛的習慣,二是挨個調 CSS 變量的成本太高、且容易調出讀不清的低對比度組合。這個插件把這兩件事變成「點一下」。
八套主題¶
README 給了一張表,每套列出底色、強調色和一句說明。下面照錄,色值可以作爲挑選依據。
| 主題 | 底色 | 強調色 | 說明 |
|---|---|---|---|
| 夜紫 Palenight | #292D3E |
#80CBC4 |
Material 最有名的一套,靛藍灰底、青綠強調,側欄和正文同色 |
| 幽藍 Ocean | #0F111A |
#80CBC4 |
壓到近黑的深藍,狀態色是屏幕上唯一還亮着的東西 |
| 墨灰 Darker | #212121 |
#80CBC4 |
中性純灰,不帶色相,最不搶眼 |
| 素白 Lighter | #FAFAFA |
#26A69A |
Material 唯一的淺色主題:冷白紙面、藍灰字、青綠強調 |
| 奶咖 Latte | #EFF1F5 |
#8839EF |
Catppuccin 的淺色:灰紫底、紫強調 |
| 青苔 Vitesse | #FFFFFF |
#1C6B48 |
近乎純白的極簡底加一抹墨綠,彩度全場最低 |
| 霓光 Snazzy | #FAFBFC |
#09A1ED |
冷白底配亮青強調 |
| 灰階 GitHub Gray | #F0F0F0 |
#005CC5 |
整屏灰底配純黑字,README 裏說的加的那套 |
其中「灰階 GitHub Gray」就是維護者在簡介裏提到的 github light gray 那一套,相比其餘七套的原作者描述,這套是在 GitHub Light Gray 基礎上改的 GitHub 灰版。
安裝¶
README 給出兩種方式。應用內打開「插件 → 添加插件」,填入:
github:heinrich0505/dsh-theme-material
也可以走命令行,網頁端 profile 直接加:
dsh plugin --profile web add github:heinrich0505/dsh-theme-material
裝好按提示刷新窗口,插件纔會生效。
package.json 裏的聲明值得先看一眼:dsh.engines.dsh 是 >=0.2.0-rc.1 <0.3.0-0,compatibility.platform 只有 web,client.immediately 爲 true。換句話說它只保證在 Web 端按插件機制加載,對應版本區間是 DSH 0.2.x 的 rc 到 0.3 之前;版本明顯不在這個區間要先確認兼容性再裝。
換主題¶
換主題不需要命令,進 設置 → 通用 → 主題,點一張色卡即可。深色主題有夜紫、幽藍、墨灰三套,選它們時插件會把「外觀」一起切到深色;其餘五套淺色主題會切回淺色。之後如果你手動改「外觀」,就以你的爲準,插件不再接管。
選中的主題記在瀏覽器本地,而不是服務端。這意味着同一臺機器上用不同瀏覽器的人可以各自用一套,互相不覆蓋。
配色是怎麼算出來的¶
這套插件值得看的地方不是八張表,而是它怎麼把這麼少的定義變成一整套顏色。每套主題在 src/skins.mjs 裏只寫十個輸入:底色、卡片面、正文、註釋、強調色、次強調,以及幾個狀態色的來源。其餘按鈕、輸入框、邊框、代碼塊、提示條的顏色,由 src/derive.mjs 按用途推導出來,package.json 裏描述的是「一套 token 引擎按 appearance 推導 126 個 --dsw-* 顏色 token」。
推導時會保證讀得清:正文對比度不低於 7:1,次要文字和按鈕上的字不低於 4.5:1;達不到就把顏色往黑或往白調到最近的能滿足的值。npm run verify 會把每套主題的對比度打出來,哪一對不夠清楚直接標出來。
每套主題只定義它原生的那一面(深色或淺色),另一面自動補:深色主題的淺色版統一用 Material Lighter;淺色主題的深色版是中性夜色加這套主題自己的強調色。想自己做一套,照抄 src/skins.mjs 裏任意一段改顏色,然後跑上面的 verify 命令驗一遍即可。
適用場景與注意¶
適合這兩類人:一是想把自己的 DSH 界面調成順手習慣、但不想每次改 CSS 變量的人;二是需要給多套主題做對比、或者想抄它的 token 推導邏輯寫自己主題的人,它的 skins.mjs + derive.mjs + verify 這條鏈路可以直接當參考實現。
幾點必須清楚:
- 插件運行時以當前 DSH 進程的權限工作,裝之前應先檢查源碼(尤其是它對
cordis.patch.yml的 patch 和client的加載聲明)再決定要不要啓用。 - 許可證是 MIT,源碼可以自由查看和修改。
- 它只做配色,不提供功能擴展,期望「裝了插件 DSH 就變強」是不合適的。
- 版本 0.4.2,星標 0,屬於剛起步的小項目,更新窗口和技術依賴要有預期。
結尾¶
把它當作一個乾淨的配色層來看比較合適:八套主題、深淺都有、點一下就換,同時它自帶的 token 推導和對比度校驗讓「自己再做一套」這件事成本很低。目錄頁在 https://www.skillhub.cn/plugins/heinrich0505/dsh-theme-material,源碼在 https://github.com/heinrich0505/dsh-theme-material。
需要說明的是,這個目錄站是社區站點,與 DeepSeek / 幻方沒有官方從屬關係,不是應用商店。