dsh-font:在 DSH Web 設置裏改界面字體與代碼字體

前言

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 爲準):

  1. 會話正文字號不在本插件裏。 對話正文、標題與表格的字號由 DSH 自帶 設置 → 外觀 → 字號大小(ui-theme)控制;0.3.1 已移除本行對 --dsh-content-font-size 的寫入,schema 中也不再包含 contentFontSize。若舊版本曾保存該鍵,需從 settings.yaml 或 profile 的 cordis.patch.yml 中刪除,否則整段 ui-font 可能被校驗拒絕。
  2. 插件不安裝字體。 只有瀏覽器或系統能解析到的字體名纔會生效;寫錯名字會回退到棧末尾的通用字體,不會自動下載 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。

典型用法

  1. 完成上述安裝並啓動 dsh --profile web。
  2. 打開 設置 → 通用 → 字體。
  3. 在 界面字體 框中編輯字體棧,例如:
Geist Mono medium, "Zhuque Fangsong (technical preview)", monospace
  1. 用右側數字框把 界面字號 設在 75–150 之間(如 110 表示 110%)。
  2. 在 代碼字體 中配置等寬棧,代碼字號 設在 10–20 px。
  3. 需要恢復出廠時,使用行內的「恢復默認」;界面字重出廠爲 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
羽毛球分组比赛记分
小程序二维码

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

小夜