跳到主内容

dsh-font

9Star2Fork1Issue0Watching

为 DSH Web GUI 切换字体的插件:99 个界面字体 + 31 个代码字体,中西文搭配回退栈,即选即生效并通过 localStorage 持久化。

机审证据4/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
JavaScript
分支
main
dsh-plugin

安装

命令web profile
$ dsh plugin --profile web add github:tianyhjg-lab/dsh-font

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 tianyhjg-lab/dsh-font:先查看仓库 https://github.com/tianyhjg-lab/dsh-font 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

给 DSH Web GUI 换字体的插件:99 个界面字体(含中英文黑体/宋体/楷仿/手写/展示)和 31 个等宽代码字体,下拉里每项都用各自字体实时渲染,选完立即全局生效,刷新不丢。

核心能力

  • 切换界面字体:在「设置 → 常规 → 字体」选一个,覆盖整个 Web 界面的正文、按钮、侧边栏、标题、菜单
  • 切换代码字体:单独选一个,覆盖代码块、终端、JSON 树、diff 等所有等宽场景
  • 99 个界面字体分组选择:中文黑体 / 中文宋体 / 中文楷体仿宋 / 中文手写创意 / 西文衬线 / 西文无衬线 / 西文展示手写 共 7 组
  • 31 个代码字体选项:覆盖 Consolas、Cascadia Code、JetBrains Mono、Fira Code、Source Code Pro、Iosevka、Maple Mono 等常见等宽
  • 中西文搭配回退栈:选中文字体自动接一个西文衬底,选西文字体自动接一个中文衬底,混排不突兀
  • 即选即生效:选完不刷新页面立即全局换肤
  • 选择持久化:保存到 localStorage,下次打开还在

技术实现

  • 语言: JavaScript(ESM 入口 + 浏览器端手写 CJS bundle,零构建)
  • 关键依赖: @deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-locale、react、@deepseek-ai/cordis(均为 peerDependencies)
  • 架构模式: Cordis 双端插件 — index.js 是 host 侧 no-op 加载入口,cordis.patch.yml 注入 id=font 的 loader 项;浏览器端通过 window.__ModuleLoader__.load 注册 React 组件,向 slots.inject("settings.general.item") 注册设置行,用 locale.register 注册中英文字典,最终通过覆盖 :root 上的 --dsw-font-family 和 --ds-font-family-code 两个 CSS 变量实现全局换肤
  • 入口文件: index.js(host 侧)+ client.js(浏览器侧,含全部 UI 与样式注入逻辑)

适用场景

DSH Web 端用户希望替换默认字体以缓解长时间阅读疲劳、让中英文混排更顺眼、或用某款已装好的品牌字体(比如思源黑体、霞鹜文楷、得意黑)统一视觉风格;以及代码重度用户希望代码块与终端使用 JetBrains Mono / Fira Code / Maple Mono 等更好的等宽字体。

前置依赖与兼容性

依赖最低版本说明
DSH>=0.1.0-rc.6package.json#peerDependencies 声明依赖 @deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-locale、@deepseek-ai/dsh-client-ui-slots 均 ^0.1.0-rc.6;@deepseek-ai/cordis ^4.0.1
Node.js未声明package.json 未声明 engines;scripts.check 使用 node --check,无构建步骤
平台Webdsh.client.platform: "web",仅注入到 DSH Web GUI;桌面/移动浏览器亦可,但底层必须是 DSH Web
原生模块无不打包字体文件、不下载字体、不涉及原生模块

安装方式

dsh plugin --profile web add github:tianyhjg-lab/dsh-font

配置项

本插件无需额外配置文件,所有选择都在「设置 → 常规 → 字体」页内完成。设置行包含两个下拉与一行预览:

配置类型说明默认值
界面字体单选(99 项)覆盖整个 Web 界面的字体,影响正文、按钮、侧边栏、标题、菜单;分组为 中文黑体 / 中文宋体 / 中文楷体仿宋 / 中文手写创意 / 西文衬线 / 西文无衬线 / 西文展示手写默认(DSH 内置)
代码字体单选(31 项)覆盖所有等宽场景(代码块、终端、JSON 树、diff)默认(DSH 内置)

存储键:浏览器 localStorage 的 dsh-font:ui(界面)与 dsh-font:code(代码),选择「默认」会清掉对应键。识别为非法值时自动回落默认。

常见问题

Q: 安装后字体选项在哪?

A: 打开「设置 → 常规」,最下方会多出一行「字体」。界面字体 99 选 1、代码字体 31 选 1,下拉里每条都用各自字体渲染,下方有实时预览条。

Q: 需要在本机安装字体文件吗?

A: 需要。插件不打包、也不下载任何字体,font-family 列表只是名字。如果电脑没装所选字体,浏览器会自动 fallback 到栈里的下一项,所以选了不存在的字体也不会报错,只是看起来跟没换一样。

Q: 选择会记住吗?换浏览器或清缓存会丢吗?

A: 选择保存在浏览器 localStorage(dsh-font:ui 与 dsh-font:code),同源刷新/重启都还在。换浏览器、清缓存或换域名后才会丢,需要重新选一次。

Q: 怎么恢复默认字体?

A: 在设置里把界面字体和代码字体都选回「默认」即可,注入的样式会被清空,回到 DSH 内置字体。

Q: 商用时这些字体有授权问题吗?

A: 插件本身不包含任何字体文件,但字体的使用授权(尤其商用)由用户自己确认。思源/霞鹜/更纱等 OFL/Apache 开源可再用;方正/汉仪/华文等随系统授权,商用需自行评估。

Q: 卸载怎么卸?

A: 删掉依赖和 profile 的 bundles 注册并重启 dsh web 即可。卸载后注入的 <style> 元素会随插件卸载被清掉,不留残留。

Q: 看不到「字体」这一行怎么办?

A: 检查是否安装到了 web profile、是否在「设置 → 常规」页面最底部,并确认 dsh web 已重启;如果仍然没有,看浏览器控制台有无模块加载报错。

上手难度

入门 — 装完即用,不需要读文档、不需要写配置,打开设置下拉选字体就行。

已知问题与限制

  • 仅引用本机已装字体:未安装的字体自动回退到 fallback 栈,渲染不会失败但视觉与预期不一致;想要准确效果请自行安装对应字体文件
  • 选择存在浏览器本地:localStorage 是同源限定,换浏览器/换域名/清缓存都会丢失,与 DSH 主账号配置不同步
  • 不打包任何字体文件:files 数组里只有 index.js / client.js / cordis.patch.yml / README.md,插件包体极小但代价是用户必须自己解决字体来源
  • 仅支持 Web GUI:dsh.client.platform 锁定为 web,桌面端与 headless 客户端不会生效
  • 字体商用授权需用户自查:方正、汉仪、华文、微软雅黑等系统/Office 字体未随插件授权,商用需用户自行评估

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/tianyhjg-lab/dsh-font)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录