DeepSeek Harness 插件

dsh-ui-font-linshufa

DSH 字体插件:修改整个界面的文字显示效果(正文字体 / 代码字体 / 显示比例 / 行高 / 字体平滑 / 代码连字 / 字体浏览器 / 中文字形标记),设置 → 字体。(英文原文)

跳到安装方式

来源信息

GitHub 仓库
linshufan21/dsh-ui-font
最近更新
2026年8月16日
分类
工具与能力
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/linshufan21/dsh-ui-font
插件名:dsh-ui-font-linshufa
作者:linshufan21

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-ui-font — DSH 字体插件 | DSH Font Plugin

> English: A client plugin that restyles the whole DSH UI — UI/code fonts, display scale, line-height, font smoothing, code ligatures, and a font browser with CJK glyph marking (Settings → Fonts).

> 中文: 修改整个 DSH 界面文字显示效果的客户端插件(设置 → 字体 / Fonts)。

功能

  • 正文字体:预设(微软雅黑 / 苹方 / 等线 / 思源黑体 / 更纱黑体 / 思源宋体 / 霞鹜文楷 / HarmonyOS Sans / MiSans)或自定义字体栈
  • 代码字体:预设(Cascadia Code / Consolas / JetBrains Mono / Fira Code / 更纱等宽 SC / Maple Mono / Maple Mono NF)或自定义
  • 显示比例:80–130% 等比缩放(zoom,默认 100% = 无变化)
  • 聊天区行高:1.3–2.0
  • 字体平滑:抗锯齿开关
  • 代码连字font-variant-ligatures
  • 字体浏览器:自定义字体时可打开子窗口,以列表形式展示本机所有已安装字体(每项用自身字形预览),点击即应用;枚举失败时自动降级为常见字体名单
  • 中文字形标记:字体浏览器中无中文字形的字体带「英文」角标,选择时会提示,避免中文显示回退
  • 应用反馈:应用按钮显示「已应用 ✓ / 无效输入 / ⚠ 无中文字形」,不再静默失败
  • 输入框字体跟随开关:默认关闭(避免输入法组合时光标错位);开启后输入框使用正文字体
  • markdown 全覆盖:智能体回复的正文、标题、列表、表格、链接等全部跟随正文字体(代码块保持等宽字体)
  • 实时预览 + 恢复默认

所有设置存浏览器 localStoragedsh-ui-font:*),刷新保持。

架构

  • lib/client.js — 浏览器端:设置分类注册 + 样式注入(静态规则一次注入,之后仅更新 CSS 变量,避免高频重建)
  • lib/index.js — 宿主端空实现(纯客户端插件)
  • cordis.patch.yml — bundle patch:把插件注册进 loader(insert),供 dsh-client-modules 发现 client bundle
  • package.jsondsh.bundle.patch + dsh.client 声明

关键约定(与 DSH rc.6 匹配)

  • exports.inject 只用 ["slots", "locale"]——不要声明 runtime(rc.6 已无该 cordis 服务,声明会导致 pending 卡界面)
  • 设置分类 id:dsh-ui-font;槽位 settings.dshUiFont.item;localStorage 前缀 dsh-ui-font:
  • 行组件 props 用展开式setSans/setCode/... 直接作 props),不要用 actions.xxx 对象

安装

官方快捷安装(推荐)

使用 DSH 自带插件命令,从 GitHub 直接安装:

dsh plugin add github:linshufan21/dsh-ui-font

然后编辑 profile 的 package.json%USERPROFILE%\.dsh\profiles\web\package.json),在 dsh.profile.bundles 追加 "dsh-ui-font",重启 DSH(关窗口重开)→ 设置出现"字体"。

本地开发安装

cd $env:USERPROFILE\.dsh\profiles\web
pnpm add "file:E:\deepseekwork1\dsh-ui-font"
# 然后编辑 package.json 的 dsh.profile.bundles 追加 "dsh-ui-font"
# 重启 DSH(关窗口重开)→ 设置出现"字体"

> 提示:Git 托管的插件若含构建脚本,pnpm 默认阻止 prepare——需要在 profile 的 pnpm-workspace.yamlallowBuilds 里放行对应包(本插件无构建脚本,无需处理)。

社区

开发与同步

改动 lib/client.js 后,运行同步脚本把文件复制到已安装副本并校验:

powershell -ExecutionPolicy Bypass -File E:\deepseekwork1\_工具脚本\sync-dsh-ui-font.ps1

然后 DSH 窗口 Ctrl+F5 强刷(bundle rev 动态计算,无需重启后端)。

已知限制

  • 开启「输入框字体跟随」后,中文输入法组合阶段(拼音未确认)可能因 Chromium 内核限制出现光标错位——默认关闭即可避免,正文显示不受影响
  • zoom(显示比例)仅在非 100% 时应用,默认不注入,不影响默认状态
  • 代码区选择器依赖 hash 类名(_codeBlock 等),DSH 大版本升级后可能失效(正文仍生效)
  • 字体枚举优先使用浏览器 Local Font Access API;若宿主拒绝权限则降级为内置常见字体名单探测,此时新安装的字体可能不出现,可直接手动输入字体名
  • 自定义字体栈已做防注入过滤(拒绝 ; { } ( ) < >、限长 300)

许可 / License

  • English: This project is licensed under the [MIT License](LICENSE) — free to use, modify and distribute, including commercial use, provided the copyright notice is retained.
  • 中文: 本项目基于 [MIT 许可证](LICENSE) 开源——允许自由使用、修改、分发(含商用),需保留版权声明。

卸载

cd $env:USERPROFILE\.dsh\profiles\web
pnpm remove dsh-ui-font   # 并手动从 package.json bundles 移除