Introduction¶
The DeepSeek Harness (DSH) sidebar terminal is the core interface for developers to debug agents, view logs, and execute commands. By default, the font stack used when the terminal is initialized (for example, Consolas on Windows) does not support Private Use Area glyphs from Nerd Fonts, causing oh-my-posh, Powerline, or other Nerd Font icons to appear as squares.
The dsh-terminal-font plugin allows users to directly fix terminal rendering issues by providing font and font size configuration in the settings interface, without modifying DSH’s internal code.
Plugin Purpose¶
This is a DeepSeek Harness plugin maintained by HTROY, intended to resolve abnormal displays of Nerd Font icons in Web terminals.
- Type: Web UI / Terminal
- License: MIT
- Core value: Specify a font in DSH settings so that Powerline icons and symbols render correctly.
Installation and Activation¶
The installation process relies on DSH’s profile management capabilities (desktop version or dsh web).
Method 1: Installation from the Settings UI
1. Open Settings.
2. Go to the Plugins page.
3. Click Add plugin.
4. Enter the following in the input field: github:HTROY/dsh-terminal-font.
5. Confirm the installation; the plugin takes effect immediately.
Method 2: Command-line installation
Run the following command in a terminal:
dsh plugin add github:HTROY/dsh-terminal-font --profile desktop
Method 3: Local source installation
git clone https://github.com/HTROY/dsh-terminal-font.git
dsh plugin add /absolute/path/to/dsh-terminal-font --profile desktop
After installation, you can manage the plugin in Settings -> Plugins.
Usage¶
- Open Settings -> Terminal.
- Font settings:
* Leave blank: The system will attempt the following recommended fonts in order; if any of them is installed, the icons will display correctly:CaskaydiaCove Nerd Font Mono,JetBrainsMono Nerd Font Mono,CaskaydiaMono Nerd Font Mono,Hack Nerd Font Mono,MesloLGS NF.
* Specify a font: The input field supports a dropdown list, allowing you to directly select an installed font name. If the input contains a comma, it is parsed as a complete CSS font list. - Font size adjustment: Use the
-or+buttons in the interface to adjust the font size. Select “Automatic” to inherit the terminal’s built-in font size. After changing the font size, the terminal automatically re-fits the column width. - Live preview: The settings panel provides real-time glyph preview, allowing you to confirm that Powerline separators and icons display correctly.
How It Works¶
The plugin integrates into DSH’s terminal rendering process through the following mechanisms:
- Configuration injection: When the plugin loads, it intercepts the loading process of the
@deepseek-ai/dsh-client-ui-sidebar-terminalmodule, uses React’suseRefto capture the xterm instance, and modifies itsfontFamilyandfontSizeoptions. - Size synchronization: For font size changes, the plugin replays the terminal’s
ResizeObservercallback logic, ensuring that the xterm grid and PTY (pseudo-terminal) column width remain synchronized and avoiding display misalignment. - Fallback handling: For terminals already opened before the plugin loads, the plugin locates the existing xterm instance through the React Fiber structure and applies its
fitScreenlogic to synchronize it. - Persistence: Settings are saved in the browser’s
localStorage(key name:dsh-terminal-font.settings.v1) as a local preference.
Limitations and Notes¶
- Depends on internal implementation: The plugin relies on internal implementation details of
@deepseek-ai/dsh-client-ui-sidebar-terminal(for example, chunk loading behavior,useRefusage, andResizeObservercallback semantics). If DSH’s internal implementation changes due to an upgrade, the plugin may stop working. - Local font dependency: Font files must be installed on the machine running the browser. The plugin itself does not bundle font files nor support remote loading.
- Scope of effect: It only affects Web terminal rendering and does not affect the output of DSH’s Shell tool cards (bash/pwsh).
- Host-side behavior: On the host side, the plugin is only a placeholder; it does not register services, connect to the network, or read/write local files.
Summary¶
dsh-terminal-font provides a lightweight way to fix font display issues in the sidebar terminal. It resolves the issue of oh-my-posh icons appearing as squares through simple configuration, and supports both live preview and font size adjustment.
For more details and source code, see: GitHub repository