前言¶
在使用 DeepSeek Harness (DSH) 進行智能體開發時,Web GUI 的默認字體有時無法滿足特定的展示需求或品牌一致性要求。DSH 採用插件化架構,允許用戶在不修改核心代碼的情況下擴展功能。dsh-plugin-ui-font-family 插件正是爲了解決 Web 界面字體顯示的個性化問題而生。它不改變模型能力,僅作用於用戶界面和對話的排版風格。
插件介紹¶
該插件由用戶 rhczz 維護,開源許可爲 MIT。它通過在 DSH 的 Web GUI 通用設置中增加一行,讓用戶可以切換預設字體、使用系統字體或上傳自定義字體文件。
核心功能¶
- 界面集成:在設置菜單中新增一個字體選擇行,默認位於“字體大小”選項下。
- 預設與搜索:提供四個內置預設供選擇,同時支持掃描並搜索運行 DSH 的主機上已安裝的字體。
- 自定義上傳:允許用戶上傳字體文件(支持
.ttf、.otf、.woff、.woff2等格式),該部署會將這些字體提供給所有連接的瀏覽器使用。 - 管理對話框:提供獨立的管理界面,用於上傳新字體、刪除已上傳字體,並查看文件存儲目錄。
安裝與啓用¶
使用 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。