前言¶
在使用 DeepSeek Harness (DSH) 进行智能体开发时,Web GUI 的默认字体有时无法满足特定的展示需求或品牌一致性要求。DSH 采用插件化架构,允许用户在不修改核心代码的情况下扩展功能。dsh-plugin-ui-font-family 插件正是为了解决 Web 界面字体显示的个性化问题而生。它不改变模型能力,仅作用于用户界面和对话的排版风格。
插件介绍¶
该插件由用户 rhczz 维护,开源许可为 MIT。它通过在 DSH 的 Web GUI 通用设置中增加一行,让用户可以切换预设字体、使用系统字体或上传自定义字体文件。
核心功能¶
- 界面集成:在设置菜单中新增一个字体选择行,默认位于“字体大小”选项下。
- 预设与搜索:提供四个内置预设供选择,同时支持扫描并搜索运行 DSH 的主机上已安装的字体。
- 自定义上传:允许用户上传字体文件(支持
.ttf、.otf、.woff、.woff2等格式),该部署会将这些字体提供给所有连接的浏览器使用。 - 管理对话框:提供独立的管理界面,用于上传新字体、删除已上传字体,并查看文件存储目录。
安装与启用¶
使用 DSH 提供的命令行工具添加插件。执行以下命令即可安装:
dsh plugin --profile web add dsh-plugin-ui-font-family
安装完成后,重启 dsh web 服务。重启后,在 Web 界面的设置菜单 -> 通用 -> 字体大小下,会出现新的字体选项。
配置与用法¶
插件支持在配置文件中设置默认字体,字段是可选的。配置项通常位于 profile 自身的文件 $DSH_HOME/profiles/web/cordis.patch.yml 中。
以下是一个配置示例,设置默认使用 serif 预设:
- id: ui-font-family
config:
defaultFamily:
source: preset
id: serif
defaultFamily 的 source 可选值为 preset、system 或 upload。id 对应预设名称、CSS 字体族名称或已上传字体的存储名称。如果用户进行了手动选择,用户的设置优先级高于配置文件中的默认值。
文件存储与卸载¶
上传的字体文件保存在 $DSH_HOME/fonts 目录中(默认为 ~/.dsh/fonts)。存储的文件命名格式为 <family>-<16 hex characters>.<extension>,扩展名由文件字节决定而非上传时的文件名。
卸载插件时,该目录下的上传文件不会自动删除。卸载命令为:
dsh plugin --profile web remove dsh-plugin-ui-font-family
注意事项¶
- 远程用户访问:远程用户(即非运行 DSH 进程的机器上的用户)仍能看到并选择上传的字体,但无法看到运行 dsh 的主机上的系统字体列表。
- 代码块字体:代码块内的文本将保持 Harness 自身的等宽字体堆栈,不受此插件影响。
- 文件残留:卸载插件后,
$DSH_HOME/fonts目录中的文件依然存在,如需彻底清理需手动删除该目录。
总结¶
dsh-plugin-ui-font-family 插件通过简单的配置实现了 Web 界面的字体个性化定制,适合需要统一品牌字体或特定阅读体验的场景。更多详情与源码可查阅:GitHub。