🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

全局字体选择器 ErrorLst/dsh-global-font

DeepSeek 客户端
ErrorLst42 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

在设置页挑选界面与代码字体并即时全局生效

29.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/ErrorLst/dsh-global-font.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 42 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
  • 读取本地文件
    lib/index.mjs:42
    return normalize(JSON.parse(readFileSync(configPath, "utf8")));
  • 发起网络请求
    lib/client.js:101
    return fetch(CONFIG_URL, { cache: "no-store" }).then(function (response) { return response.json(); });
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 设置页选择界面字体
  • 设置页选择代码字体
  • 即时全局生效

README

由 DeepSeek 最新模型翻译生成
dsh-global-font DSH 全局字体插件:设置页提供字体选择面板(预设 + 自定义 + 预览),选择立即全局生效(含代码块与插件界面)并持久保存。 github.com/ErrorLst/dsh-global-font 功能 | 能力 | 说明 | | 设置页「字体」面板 | 侧栏设置 → 字体:UI 字体 / 代码字体两个下拉选择器 | | 预设字体 | 系统默认、system-ui、霞鹜文楷、思源黑体、微软雅黑、衬线;代码字体含 JetBrains Mono / Cascadia Code / Fira Code / Consolas | | 自定义字体栈 | 下拉选「自定义字体…
展开完整文档(README 剩余 1 节)
dsh-global-font

DSH 全局字体插件:设置页提供字体选择面板(预设 + 自定义 + 预览),选择立即全局生效(含代码块与插件界面)并持久保存。

github.com/ErrorLst/dsh-global-font

功能

| 能力 | 说明 |
| 设置页「字体」面板 | 侧栏设置 → 字体:UI 字体 / 代码字体两个下拉选择器 |
| 预设字体 | 系统默认、system-ui、霞鹜文楷、思源黑体、微软雅黑、衬线;代码字体含 JetBrains Mono / Cascadia Code / Fira Code / Consolas |
| 自定义字体栈 | 下拉选「自定义字体…」,输入完整 CSS font-family 栈 |
| 实时预览 | 选择后立即应用到整个 UI(含 markdown、代码块、插件界面),面板内同步预览两种字体 |
| 还原默认 | 一键恢复出厂基线(config.json) |
| 持久保存 | 0.1.2 起写入 dsh 设置文档(settings.yaml,跨浏览器);旧版 localStorage 值仅作历史兼容读取 |

原理

DSH 主题把字体收敛在两个 CSS 变量(@deepseek-ai/dsh-client-ui-theme):

| 变量 | 作用 |
| --dsw-font-family | UI 字体(body、按钮、输入框、markdown、插件 UI) |
| --ds-font-family-code | 代码字体(行内代码、代码块、终端、JSON 树) |

client half 注入一条 ,以 !important 覆盖这两个变量并强制 body/button/input/select/textarea 继承——宿主 UI 和使用主题变量/继承字体的插件 UI 都会统一换字体。

已核验(DSH 0.1.6-alpha.1):这两个变量仍定义在 DSH 的 packages/client/ui-theme/src/styles/base.css(--dsw-font-family 第 7 行、--ds-font-family-code 第 9 行),本插件引用的变量名与原文一致。

安装

dsh plugin --profile web add github:ErrorLst/dsh-global-font

本包声明了 dsh.bundle.patch:dsh plugin add 成功后 reconcile 会自动把它登记进 profile 的 bundle 层(dsh.profile.bundles),无需手动编辑配置;重启 dsh web 即生效。

本地开发安装(同一目录即本仓库 checkout):dsh plugin --profile web add 。

使用

1. 重启 dsh web 后刷新 GUI 页面(新 client bundle 自动生效)。
2. 打开侧栏 设置 → 字体,选择或自定义字体;选择立即全局生效并保存。
3. 想恢复默认,点「还原默认」即可。

配置与持久化

- 面板选择(0.1.2 起):保存到 dsh 设置命名空间 dsh-global-font——即 $DSH_HOME/settings.yaml 的 dsh-global-font: 节(与其他设置节并列,重启 dsh web 后保持,且跨浏览器同步)。Node half 在设置服务可用时注册该节(schema 与 config.json 同结构)。
- 读取优先级:settings.yaml 用户覆盖值 → localStorage(0.1.1 及更早版本保存的历史值,只读兼容、不再写入新值)→ 基线(config.json)。
- 服务器基线:包内 config.json(uiFont/codeFont 两个 CSS font-family 栈)作为出厂基线:设置节注册时作为组合 base 层快照;设置服务不可用时路由 /api/dsh-global-font/config 每次请求读盘。当前内容即 DSH 原始字体栈,可改为你偏好的默认。
- 路由应答:/api/dsh-global-font/config 同时下发 { uiFont, codeFont, base: { uiFont, codeFont } }——uiFont/codeFont 为有效值(settings.yaml 用户覆盖 → config.json 基线),base 为 config.json 出厂基线。无可写设置域(memory 模式 / 旧浏览器组合)的 client 在「还原默认」时应用 base,不会把 settings.yaml 用户值当基线重新应用;旧版服务器不下发 base 时保持原行为。
- 改动生效提示:设置服务挂载时基线取启动(注册)时快照,改 config.json 需重启;设置服务不可用的回退路径仍逐请求读盘(刷新页面即生效)。

settings.yaml 示例:

dsh-global-font:
uiFont: "'LXGW WenKai', 'Microsoft YaHei', 'PingFang SC', sans-serif"
codeFont: "'JetBrains Mono', Consolas, 'Courier New', monospace"

测试

零依赖(无需 node_modules、无需构建),直接用系统 node 运行宿主侧(Node half)回归测试:

node --test test/index.test.js
覆盖:路由注册({ kind: 'exact', path: '/api/dsh-global-font/config' },经 ctx.effect 托管并可注销)、无 settings 服务时返回 config.json 出厂基线(默认字体栈与 DSH base.css 同源)、installSection(owner, ns, schema, entry, hooks) 实参、setSource 后 GET 返回解析值而 base 保持出厂基线、非 GET/HEAD 返回 405。@deepseek-ai/schemastery 仅用于 schema 声明:未安装该依赖时测试用最小等价 stub 顶替(未安装依赖时需 Node >= 22.15,经 node:module registerHooks;已安装依赖的 Node 20 组合直接用真实包),不改动被测代码。

还原 / 卸载

1. 设置页「还原默认」:清 localStorage(key dsh-global-font.config)旧值;设置服务可用时 unset dsh-global-font 节的 uiFont/codeFont(回到 config.json 基线),否则回读 /api 应答中的 base(出厂基线)。
2. 完全卸载:dsh plugin --profile web remove @dsh-external/dsh-global-font(仅旧版本 dsh 才需手动删除 profile 的 insert 行)。

已知边界

- 插件若在具体元素上硬编码 font-family(如内联样式),不会被强制覆盖;绝大多数插件 UI 走继承或主题变量,均在覆盖范围内。
- 持久化首选 dsh 设置文档(settings.yaml);设置服务缺失的极端组合回落浏览器级 localStorage——两者都只作用于当前页面外观,且 settings.yaml 优先于 localStorage 历史值。

插件管理

已装插件用 plugin-registry 的薄控制台管理(浏览器面板):管理 profile 插件安装态(bundle 层栈 + insert 行 + 启停),无需手改配置。安装:dsh plugin --profile web add /packages/plugin/console
预览分享卡片长什么样 ↓ErrorLst/dsh-global-font
分享 · DeepSeek Harness Hub
ErrorLst/dsh-global-font

在设置页挑选界面与代码字体并即时全局生效

这是你的仓库?认领条目

回到顶部