前言¶
DeepSeek Harness 的 Web GUI 目前允许在设置中更改颜色方案和字体大小,但不允许更改字体族。核心的 dsh-client-ui-theme 包在 base.css 中使用硬编码的字体栈(--dsw-font-family 和 --dsw-font-mono)。dsh-ui-font 插件解决了这个问题,通过在设置页面添加两个可编辑行来覆盖这些令牌,无需触碰 DSH 的安装文件。
安装与启用¶
使用 DSH 插件管理器安装该包,安装后必须重启 dsh web 进程才能生效。
dsh plugin --profile web add dsh-ui-font
dsh web
浏览器刷新无法加载新插件,必须重启服务。
配置¶
安装完成后,打开 Settings → General。页面会增加两行设置,分别对应正文和代码字体:
- Body font:应用于正文文本和 UI 硅胶。
- Code font:应用于代码块和等宽文本。
点击每行的 Add font(添加字体)按钮,浏览器会询问字体访问权限。授权后,插件会读取本地已安装的字体列表。选择字体后,该字体会以芯片的形式显示在行中,可以多次添加以构建字体栈。芯片支持重新排序(调整后备优先级)和移除。
存储与默认值¶
选择的字体栈会被存储在插件自身的配置条目中,并以纯 CSS font-family 列表的形式保存。默认配置如下:
| 设置 | 默认值 |
|---|---|
sans |
"JetBrains Mono", "BIZ UDPGothic", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif |
mono |
"JetBrains Mono", "SF Mono", "Fira Code", Consolas, "Liberation Mono", monospace |
注意:JetBrains Mono 不包含 CJK 字形,因此默认的 sans 配置在首选字体无法渲染日文时,会回退到 BIZ UDPGothic 和 Noto Sans JP。如果需要支持 CJK,请确保在字体栈的后备顺序中包含至少一个支持中文的字体族。
手动编辑¶
存储的值是纯 CSS 字体栈,也可以通过直接编辑配置文件来覆盖:
# $DSH_HOME/profiles/<profile>/cordis.patch.yml
- id: ui-font
name: dsh-ui-font
config:
sans: '"JetBrains Mono", "BIZ UDPGothic", "Noto Sans JP", sans-serif'
注意事项¶
- 权限与重启:浏览器首次使用时需要授予字体访问权限。安装插件后必须重启
dsh web,仅刷新浏览器页面无效。 - 安全性:存储的值会被清理,移除大括号、分号和尖括号等可能导致注入的字符。
- 覆盖机制:插件使用
!important规则覆盖ui-layoutpresenter 注入的内联样式,以确保优先级。