DeepSeek Harness 插件:dsh-terminal-font

前言

DeepSeek Harness(DSH)的側邊欄終端是開發者調試智能體、查看日誌和執行命令的核心界面。默認情況下,終端初始化時使用的字體棧(例如 Windows 上的 Consolas)不支持 Nerd Font 的私用區字形,導致 oh-my-posh、Powerline 或其他 Nerd Font 圖標顯示爲方塊。

dsh-terminal-font 插件通過在設置界面提供字體與字號配置,允許用戶直接修正終端渲染問題,而無需修改 DSH 的內部代碼。

插件定位

這是一個由 HTROY 維護的 DeepSeek Harness 插件,旨在解決 Web 終端中 Nerd Font 圖標顯示異常的問題。

  • 類型:Web UI / 終端
  • 許可證:MIT
  • 核心價值:在 DSH 設置中指定字體,使 Powerline 圖標和符號正確渲染。

安裝與啓用

安裝過程依賴 DSH 的 profile 管理能力(桌面版或 dsh web)。

方式一:設置界面安裝
1. 打開 設置。
2. 進入 插件 頁面。
3. 點擊 添加插件。
4. 在輸入框中填入:github:HTROY/dsh-terminal-font。
5. 確認安裝,插件會立即生效。

方式二:命令行安裝
在終端中執行以下命令:

dsh plugin add github:HTROY/dsh-terminal-font --profile desktop

方式三:本地源碼安裝

git clone https://github.com/HTROY/dsh-terminal-font.git
dsh plugin add /absolute/path/to/dsh-terminal-font --profile desktop

安裝完成後,可在 設置 -> 插件 中找到該插件進行管理。

使用方法

  1. 打開 設置 -> 終端。
  2. 字體設置:
    * 留空:系統會按順序嘗試以下推薦字體,只要機器上安裝了其中任意一款,圖標即可正常顯示:CaskaydiaCove Nerd Font Mono、JetBrainsMono Nerd Font Mono、CaskaydiaMono Nerd Font Mono、Hack Nerd Font Mono、MesloLGS NF。
    * 指定字體:輸入框支持下拉列表,可直接選擇已安裝的字體名稱。若輸入內容包含逗號,則按完整的 CSS 字體列表解析。
  3. 字號調整:使用界面上的 - 或 + 按鈕調整字號。選擇“自動”表示沿用終端內置字號。調整字號後,終端會自動重新適配列寬。
  4. 實時預覽:設置面板提供實時字形預覽功能,可確認 Powerline 分隔符與圖標是否正常顯示。

工作原理

該插件通過以下機制介入 DSH 的終端渲染流程:

  1. 注入配置:插件加載時,會攔截 @deepseek-ai/dsh-client-ui-sidebar-terminal 模塊的加載過程,利用 React 的 useRef 捕獲 xterm 實例,並修改其 fontFamily 和 fontSize 選項。
  2. 尺寸同步:針對字號變更,插件會重放終端的 ResizeObserver 回調邏輯,確保 xterm 網格與 PTY(僞終端)的列寬同步,避免顯示錯位。
  3. 兜底處理:對於插件加載前已經打開的終端,插件會通過 React Fiber 結構找到已存在的 xterm 實例,照搬其 fitScreen 邏輯進行同步。
  4. 持久化:設置保存在瀏覽器的 localStorage(鍵名爲 dsh-terminal-font.settings.v1),屬於本地偏好配置。

限制與注意

  • 依賴內部實現:插件依賴 @deepseek-ai/dsh-client-ui-sidebar-terminal 的內部接縫(如 chunk 加載方式、useRef 用法、ResizeObserver 回調語義)。若 DSH 內部實現升級導致這些細節變化,插件可能失效。
  • 本地字體依賴:字體文件必須安裝在使用瀏覽器的機器上。插件本身不打包字體文件,也不支持遠程加載。
  • 作用範圍:僅影響 Web 終端的渲染,不影響 DSH 的 Shell 工具卡片(bash/pwsh)輸出。
  • Host 端行爲:插件在 Host 側僅爲佔位,不註冊服務、不聯網、不讀寫本地文件。

總結

dsh-terminal-font 提供了一種輕量級的方式來修復側邊欄終端的字體顯示問題。它通過簡單的配置解決了 oh-my-posh 圖標顯示爲方塊的問題,並支持實時預覽與字號調整。

更多細節與源碼可參考:GitHub 倉庫

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

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

小夜