dsh-font-settings:DeepSeek Harness Web UI 字体设置插件

前言

DeepSeek Harness (DSH) 的 Web UI 支持通过插件扩展功能,但默认的字体配置往往无法满足特定开发或阅读场景的需求。dsh-font-settings 插件在「设置 → 通用」中提供了 UI 字体、代码/等宽字体以及侧边栏终端字号的独立设置入口,允许通过 CSS 栈或枚举方式自定义字体,从而改善长代码阅读或终端交互的体验。

插件简介

  • 名称:fuzz1og/dsh-font-settings
  • 维护者:fuzz1og
  • 许可证:MIT
  • 功能定位:DeepSeek Harness Web UI 插件,提供 UI 字体、代码/等宽字体与侧边栏终端字号的设置能力。

安装与启用

安装前请确保 DSH 版本满足要求(>=0.1.7-alpha.1 <0.3.0)。升级 DSH 后需重新安装本插件。

1、使用默认分支安装插件:

dsh plugin --profile web add github:fuzz1og/dsh-font-settings

2、确认插件已挂载。在配置输出中查找 font-settings 条目:

dsh --profile web --dump-config | grep -A2 font-settings

3、重启 DSH 并刷新 Web UI 后生效。

核心功能

本插件提供了三种设置字体的方式,覆盖了从通用配置到特定场景的深度定制。

1. UI 与代码字体设置

在「设置 → 通用」中,提供 UI 字体和代码/等宽字体的设置项。
- 自由文本:直接输入 CSS font-family 栈(例如 'Fira Code', monospace),回车应用。
- 内置候选:面板内置了常用字体家族列表,点击即可快速选择。
- 兼容性:此功能在所有浏览器中均可用,且无需任何特殊权限。

2. 侧边栏终端字体与字号

侧边栏终端(xterm)的字体栈由插件写死,因此无法直接修改。本插件通过 @font-face 别名和 CSS size-adjust 属性来实现间接控制。

  • 字体生效:必须使用 @font-face 定义 ui-monospace、SFMono-Regular 等别名,并使用 local() 引用字体的 FullName 或 PostScript Name。直接输入字体族名(如 Consolas)通常无法生效。
  • 字号调整:终端的字号(fontSize: 13)是写死的,插件通过 size-adjust 属性按比例缩放。若别名不生效,字号缩放也会失效。

3. 本机字体枚举(Chromium 桌面版增强)

在 Chromium 桌面版浏览器中,插件提供了「读取本机字体」按钮。
- 操作:点击按钮调用 window.queryLocalFonts() API。
- 结果:浏览器会枚举本机已安装字体,按 family 归并后缓存到 localStorage,供下拉选择。
- 限制:此功能需要安全上下文(HTTPS 或 localhost),且仅限 Chromium 桌面版。Firefox / Safari / Chrome Android 等环境按钮会置灰。

注意事项与限制

  • 权限:插件运行期零权限,不读写文件、不发起网络请求、不访问凭据。
  • 版本兼容:要求 DSH >=0.1.7-alpha.1 <0.3.0。低于 0.1.7-alpha.1 的版本因缺少 configForms 服务而不兼容。
  • 终端字体限制:local() 只匹配 fullName 和 postscriptName,不支持字体家族名或 typographic family 名。读取本机字体后,确保输入值与枚举结果一致。
  • 持久化:当使用远程 GUI 打开时,偏好存储在 localStorage 中(per-device);在本地(loopback)时则写入宿主配置。
羽毛球分组比赛记分
小程序二维码

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

小夜