Introduction¶
When developing agents using DeepSeek Harness (DSH), the default font of the Web GUI may not meet specific display needs or brand consistency requirements. DSH uses a plugin-based architecture that allows users to extend functionality without modifying core code. The dsh-plugin-ui-font-family plugin was created to address personalized font display in the Web interface. It does not change model capabilities; it only affects the typographic style of the user interface and conversations.
Plugin Introduction¶
The plugin is maintained by user rhczz and is licensed under MIT. By adding a row in the general settings of DSH’s Web GUI, it lets users switch between preset fonts, use system fonts, or upload custom font files.
Core Features¶
- UI Integration: Adds a font selection row in the Settings menu, by default located under the “Font Size” option.
- Presets and Search: Provides four built-in presets to choose from, and supports scanning and searching fonts installed on the host running DSH.
- Custom Upload: Allows users to upload font files (supports
.ttf,.otf,.woff,.woff2, and other formats); this deployment makes these fonts available to all connected browsers. - Management Dialog: Provides a separate management interface for uploading new fonts, deleting uploaded fonts, and viewing the file storage directory.
Installation and Enablement¶
Add the plugin using DSH’s command-line tool. Run the following command to install it:
dsh plugin --profile web add dsh-plugin-ui-font-family
After installation, restart the dsh web service. After the restart, a new font option appears under Settings menu -> General -> Font Size in the Web interface.
Configuration and Usage¶
The plugin supports setting a default font in the configuration file; the field is optional. The configuration item is usually located in the profile’s own file $DSH_HOME/profiles/web/cordis.patch.yml.
Here is a configuration example that sets the default to the serif preset:
- id: ui-font-family
config:
defaultFamily:
source: preset
id: serif
The source of defaultFamily can be preset, system, or upload. The id corresponds to a preset name, a CSS font family name, or the storage name of an uploaded font. If a user makes a manual selection, the user’s setting takes precedence over the default in the configuration file.
File Storage and Uninstallation¶
Uploaded font files are saved in the $DSH_HOME/fonts directory (default: ~/.dsh/fonts). Stored files are named in the format <family>-<16 hex characters>.<extension>, where the extension is determined by the file’s bytes rather than the filename at upload time.
When uninstalling the plugin, uploaded files in this directory are not automatically deleted. The uninstall command is:
dsh plugin --profile web remove dsh-plugin-ui-font-family
Notes¶
- Remote User Access: Remote users (users not on the machine running the DSH process) can still see and select uploaded fonts, but they cannot see the list of system fonts on the host running dsh.
- Code Block Fonts: Text inside code blocks retains Harness’s own monospace font stack and is not affected by this plugin.
- Leftover Files: After uninstalling the plugin, files in the
$DSH_HOME/fontsdirectory still exist. If you need to clean them up completely, manually delete the directory.
Summary¶
The dsh-plugin-ui-font-family plugin achieves personalized font customization for the Web interface through simple configuration, and is suitable for scenarios requiring a unified brand font or a specific reading experience. For more details and source code, see: GitHub.