dsh-typography: DeepSeek Harness 排版自定义插件

DeepSeek Harness(DSH)的 Web UI 依赖两个 CSS 变量来控制字体:--dsw-font-family(界面)与 --ds-font-family-code(代码)。在早期,要修改这些变量通常需要手动修改样式文件或使用复杂的 CSS patch 方式。dsh-typography 插件通过双面插件机制,将这两个变量封装成了两组独立的选择器,让界面字体与代码字体的管理变得直观。

插件信息

  • 名称:gan332/dsh-typography
  • 维护者:Gan332
  • 许可证:MIT
  • 类别:趣味换装
  • 简介:DeepSeek Harness 的排版自定义插件,支持界面字体与代码字体独立切换,提供在线预设与本地字体库支持。

核心功能

  1. 界面与代码字体独立管理:将原本混用的 CSS 变量拆分为两组,每组拥有独立的预设卡片、导入编辑器与持久化状态,互不干扰。
  2. 在线预设:内置 Inter、JetBrains Mono、Noto Sans SC 等在线字体。字体文件通过 jsDelivr CDN 分发,若离线则自动回退到系统字体栈。
  3. 本地字体库免转换:支持 woff2/ttf/otf 格式。将字体文件直接放入 %DSH_HOME%\typography\ 目录,无需转码即可在界面中点击应用。
  4. 可变字体友好:支持“可变·全字重”选项,可生成 font-weight: 100 900 的 @font-face 规则,真实呈现字体粗细。
  5. 默认选项与兼容性:选择“默认”时不输出任何样式,方便与其他字体类插件共存。内置迁移逻辑,兼容不同版本的 DSH defineStore 入口。

安装与启用

DeepSeek Harness 的不同入口(桌面端与 Web 端)使用独立的 profile。安装时请根据实际使用的入口选择对应的命令。

桌面端安装:

dsh plugin --profile desktop add github:Gan332/dsh-typography

Web 端安装:

dsh plugin --profile web add -w /path/to/dsh-typography

安装完成后,需重启对应入口。桌面端安装会记录恢复事务,重启后自动验证并清理。安装完成后,插件会出现在 设置 → 通用 → 字体(界面 / 代码) 中。

使用方法

切换字体

在“界面字体”或“代码字体”分组下,直接点击预设卡片即可实时应用。选择“默认”可恢复系统字体栈。

导入自定义字体

在对应组的编辑区填写三项信息后点击“添加”:

字段 说明
字体名 任意名称,用于在字体栈中引用(如 MiSans)
字体链接 支持 woff2 / ttf / otf 格式的外部链接
字重 400 常规 · 500 中等 · 600 半粗 · 700 粗体 · 可变·全字重。静态字体选择与文件实际粗细一致的字重;可变字体选“可变·全字重”以获得全部真实粗细

同一字体名 + 同一字重复添加会覆盖旧条目。

字体链接写法建议: 优先使用同源相对路径,避免因端口变化导致的链接失效。

本地字体库

将字体文件(woff2/ttf/otf)复制到 %DSH_HOME%\typography\ 目录下。

copy C:\Users\fish\Downloads\MiSansVF.ttf $env:USERPROFILE\.dsh\typography\

刷新页面后,在对应组的“本地字体库”列表中点击字体文件名即可应用。

注意事项

  1. 在线依赖:使用在线预设需要联网,离线时仅能使用系统字体栈。
  2. 本地文件命名:本地库文件名需以字母或数字开头(Unicode 字母即可,中文文件名可用)。
  3. 硬编码限制:部分组件(如工作区浏览器)硬编码了 Inter 优先栈,即便使用了本插件,这些位置仍可能显示 Inter。
  4. 插件冲突:若同时安装了 dsh-fonts,任一组选中预设或自定义字体时,本插件样式表会覆盖 dsh-fonts 的结果。

结语

dsh-typography 通过插件化方式解决了 DSH 字体配置割裂的问题。它提供了从在线预设到本地库的完整闭环,且对可变字体支持良好,适合希望在保持系统原生的同时,针对代码或界面进行精细化排版调整的开发者。

羽毛球分组比赛记分
小程序二维码

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

小夜