dsh-font-manager:在 DSH 里可视化管理界面、代码与终端字体

前言

DeepSeek Harness(DSH)桌面端里,界面、代码编辑区和终端各自可以配字体;官方在「设置 → 通用 → 字体」里也能改,但本机已装字体很多时,靠手打字体名和回退栈既慢也容易写错。社区插件 dsh-font-manager(维护者 Leafmy)把这件事做成独立设置页:枚举系统字体、改回退栈、导入自定义字体、实时预览,并一键恢复默认。字体通过 DSH 官方的 ctx.theme 服务写入,与通用设置共用同一份配置;不修改 app.asar,因此 DSH 更新后设置不会因改安装包而丢失。

这是什么

dsh-font-manager 是 DSH 的客户端类插件:在「设置 → 字体管理」里分别管理 UI、代码、终端字体。分类上属于客户端侧能力扩展;在 SkillHub 插件目录 与 GitHub 仓库 均可找到(当前目录页星标为 0)。包版本 0.1.0,许可证 MIT(字体文件本身不属于该项目,示例截图中的字体遵循各自上游许可)。

核心功能

下面这些是 README 与 package.json 中已写明的能力,安装并重启桌面端后即可在设置页使用。

  1. 三类字体:界面、代码、终端分别选择,与官方字体设置同一套底层。
  2. 枚举本机已装字体:不必死记字体全名,在列表里点选。
  3. 编辑回退栈:为某一类字体配置 fallback 顺序;还支持英文数字覆盖字体(见包描述)。
  4. 导入自定义字体:把不在系统列表里的字体纳入管理流程。
  5. 实时预览:改完即可在界面里看到效果,再决定是否保留。
  6. 一键恢复默认:误改或想回到初始状态时可用。

生效路径是官方 ctx.theme 服务;插件还会在运行时向 profile 的 cordis.patch.yml 写入与 id: dsh-font-manager 相关的覆盖行,一般无需手改该文件。

字体管理设置页

环境与依赖

安装前请确认 DSH Desktop ≥ 0.2.0-rc.1(包内 dsh.engines.dsh 声明为 >=0.2.0-rc.1)。DSH 插件管理器会按引擎版本拦截不满足的包;但若用下面「方式一」的 dsh plugin ... add,参数会透传给 pnpm,不会做版本校验,低版本上可能装得上却运行异常,需自行核对桌面版本。装完后完全退出并重开 DeepSeek Harness Desktop,再进入「设置 → 字体管理」。

安装与启用

方式一:从 GitHub 安装(推荐)

dsh plugin 会把参数交给 profile 目录里的 pnpm(由 DSH 自带,无需单独安装)。安装成功后会根据包的 dsh.bundle.patch 自动把 dsh-font-manager 追加进 ~/.dsh/profiles/<profile>/package.json 的 dsh.profile.bundles,一般不必手改 bundles。

# tag 源码包(稳定,推荐)
dsh plugin --profile <你的 profile 名> add https://codeload.github.com/Leafmy/dsh-font-manager/tar.gz/refs/tags/v0.1.0

# 或跟随 main 最新代码
dsh plugin --profile <你的 profile 名> add https://codeload.github.com/Leafmy/dsh-font-manager/tar.gz/refs/heads/main

Windows 上若 dsh 不在 PATH(例如便携版),可使用安装目录内的启动器:

<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd

升级时替换 URL 中的 tag 重新 add(先 remove 再 add 更干净)。卸载:

dsh plugin --profile <你的 profile 名> remove dsh-font-manager

卸载后同样需要重启桌面端。

方式二:本地源码或手动安装

从本地目录以 file: 协议加入 profile:

dsh plugin --profile desktop add file:/绝对路径/dsh-font-manager

仓库提供安装/卸载脚本,默认 dry-run 只打印步骤;真正写入需加 --apply:

node tools/install.mjs            # dry-run
node tools/install.mjs --apply      # 备份 package.json、建 junction、写 link 依赖、追加 bundles
node tools/uninstall.mjs --apply    # 回滚

不用脚本时,最少需要:把仓库放进 profile 的 node_modules/(复制或目录 junction)、在 dsh.profile.bundles 末尾加 "dsh-font-manager"、重启 DSH Desktop。包内 cordis.patch.yml 已 insert 了 id: dsh-font-manager,不要在 profile 层再重复 insert 同一 id,否则加载器可能无法启动。

典型用法

经过上面的安装与重启,日常流程可以固定为下面几步。

  1. 打开 DSH Desktop → 设置 → 字体管理。
  2. 在 UI / 代码 / 终端分区中从枚举列表选字体,按需编辑回退栈或英文数字覆盖字体。
  3. 需要时通过导入功能加入自定义字体文件,用实时预览确认可读性。
  4. 满意后保持当前设置(已写入 ctx.theme 与 profile 侧 patch);若要重来,使用一键恢复默认。

与官方「设置 → 通用 → 字体」修改的是同一份主题字体配置,两处不要互相打架:习惯上固定在一个入口维护即可。

适用场景与注意

适合长期在 DSH 里写代码、跑终端、调 UI 可读性的用户,尤其是本机装了很多字体、或需要精细 fallback 的场景。DSH 生态强调「一切皆插件」;SkillHub 等社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,安装前仍建议自行查看源码与 MIT 许可证。插件以当前 DSH 进程权限运行,导入字体时注意文件来源与许可。

结尾

dsh-font-manager 把字体选择从「记名字、改 asar」变成设置页里的可视化操作,并通过官方 ctx.theme 持久化。需要安装命令与截图说明时,以仓库 README 为准:GitHub — Leafmy/dsh-font-manager,目录页:SkillHub — dsh-font-manager。

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

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

小夜