前言¶
DeepSeek Harness(DSH)的 Web GUI 中,Models、Agent Presets、Plugins 等設置入口已經可以作爲獨立導航項使用。如果希望外觀配置也有一個獨立入口,並且讓皮膚跟隨系統明暗偏好自動切換,可以把換膚能力拆成插件來做。
dsh-tint-theme 是一個 DSH 插件,由 OneZero-Y 維護,爲 DSH Web GUI 提供皮膚選擇器,幷包含 DSH 原生的開源編輯器顏色主題移植,以及 3 個插件原創設計。
這是什麼¶
dsh-tint-theme 的定位可以概括爲:爲 DSH Web GUI 增加一個皮膚選擇器。
它解決兩個具體問題:
1、在 Settings 中提供一個專門的 Skins 入口,而不是把大量皮膚繼續塞進普通外觀設置中。
2、讓用戶選擇某個皮膚家族後,插件根據系統 prefers-color-scheme 自動啓用對應的 light 或 dark 皮膚,並在系統偏好變化時切換到同一家族的對應皮膚。
安裝要求¶
安裝前應確認 DSH 環境滿足以下條件:
- 有可用的
dsh webprofile。 - 使用
@deepseek-ai/dsh-client-ui-theme 0.1.0-rc.7或更高版本。 - 僅當從源碼安裝,或安裝需要構建的 git 依賴時,需要
Node.js >= 22.19。
安裝與啓用¶
先執行安裝命令,其中 <your-profile> 替換爲當前要使用的 DSH profile:
dsh plugin --profile <your-profile> add github:OneZero-Y/dsh-tint-theme
安裝後重啓該 profile,例如運行:
dsh web
然後刷新瀏覽器頁面。
如果第一次從 git 安裝時遇到 pnpm allowBuilds 錯誤,可以按以下步驟處理:
1、查看錯誤信息中提示的 exact package key。
2、在該 profile 的 pnpm-workspace.yaml 中,把這個 key 加到 allowBuilds。
3、重新運行上面同一條 add 命令。
這個限制來自 pnpm 10+ 對 git 依賴構建腳本的安全檢查,不代表插件本身損壞。
本地源碼安裝¶
如果需要從本地構建並安裝,可以先執行以下步驟:
git clone https://github.com/OneZero-Y/dsh-tint-theme.git
cd dsh-tint-theme
npm install
npm run build
dsh plugin --profile <your-profile> add "$PWD"
這一步會先拉取源碼、安裝依賴並構建產物,再把當前目錄作爲本地插件加入指定 profile。
核心功能¶
安裝完成後,Settings 導航中會新增一個 Skins 入口,與 Models / Agent Presets / Plugins 並列。
Skins 頁面會顯示一組皮膚家族瓦片,以及一個 Default 瓦片。選擇某個皮膚家族後:
- 插件根據當前系統
prefers-color-scheme啓用該家族的 light 或 dark 皮膚。 - 如果系統顏色偏好發生變化,插件會自動切換到該家族對應的 light 或 dark 皮膚。
- 用戶選擇的皮膚家族會保存到插件自己的 settings namespace,並在啓動時重新應用。
- 選擇 Default 後,外觀控制權會交回內置 Appearance 行。
皮膚來源¶
dsh-tint-theme 共包含 25 個皮膚家族:
- 22 個皮膚家族移植自開源編輯器顏色主題。
- 3 個皮膚家族爲本插件原創設計:Aftertype、Signalwave、Quietloop。
Aftertype、Signalwave、Quietloop 不是對任何商業編輯器或 AI coding tool 的移植,也沒有從屬關係。
移植主題的完整列表、上游倉庫和許可證信息見倉庫中的 THIRD_PARTY_NOTICES.md。
爲什麼要求 rc.7¶
這個插件要求 @deepseek-ai/dsh-client-ui-theme 0.1.0-rc.7 或更高版本,因爲它需要把自己的皮膚選擇持久化到插件 settings namespace。
早期針對 rc.6 及更低版本的發佈無法保留自己的選擇:宿主會把第三方 settings namespace 放在一個 allowlist 後面,插件自己的偏好存儲無法被瀏覽器讀回。rc.7 移除了這個 allowlist,因此插件才能保存用戶選擇,並在啓動時重新應用。
卸載¶
執行下面的命令移除插件:
dsh plugin --profile <your-profile> remove @onezero-y/dsh-tint-theme
適用場景與注意¶
這個插件適合在 DSH Web GUI 中使用 dsh web profile,並希望把皮膚切換作爲獨立設置項的用戶。
使用前需要注意:
- 插件以當前 DSH 進程權限運行,安裝前應檢查源碼、依賴和許可證。
- 插件許可證爲 MIT;移植主題的第三方許可證信息見
THIRD_PARTY_NOTICES.md。 - 從源碼安裝時,需要滿足
Node.js >= 22.19的要求。 - DSH 插件生態中的社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不要把它理解爲官方應用商店。
結尾¶
dsh-tint-theme 提供了一個可安裝的 DSH Web GUI 皮膚選擇器:新增 Skins 設置入口,跟隨系統明暗偏好,保存用戶選擇,並覆蓋 25 個皮膚家族。
GitHub 源碼地址:
https://github.com/OneZero-Y/dsh-tint-theme
如果通過 DSH 社區目錄瀏覽插件,可按插件名 dsh-tint-theme 搜索。