dsh-custom-skin:DSH Web 界面字體與主題定製

前言

DeepSeek Harness (DSH) Web GUI 插件。旨在解決默認界面字體與代碼字體與本地開發環境不匹配、視覺風格難以統一的問題。該插件由用戶 v587d 維護,允許通過 Web UI 或控制台配置,實現界面字體、代碼字體及多套主題(Border / Nord / Twilight / GitHub / Atom One)的切換。

核心功能

  1. 字體自定義:支持分別配置界面字體和代碼字體,覆蓋 DSH 默認樣式變量 --dsw-font-family 與 --ds-font-family-code。
  2. 主題切換:提供多套主題色板,通過 ctx.theme.overrideTokens 覆蓋 --dsw-alias-* 令牌(需 light/dark 成對)。
  3. 即時編輯:在 DSH 設置頁的 Custom Skin 分節中可直接編輯配置。
  4. 本地持久化:偏好設置存儲於瀏覽器 localStorage(鍵 dsh-custom-skin.v1),刷新頁面後保持。
  5. 寬表格修復:修復寬表格在 hover 時的高度抖動問題,固定 overflow-x 與 padding。

安裝與啓用

使用官方 CLI 安裝插件:

dsh plugin --profile web add github:v587d/dsh-custom-skin

安裝完成後需重啓 Web 進程以加載資源:

dsh web

使用方法

  1. 打開設置:在 DSH Web UI 中導航至 設置 -> Custom Skin(若當前 DSH 版本支持 settings.section 注入)。
  2. 選擇主題:在 Color theme 下拉框中選擇預設主題,如 GitHub(默認)、Nord、Atom One 等。
  3. 配置字體:填寫本機已安裝的字體名稱。例如:
    • UI:"Microsoft YaHei", sans-serif
    • Code:"Fira Code", Consolas, monospace
  4. 手動配置:若缺少設置頁,可在瀏覽器控制台執行以下命令手動寫入配置:
localStorage.setItem('dsh-custom-skin.v1', JSON.stringify({
  uiFont: '"Microsoft YaHei", sans-serif',
  codeFont: '"Fira Code", Consolas, monospace',
  theme: 'github'   // 'default' | 'border' | 'nord' | 'twilight' | 'github' | 'atom-one'
}))
location.reload()

注意事項

  • 系統字體依賴:插件不打包字體文件,必須確保操作系統已安裝目標字體。
  • 插件衝突:若其他主題/皮膚插件也定義了同一批 CSS 變量,後加載的插件會覆蓋先加載的配置。
  • 卸載殘留:卸載插件後,localStorage 中的配置仍會保留,需手動清理。
  • 開發約束:lib/client.js 必須採用經典腳本形態(無頂層 export/import),DSH 使用 <script src> 加載。
  • 令牌覆蓋規範:主題顏色覆蓋應使用 ctx.theme.overrideTokens,不要直接手寫 :root 覆蓋。
  • Markdown 樣式:美化 CSS 依賴 [class*="_markdown_"] 與 body[data-ds-dark-theme] 選擇器。
  • 表格抖動修復:插件無條件輸出 --dsh-scrollbar-width 並用 !important 固定 .md-table-wide 的 overflow-x,代價是橫向滾動條常駐顯示。

鏈接

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

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

小夜