dsh-appearance-tuner:在瀏覽器裏實時調校 DSH 外觀令牌

前言

DeepSeek Harness(DSH)把界面拆成全局 CSS 變量(令牌)和各類浮層面板。默認主題能覆蓋主界面,但菜單、彈窗、第三方插件面板往往各自寫死背景或不用 backdrop-filter,想統一不透明度、毛玻璃或側欄色時,改源碼或寫用戶樣式成本高,也不便於試效果。

下面介紹社區插件 dsh-appearance-tuner(維護者 zxyxxby,SkillHub 分類「趣味換裝」):在 Host 頁面內提供面板,改動立即寫回令牌或(可選)直接覆蓋浮層元素樣式,配置落在瀏覽器 localStorage,無需構建步驟。

這是什麼

dsh-appearance-tuner 是 DSH 的客戶端外觀調校插件:實時調整浮層/面板的不透明度與配色、毛玻璃模糊、背景與側欄色、強調色、圓角、正文字號、滾動條寬度(README 英文摘要:Appearance tuner for DSH UI tokens)。

實現上,宿主側 lib/index.js 爲 Loader 可見的空實現;功能在 lib/client.js,採用 DSH 客戶端插件格式 window.__ModuleLoader__.load({ id, factory }),在 factory 中導出 name / inject / apply。插件不修改 DSH 或第三方插件源文件,只覆蓋全局外觀令牌與可配置選擇器下的浮層元素。許可證 MIT;package 版本 0.1.0;README 標明需 DSH 0.2.0-rc.2(依賴 @deepseek-ai/dsh-client-ui-slots 的 slots 服務)。

核心功能

浮層與面板

項目 範圍與說明
面板不透明度 0–100% 作用於所有浮層:菜單、彈窗、懸浮卡、各類面板;100% 爲實心
面板顏色 不勾選則跟隨亮/暗主題;勾選則爲固定色,並與不透明度組合
毛玻璃模糊 0–60px 數值越大越糊;與不透明度配合,模糊 0 且不透明 100% 爲完全不透
強力模式(默認開啓) 對浮層元素直接寫 background / backdrop-filter,覆蓋第三方面板寫死在 CSS 裏的樣式;目標選擇器可在面板中編輯

背景、形狀與其它

  • 主背景色 / 側欄底色 / 卡片層色:分別對應底色、側欄、卡片層次。
  • 強調色:選中態、鏈接、高亮。
  • 圓角 0–24px:菜單、彈窗、卡片。
  • 正文字號 −4 ~ +8px:對話正文縮放。
  • 滾動條寬度 4–20px:側邊滾動條。
  • 隱藏分隔線:將兩級邊框色設爲透明。
  • 顯示/隱藏懸浮按鈕:關閉後仍可從 設置 → 外觀調校 進入(若當前 profile 啓用了設置頁)。

面板提供預設:完全不透明、恢復 DSH 默認、純色極簡、全部重置、複製配置(JSON 到剪貼板)。

覆蓋機制(實現要點)

  1. 全局令牌:body, body * { --dsw-menu-surface-fill: … !important; … } 等變量。
  2. 強力模式(元素級):html body <目標選擇器> { background / backdrop-filter !important },用 html body 前綴提高優先級。

調校面板自身使用 dat- 前綴的獨立 CSS,避免被上述覆蓋影響,亮暗主題下保持可讀。

與 dsh-watcher 的兼容性

dsh-watcher 面板未使用 backdrop-filter,背景寫在其 CSS 中,不會隨「僅改全局令牌」一類改動生效。本插件默認開啓的強力模式已內置選擇器:

.xlpj2W_menu, .CEmiCq_hudBox, .CEmiCq_drilldownPanel, .CEmiCq_vizPanel, .CEmiCq_heatmapPanel

裝好後:面板不透明度/顏色、毛玻璃(由強力模式補 backdrop-filter)、強調色、正文字號、滾動條寬度、分隔線可作用;圓角不作用於 dsh-watcher 主面板(其 border-radius:12px 寫死在 CSS 中,本插件不改第三方源碼)。若不想影響 dsh-watcher,從「目標選擇器」中刪掉上述 class;要覆蓋其它插件面板,把對應 class 加入即可。

安裝與啓用

插件以當前 DSH 進程權限運行,安裝前建議閱讀 GitHub 倉庫 源碼與 MIT 許可證。

從 GitHub 安裝

桌面應用(Desktop profile):

dsh plugin --profile desktop add github:zxyxxby/dsh-appearance-tuner

純 Web(web profile):

dsh plugin --profile web add github:zxyxxby/dsh-appearance-tuner

裝完後重新打開 Host / 重啓 DeepSeek Harness,再刷新頁面。

從本地目錄安裝

dsh plugin --profile desktop add /path/to/dsh-appearance-tuner

卸載

dsh plugin --profile desktop remove dsh-appearance-tuner

典型用法

  1. 右下角 ◐ 懸浮按鈕(默認約 34% 透明度,懸停變亮),點擊展開調校面板。
  2. 或在 設置 → 外觀調校 打開(profile 啓用設置頁時)。
  3. 改動立即生效;持久化鍵名爲 dsh-appearance-tuner:v1(瀏覽器 localStorage)。

常用組合(來自 README):

  • 實心面板:不透明度 100%,模糊 0。
  • 毛玻璃:不透明度 55–85%,模糊 20–60px。

開發調試時,可運行 node tests/smoke.mjs 在最小 DOM 樁上離線加載客戶端分發文件;改 lib/client.js 後刷新頁面即可,調整文件結構後需重啓 Host。

適用場景與注意

適合:需要在不 fork DSH 的前提下快速試主題、統一浮層觀感,或讓 dsh-watcher 等寫死背景的面板也能跟不透明度和毛玻璃;要把當前參數導出爲 JSON 備份或分享。

注意:

  • 兼容性以 README 爲準:DeepSeek Harness 0.2.0-rc.2;社區目錄 SkillHub 插件頁 與 GitHub 爲獨立信息源,與 DeepSeek / 幻方無官方從屬關係。
  • 強力模式會提高 CSS 優先級,錯誤的選擇器可能影響無關元素;第三方寫死圓角等屬性時,本插件無法通過令牌改掉。
  • 配置僅存本瀏覽器 localStorage,換設備或清站點數據需重新調校或粘貼複製的 JSON。

結尾

dsh-appearance-tuner 把 DSH 外觀令牌和浮層樣式收成一塊可調面板,預設與 JSON 複製便於復位和遷移。目錄與詳情見 SkillHub:dsh-appearance-tuner,源碼與安裝說明見 GitHub:zxyxxby/dsh-appearance-tuner。

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

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

小夜