dsh-font-settings:DeepSeek Harness Web UI 字體設置插件

前言

DeepSeek Harness (DSH) 的 Web UI 支持通過插件擴展功能,但默認的字體配置往往無法滿足特定開發或閱讀場景的需求。dsh-font-settings 插件在「設置 → 通用」中提供了 UI 字體、代碼/等寬字體以及側邊欄終端字號的獨立設置入口,允許通過 CSS 棧或枚舉方式自定義字體,從而改善長代碼閱讀或終端交互的體驗。

插件簡介

  • 名稱:fuzz1og/dsh-font-settings
  • 維護者:fuzz1og
  • 許可證:MIT
  • 功能定位:DeepSeek Harness Web UI 插件,提供 UI 字體、代碼/等寬字體與側邊欄終端字號的設置能力。

安裝與啓用

安裝前請確保 DSH 版本滿足要求(>=0.1.7-alpha.1 <0.3.0)。升級 DSH 後需重新安裝本插件。

1、使用默認分支安裝插件:

dsh plugin --profile web add github:fuzz1og/dsh-font-settings

2、確認插件已掛載。在配置輸出中查找 font-settings 條目:

dsh --profile web --dump-config | grep -A2 font-settings

3、重啓 DSH 並刷新 Web UI 後生效。

核心功能

本插件提供了三種設置字體的方式,覆蓋了從通用配置到特定場景的深度定製。

1. UI 與代碼字體設置

在「設置 → 通用」中,提供 UI 字體和代碼/等寬字體的設置項。
- 自由文本:直接輸入 CSS font-family 棧(例如 'Fira Code', monospace),回車應用。
- 內置候選:面板內置了常用字體家族列表,點擊即可快速選擇。
- 兼容性:此功能在所有瀏覽器中均可用,且無需任何特殊權限。

2. 側邊欄終端字體與字號

側邊欄終端(xterm)的字體棧由插件寫死,因此無法直接修改。本插件通過 @font-face 別名和 CSS size-adjust 屬性來實現間接控制。

  • 字體生效:必須使用 @font-face 定義 ui-monospace、SFMono-Regular 等別名,並使用 local() 引用字體的 FullName 或 PostScript Name。直接輸入字體族名(如 Consolas)通常無法生效。
  • 字號調整:終端的字號(fontSize: 13)是寫死的,插件通過 size-adjust 屬性按比例縮放。若別名不生效,字號縮放也會失效。

3. 本機字體枚舉(Chromium 桌面版增強)

在 Chromium 桌面版瀏覽器中,插件提供了「讀取本機字體」按鈕。
- 操作:點擊按鈕調用 window.queryLocalFonts() API。
- 結果:瀏覽器會枚舉本機已安裝字體,按 family 歸併後緩存到 localStorage,供下拉選擇。
- 限制:此功能需要安全上下文(HTTPS 或 localhost),且僅限 Chromium 桌面版。Firefox / Safari / Chrome Android 等環境按鈕會置灰。

注意事項與限制

  • 權限:插件運行期零權限,不讀寫文件、不發起網絡請求、不訪問憑據。
  • 版本兼容:要求 DSH >=0.1.7-alpha.1 <0.3.0。低於 0.1.7-alpha.1 的版本因缺少 configForms 服務而不兼容。
  • 終端字體限制:local() 只匹配 fullName 和 postscriptName,不支持字體家族名或 typographic family 名。讀取本機字體後,確保輸入值與枚舉結果一致。
  • 持久化:當使用遠程 GUI 打開時,偏好存儲在 localStorage 中(per-device);在本地(loopback)時則寫入宿主配置。
羽毛球分组比赛记分
小程序二维码

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

小夜