前言¶
DeepSeek Harness(DSH)的 Web 界面默認字體棧來自設計系統,長時間盯界面或寫代碼時,很多人希望換成自己習慣的界面字體、等寬字體,並單獨調節控件字號與代碼字號。改 CSS 或 fork 主題可以,但升級 DSH 時要自己合併。下面介紹的 dsh-font 走 DSH 的 profile bundle 路線:在 設置 → 通用 增加一行 字體,把界面字體、代碼字體和兩條字號軸寫進持久化設置,由插件在主題層注入 CSS 變量。
這是什麼¶
dsh-font 是第三方 DSH Web profile bundle(npm 包名 @citisen/dsh-font,當前資料中的版本爲 0.3.1,MIT 許可證)。它在 Cordis 裏註冊設置命名空間 ui-font(profile 條目 id 同爲 ui-font),Node 半邊負責持久化與首屏繪製前的樣式,瀏覽器半邊註冊設置行並應用 --dsw-font-family、--ds-font-family-code 等變量。
維護與源碼:社區目錄線索爲 equasen/dsh-font(分類:趣味換裝);可覈對源碼的 GitHub 倉庫爲 equasen/dsh-font(公開資料中星標爲 0)。SkillHub 等社區目錄站點與 DeepSeek / 幻方無官方從屬關係,安裝前請自行查看倉庫源碼與許可證。
宿主要求:需要 dsh 0.1.5-rc.1 或更新的 0.1.5-rc.x;插件還適配 0.1.7-alpha.1 及之後的設置模型(0.2.3 起同時支持兩條線的設置,0.2.4 起不再依賴設計系統圖標導出)。它使用 settings.general.item 插槽、settingsScope / configForms 與 ctx.theme.overrideTokens,在 latest、next 通道中通常可用。
核心功能¶
安裝並重啓 Web 後,在 設置 → 通用 會出現 字體 行,包含兩個「字體查詢」編輯框,每個框右側有一個獨立的數字輸入框。
| 字段 | 作用 | 取值 |
|---|---|---|
| 界面字體 | 非代碼 UI 文字,對應 --dsw-font-family |
字體查詢(族名,可帶字重詞) |
| 界面字號 | 縮放寫死的界面文字尺寸 | 75 – 150(百分比,整數) |
| 代碼字體 | 代碼塊、行內代碼等,對應 --ds-font-family-code |
字體查詢 |
| 代碼字號 | 代碼區域字號 | 10 – 20 px |
字號框爲原生 number 輸入:只有完整且在範圍內的數值纔會寫入;輸入到一半離開時會恢復爲已保存值。
兩個字體框不是普通文本框,而是小型 font-family 查詢語言 編輯器:整條棧一段文本編輯,帶語法高亮、換行和本機字體補全;字重以單詞形式寫在對應字體族後面(例如 Geist Mono medium, monospace),插件再拆成 font-family 與 font-weight。設置隨編輯實時解析並寫入宿主文檔(命名空間 ui-font,常見路徑 $DSH_HOME/settings.yaml),重啓後仍生效。
需要單獨說明的兩點(以 0.3.1 爲準):
- 會話正文字號不在本插件裏。 對話正文、標題與表格的字號由 DSH 自帶 設置 → 外觀 → 字號大小(
ui-theme)控制;0.3.1已移除本行對--dsh-content-font-size的寫入,schema 中也不再包含contentFontSize。若舊版本曾保存該鍵,需從settings.yaml或 profile 的cordis.patch.yml中刪除,否則整段ui-font可能被校驗拒絕。 - 插件不安裝字體。 只有瀏覽器或系統能解析到的字體名纔會生效;寫錯名字會回退到棧末尾的通用字體,不會自動下載 webfont。
安裝與啓用¶
在已初始化 web profile 的機器上,使用 README 中的命令(不要自行拼接包名):
dsh plugin --profile web add @citisen/dsh-font
若不走 npm registry,可從 GitHub 安裝同一包:
dsh plugin --profile web add github:citisen/dsh-font
安裝完成後重啓 Web:
dsh --profile web
dsh plugin 會在 profile 目錄內轉發給 pnpm(需已在 PATH 上),並對 dsh.profile.bundles 對賬;因包聲明瞭 dsh.bundle,一般會自動追加 profile 層,無需手改 cordis.patch.yml。
卸載示例(資料原文):
dsh plugin --profile web remove @citisen/dsh-font
若插件因等待 settingsScope 等處於 pending 導致 dsh 無法完成啓動,README 給出了在無法啓動時禁用條目、一次性 patch 疊加或卸載等做法;profile 中對應行爲 id: ui-font,包名爲 @citisen/dsh-font。
典型用法¶
- 完成上述安裝並啓動
dsh --profile web。 - 打開 設置 → 通用 → 字體。
- 在 界面字體 框中編輯字體棧,例如:
Geist Mono medium, "Zhuque Fangsong (technical preview)", monospace
- 用右側數字框把 界面字號 設在 75–150 之間(如
110表示 110%)。 - 在 代碼字體 中配置等寬棧,代碼字號 設在 10–20 px。
- 需要恢復出廠時,使用行內的「恢復默認」;界面字重出廠爲 400 時不額外寫 CSS 規則。
改 對話區 正文字號時,應去 設置 → 外觀 → 字號大小,而不是本插件。
適用場景與注意¶
適合誰: 長期在 DSH Web 裏做智能體開發、審閱對話與代碼塊,希望統一換界面/代碼字體、微調控件或代碼字號,又不願維護一份 fork 主題的用戶。
使用前請注意:
- 插件以 當前 dsh 進程及其 profile 的權限 運行,會讀寫 profile 依賴與
$DSH_HOME下的設置;第三方 bundle,安裝前請閱讀 GitHub 倉庫 源碼與 MIT 許可證。 - 從 0.1.7 升級且曾使用舊條目名
font的用戶,若設置留在settings.yaml.imported,需按 README 的導入步驟把仍合法的ui-font鍵遷回,並刪除 schema 不認識的鍵。 - Windows 上跨盤符用
dsh plugin add <本地路徑>可能不可靠,README 給出了在 profile 目錄內用 pnpm 與目錄聯接的替代做法。
結尾¶
dsh-font 把 Web GUI 的界面字體、代碼字體和兩條字號軸收進設置頁一行裏,與 DSH 自帶的會話正文字號設置分工明確。若要進一步覈對字段與故障排除,以倉庫 README(含中文 README.zh.md)爲準。
- 社區目錄頁:https://www.skillhub.cn/plugins/equasen/dsh-font
- GitHub:https://github.com/equasen/dsh-font