dsh-plugin-ui-font-family:爲 Web 界面添加自定義字體支持

前言

在使用 DeepSeek Harness (DSH) 進行智能體開發時,Web GUI 的默認字體有時無法滿足特定的展示需求或品牌一致性要求。DSH 採用插件化架構,允許用戶在不修改核心代碼的情況下擴展功能。dsh-plugin-ui-font-family 插件正是爲了解決 Web 界面字體顯示的個性化問題而生。它不改變模型能力,僅作用於用戶界面和對話的排版風格。

插件介紹

該插件由用戶 rhczz 維護,開源許可爲 MIT。它通過在 DSH 的 Web GUI 通用設置中增加一行,讓用戶可以切換預設字體、使用系統字體或上傳自定義字體文件。

核心功能

  1. 界面集成:在設置菜單中新增一個字體選擇行,默認位於“字體大小”選項下。
  2. 預設與搜索:提供四個內置預設供選擇,同時支持掃描並搜索運行 DSH 的主機上已安裝的字體。
  3. 自定義上傳:允許用戶上傳字體文件(支持 .ttf、.otf、.woff、.woff2 等格式),該部署會將這些字體提供給所有連接的瀏覽器使用。
  4. 管理對話框:提供獨立的管理界面,用於上傳新字體、刪除已上傳字體,並查看文件存儲目錄。

安裝與啓用

使用 DSH 提供的命令行工具添加插件。執行以下命令即可安裝:

dsh plugin --profile web add dsh-plugin-ui-font-family

安裝完成後,重啓 dsh web 服務。重啓後,在 Web 界面的設置菜單 -> 通用 -> 字體大小下,會出現新的字體選項。

配置與用法

插件支持在配置文件中設置默認字體,字段是可選的。配置項通常位於 profile 自身的文件 $DSH_HOME/profiles/web/cordis.patch.yml 中。

以下是一個配置示例,設置默認使用 serif 預設:

- id: ui-font-family
  config:
    defaultFamily:
      source: preset
      id: serif

defaultFamily 的 source 可選值爲 preset、system 或 upload。id 對應預設名稱、CSS 字體族名稱或已上傳字體的存儲名稱。如果用戶進行了手動選擇,用戶的設置優先級高於配置文件中的默認值。

文件存儲與卸載

上傳的字體文件保存在 $DSH_HOME/fonts 目錄中(默認爲 ~/.dsh/fonts)。存儲的文件命名格式爲 <family>-<16 hex characters>.<extension>,擴展名由文件字節決定而非上傳時的文件名。

卸載插件時,該目錄下的上傳文件不會自動刪除。卸載命令爲:

dsh plugin --profile web remove dsh-plugin-ui-font-family

注意事項

  • 遠程用戶訪問:遠程用戶(即非運行 DSH 進程的機器上的用戶)仍能看到並選擇上傳的字體,但無法看到運行 dsh 的主機上的系統字體列表。
  • 代碼塊字體:代碼塊內的文本將保持 Harness 自身的等寬字體堆棧,不受此插件影響。
  • 文件殘留:卸載插件後,$DSH_HOME/fonts 目錄中的文件依然存在,如需徹底清理需手動刪除該目錄。

總結

dsh-plugin-ui-font-family 插件通過簡單的配置實現了 Web 界面的字體個性化定製,適合需要統一品牌字體或特定閱讀體驗的場景。更多詳情與源碼可查閱:GitHub。

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

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

小夜