DeepSeek Harness(DSH)的 Web UI 依賴兩個 CSS 變量來控制字體:--dsw-font-family(界面)與 --ds-font-family-code(代碼)。在早期,要修改這些變量通常需要手動修改樣式文件或使用複雜的 CSS patch 方式。dsh-typography 插件通過雙面插件機制,將這兩個變量封裝成了兩組獨立的選擇器,讓界面字體與代碼字體的管理變得直觀。
插件信息¶
- 名稱:
gan332/dsh-typography - 維護者:Gan332
- 許可證:MIT
- 類別:趣味換裝
- 簡介:DeepSeek Harness 的排版自定義插件,支持界面字體與代碼字體獨立切換,提供在線預設與本地字體庫支持。
核心功能¶
- 界面與代碼字體獨立管理:將原本混用的 CSS 變量拆分爲兩組,每組擁有獨立的預設卡片、導入編輯器與持久化狀態,互不干擾。
- 在線預設:內置 Inter、JetBrains Mono、Noto Sans SC 等在線字體。字體文件通過 jsDelivr CDN 分發,若離線則自動回退到系統字體棧。
- 本地字體庫免轉換:支持 woff2/ttf/otf 格式。將字體文件直接放入
%DSH_HOME%\typography\目錄,無需轉碼即可在界面中點擊應用。 - 可變字體友好:支持“可變·全字重”選項,可生成
font-weight: 100 900的@font-face規則,真實呈現字體粗細。 - 默認選項與兼容性:選擇“默認”時不輸出任何樣式,方便與其他字體類插件共存。內置遷移邏輯,兼容不同版本的 DSH
defineStore入口。
安裝與啓用¶
DeepSeek Harness 的不同入口(桌面端與 Web 端)使用獨立的 profile。安裝時請根據實際使用的入口選擇對應的命令。
桌面端安裝:
dsh plugin --profile desktop add github:Gan332/dsh-typography
Web 端安裝:
dsh plugin --profile web add -w /path/to/dsh-typography
安裝完成後,需重啓對應入口。桌面端安裝會記錄恢復事務,重啓後自動驗證並清理。安裝完成後,插件會出現在 設置 → 通用 → 字體(界面 / 代碼) 中。
使用方法¶
切換字體¶
在“界面字體”或“代碼字體”分組下,直接點擊預設卡片即可實時應用。選擇“默認”可恢復系統字體棧。
導入自定義字體¶
在對應組的編輯區填寫三項信息後點擊“添加”:
| 字段 | 說明 |
|---|---|
| 字體名 | 任意名稱,用於在字體棧中引用(如 MiSans) |
| 字體鏈接 | 支持 woff2 / ttf / otf 格式的外部鏈接 |
| 字重 | 400 常規 · 500 中等 · 600 半粗 · 700 粗體 · 可變·全字重。靜態字體選擇與文件實際粗細一致的字重;可變字體選“可變·全字重”以獲得全部真實粗細 |
同一字體名 + 同一字重複添加會覆蓋舊條目。
字體鏈接寫法建議: 優先使用同源相對路徑,避免因端口變化導致的鏈接失效。
本地字體庫¶
將字體文件(woff2/ttf/otf)複製到 %DSH_HOME%\typography\ 目錄下。
copy C:\Users\fish\Downloads\MiSansVF.ttf $env:USERPROFILE\.dsh\typography\
刷新頁面後,在對應組的“本地字體庫”列表中點擊字體文件名即可應用。
注意事項¶
- 在線依賴:使用在線預設需要聯網,離線時僅能使用系統字體棧。
- 本地文件命名:本地庫文件名需以字母或數字開頭(Unicode 字母即可,中文文件名可用)。
- 硬編碼限制:部分組件(如工作區瀏覽器)硬編碼了
Inter優先棧,即便使用了本插件,這些位置仍可能顯示 Inter。 - 插件衝突:若同時安裝了
dsh-fonts,任一組選中預設或自定義字體時,本插件樣式表會覆蓋dsh-fonts的結果。
結語¶
dsh-typography 通過插件化方式解決了 DSH 字體配置割裂的問題。它提供了從在線預設到本地庫的完整閉環,且對可變字體支持良好,適合希望在保持系統原生的同時,針對代碼或界面進行精細化排版調整的開發者。