dsh-font:在 DSH Web 设置里改界面字体与代码字体

前言

DeepSeek Harness(DSH)的 Web 界面默认字体栈来自设计系统,长时间盯界面或写代码时,很多人希望换成自己习惯的界面字体、等宽字体,并单独调节控件字号与代码字号。改 CSS 或 fork 主题可以,但升级 DSH 时要自己合并。下面介绍的 dsh-font 走 DSH 的 profile bundle 路线:在 设置 → 通用 增加一行 字体,把界面字体、代码字体和两条字号轴写进持久化设置,由插件在主题层注入 CSS 变量。

这是什么

dsh-font 是第三方 DSH Web profile bundle(npm 包名 @citisen/dsh-font,当前资料中的版本为 0.3.1,MIT 许可证)。它在 Cordis 里注册设置命名空间 ui-font(profile 条目 id 同为 ui-font),Node 半边负责持久化与首屏绘制前的样式,浏览器半边注册设置行并应用 --dsw-font-family、--ds-font-family-code 等变量。

维护与源码:社区目录线索为 equasen/dsh-font(分类:趣味换装);可核对源码的 GitHub 仓库为 equasen/dsh-font(公开资料中星标为 0)。SkillHub 等社区目录站点与 DeepSeek / 幻方无官方从属关系,安装前请自行查看仓库源码与许可证。

宿主要求:需要 dsh 0.1.5-rc.1 或更新的 0.1.5-rc.x;插件还适配 0.1.7-alpha.1 及之后的设置模型(0.2.3 起同时支持两条线的设置,0.2.4 起不再依赖设计系统图标导出)。它使用 settings.general.item 插槽、settingsScope / configForms 与 ctx.theme.overrideTokens,在 latest、next 通道中通常可用。

核心功能

安装并重启 Web 后,在 设置 → 通用 会出现 字体 行,包含两个「字体查询」编辑框,每个框右侧有一个独立的数字输入框。

字段 作用 取值
界面字体 非代码 UI 文字,对应 --dsw-font-family 字体查询(族名,可带字重词)
界面字号 缩放写死的界面文字尺寸 75 – 150(百分比,整数)
代码字体 代码块、行内代码等,对应 --ds-font-family-code 字体查询
代码字号 代码区域字号 10 – 20 px

字号框为原生 number 输入:只有完整且在范围内的数值才会写入;输入到一半离开时会恢复为已保存值。

两个字体框不是普通文本框,而是小型 font-family 查询语言 编辑器:整条栈一段文本编辑,带语法高亮、换行和本机字体补全;字重以单词形式写在对应字体族后面(例如 Geist Mono medium, monospace),插件再拆成 font-family 与 font-weight。设置随编辑实时解析并写入宿主文档(命名空间 ui-font,常见路径 $DSH_HOME/settings.yaml),重启后仍生效。

需要单独说明的两点(以 0.3.1 为准):

  1. 会话正文字号不在本插件里。 对话正文、标题与表格的字号由 DSH 自带 设置 → 外观 → 字号大小(ui-theme)控制;0.3.1 已移除本行对 --dsh-content-font-size 的写入,schema 中也不再包含 contentFontSize。若旧版本曾保存该键,需从 settings.yaml 或 profile 的 cordis.patch.yml 中删除,否则整段 ui-font 可能被校验拒绝。
  2. 插件不安装字体。 只有浏览器或系统能解析到的字体名才会生效;写错名字会回退到栈末尾的通用字体,不会自动下载 webfont。

安装与启用

在已初始化 web profile 的机器上,使用 README 中的命令(不要自行拼接包名):

dsh plugin --profile web add @citisen/dsh-font

若不走 npm registry,可从 GitHub 安装同一包:

dsh plugin --profile web add github:citisen/dsh-font

安装完成后重启 Web:

dsh --profile web

dsh plugin 会在 profile 目录内转发给 pnpm(需已在 PATH 上),并对 dsh.profile.bundles 对账;因包声明了 dsh.bundle,一般会自动追加 profile 层,无需手改 cordis.patch.yml。

卸载示例(资料原文):

dsh plugin --profile web remove @citisen/dsh-font

若插件因等待 settingsScope 等处于 pending 导致 dsh 无法完成启动,README 给出了在无法启动时禁用条目、一次性 patch 叠加或卸载等做法;profile 中对应行为 id: ui-font,包名为 @citisen/dsh-font。

典型用法

  1. 完成上述安装并启动 dsh --profile web。
  2. 打开 设置 → 通用 → 字体。
  3. 在 界面字体 框中编辑字体栈,例如:
Geist Mono medium, "Zhuque Fangsong (technical preview)", monospace
  1. 用右侧数字框把 界面字号 设在 75–150 之间(如 110 表示 110%)。
  2. 在 代码字体 中配置等宽栈,代码字号 设在 10–20 px。
  3. 需要恢复出厂时,使用行内的「恢复默认」;界面字重出厂为 400 时不额外写 CSS 规则。

改 对话区 正文字号时,应去 设置 → 外观 → 字号大小,而不是本插件。

适用场景与注意

适合谁: 长期在 DSH Web 里做智能体开发、审阅对话与代码块,希望统一换界面/代码字体、微调控件或代码字号,又不愿维护一份 fork 主题的用户。

使用前请注意:

  • 插件以 当前 dsh 进程及其 profile 的权限 运行,会读写 profile 依赖与 $DSH_HOME 下的设置;第三方 bundle,安装前请阅读 GitHub 仓库 源码与 MIT 许可证。
  • 从 0.1.7 升级且曾使用旧条目名 font 的用户,若设置留在 settings.yaml.imported,需按 README 的导入步骤把仍合法的 ui-font 键迁回,并删除 schema 不认识的键。
  • Windows 上跨盘符用 dsh plugin add <本地路径> 可能不可靠,README 给出了在 profile 目录内用 pnpm 与目录联接的替代做法。

结尾

dsh-font 把 Web GUI 的界面字体、代码字体和两条字号轴收进设置页一行里,与 DSH 自带的会话正文字号设置分工明确。若要进一步核对字段与故障排除,以仓库 README(含中文 README.zh.md)为准。

  • 社区目录页:https://www.skillhub.cn/plugins/equasen/dsh-font
  • GitHub:https://github.com/equasen/dsh-font
羽毛球分组比赛记分
小程序二维码

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

小夜