dsh-font-settings

DSH PLUGINUI 与外观

仓库 fuzz1og/dsh-font-settings

UI 与外观 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH plugin 字体偏好设置:在设置中提供 UI 字体与代码字体选择,支持系统字体枚举和自定义 CSS,实时生效。

一句话选型结论

按资料字段整理

dsh-font-settings 是UI 与外观类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类UI 与外观 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 1 · 未关闭 issue 1
最近更新 2026-09-28 创建于 2026-08-15
README 12.8 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:fuzz1og/dsh-font-settings#v0.6.1
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.0-rc.2 等 11 个;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.0-rc.2 等 11 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-font-settings:DeepSeek Harness 的字体偏好设置插件

  • UI字体选择
  • 代码字体选择
  • 系统字体枚举
  • 自定义CSS字体
  • 实时生效

上游标签

dshdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-09): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.0-rc.2 等 11 个),按版本装不容易报错。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在UI 与外观场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-font-settings当前 L5 · 运行验证通过 低风险 0 0.2.0-rc.2 等 11 个 有
nuwa-skill 未做沙盒验证 未标注 3.8 万 未标注 有
awesome-dsh-plugin L4 · 沙盒安装通过 低风险 1.8 万 0.1.1-rc.2 有
deepseek-balance-whale-widget L4 · 沙盒安装通过 低风险 4,492 0.1.7-rc.2 等 2 个 有
dsh-better-sidebar L4 · 沙盒安装通过 低风险 4,112 0.1.7-rc.2 等 10 个 有
dsh-deep-whale L4 · 沙盒安装通过 低风险 2,470 未标注 有

仓库档案

UI 与外观
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方fuzz1og仓库 dsh-font-settings · 默认分支 main
分类UI 与外观skin
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 1 / 1收录时的数值,非实时
创建 / 更新2026-08-15 · 2026-09-28最后推送 2026-09-28
本站收录2026-08-25首次进入本站目录的时间

README 全文

12.8 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-font-settings

DeepSeek Harness Web UI 插件:在「设置 → 通用」提供 UI 字体、代码/等宽字体与
侧边栏终端字号。选中的值是一个 CSS font-family 栈,不是枚举 id。

安装(远程)

插件以 GitHub 仓库为分发源(未发布到 npm),三种安装方式:

> 在 dsh 0.2.x(含 0.2.0-rc.1)上必须装 0.6.1 或更新版本。 0.6.0 及更早把
> @deepseek-ai/dsh-settings 的 peer 声明为 ^0.1.7-alpha.1,会被 0.2.x 的兼容门判为不兼容:
> dsh plugin add 直接拒绝,已装的行在启动时被禁用(reasonIncompatibleVersion)。
> 0.6.1 只放宽了声明范围(lib/ 代码未变),并已在 0.2.0-rc.1 上验证。

1. 跟随默认分支(推荐)

dsh plugin --profile web add github:fuzz1og/dsh-font-settings

2. 固定到版本 tag / commit(可复现)

dsh plugin --profile web add github:fuzz1og/dsh-font-settings#v0.6.1
# 或
dsh plugin --profile web add github:fuzz1og/dsh-font-settings#

3. 从 DSH STORE 市场安装

本插件对 DSH STORE 的固定源码扫描为零权限信号,上架后会自动归入 source-verified。
之后在 GUI 的 Plugins / Store 里搜索 dsh-font-settings 即可一键安装。

安装后

# 确认挂载(应出现唯一一条 - id: font-settings)
dsh --profile web --dump-config | grep -A2 font-settings

# 卸载
dsh plugin --profile web remove dsh-font-settings
  • 本包声明了 dsh.bundle.patch,dsh plugin add 会自动把它加入 profile 的
    dsh.profile.bundles,无需手改 patch 文件。重启 DSH 并刷新 GUI 后生效。
  • 远程 / LAN 打开 GUI:偏好是 per-device 的(非 loopback 走浏览器本地存储);
    Tier 2「读取本机字体」需要安全上下文(HTTPS 或 localhost),纯 HTTP 的 LAN 访问下按钮会置灰。
  • 兼容性:dsh >=0.1.7-alpha.1 <0.3.0;0.2.0-rc.1 / 0.1.7-alpha.1 / 0.1.7-alpha.2 实测兼容,
    0.1.6-alpha.2 及更早不兼容(无 configForms 服务)。见「兼容性与已知限制」。
  • 升级 DSH 后要重装:DSH 在安装时按 peerDependencies 里的 @deepseek-ai/dsh* 项与运行版本比对,
    不匹配会拒绝安装(已装则会禁用该行)。升到声明范围外的新 DSH 后,
    dsh plugin add 重装本插件即可。

使用

主路径 · 自由文本(所有浏览器,零权限)
输入框直接写 CSS 栈(如 'Fira Code', monospace),回车应用;清空回车恢复默认。
这条路永远可用,也是唯一一条不依赖任何浏览器能力/权限的路。

Tier 1 · 常用候选
面板内置一份常用家族(界面 / 等宽各一份),点击即用。非 Chromium 浏览器也有东西可点。

Tier 2 · 读取本机字体(可选增强,Chromium 桌面版)

  • 点「读取本机字体」→ 在点击手势里调用 window.queryLocalFonts();
  • 结果按 family 归并后缓存进 localStorage,下次打开面板直接可见;
  • Firefox / Safari / Chrome Android、或非安全上下文(非 HTTPS/localhost):按钮置灰并说明原因;
  • 拒绝授权:提示可在站点设置重新授权后重试;
  • 读到的 postscriptName / fullName 同时用于终端 local() 别名(见下)。

设计取舍

参考 opencode 的主路径(自由文本 CSS 栈,无服务端枚举)与 mcut 的分层增强:

层 来源 可用性
主路径 任意 CSS font-family 栈 全部浏览器,零权限
Tier 1 内置常用候选 全部浏览器,零权限
Tier 2 queryLocalFonts() 本机枚举 Chromium 桌面版,权限 + 手势

宿主扫描已删除。浏览器本来就无法枚举字体,而宿主能枚举的只是「运行 dsh 的那台机器」——
用远程 / LAN GUI 打开时会读到错误的机器。同时,宿主侧的 node:fs / process.env /
fetch( 会触发 DSH STORE 的 files / credentials / network 权限信号,使插件无法自动上架。
唯一实质损失是「非 Chromium 没有下拉枚举」,这也是所有主流项目共同接受的现状。

持久化

  • loopback:走官方 ctx.configForms.get("font-settings"),写本条目自己的
    volatile Config(5 个字段;条目 id font-settings 即命名空间)。
  • 非 loopback:宿主机文档属于另一台机器,偏好改为 per-device localStorage;
    远端页面不再写宿主机文档。
  • 自定义 HTTP 路由(/font-settings)与宿主字体扫描路由已删除。

终端字体与字号

侧边栏终端用一行写死的字体栈构造 xterm,不引用任何 dsh 字体 token,因此只能用
@font-face 别名改写 ui-monospace / SFMono-Regular / Menlo / Consolas
(monospace 通用族无法遮蔽):

@font-face{font-family:ui-monospace;src:local('Maple Mono NF CN Regular'),local('MapleMono-NF-CN-Regular');font-weight:400;font-style:normal}

local() 只匹配 FullName / PostScript 名,传家族名会静默失败。这两个字段现在来自
queryLocalFonts() 的 fullName / postscriptName,不再解析字体文件的 sfnt name 表。
没有 face 时(手输自定义栈、或未读取本机字体)只遮蔽 ui-monospace 并用家族名兜底。

终端字号通过给同一批别名加 size-adjust 生效:终端的 fontSize: 13 是写死的字面量,
只能按比例缩放。基准优先取活动终端真实渲染的字号,读不到时退回 13px 并只警告一次。
直接盖 CSS font-size 会让 xterm 的单元格测量与行渲染脱钩(实测每格漂移 ≈3.8px),故不采用。
选择器与回退基准是内部 DOM 依赖,DSH / xterm 升级后需要复核。

兼容性与已知限制

维度 声明
DSH >=0.1.7-alpha.1 <0.3.0(逐版本见 dsh.compatibility.dshReleases)
Node.js >=18.17.0
Profile / 平台 dsh.client.platform = web,dsh.compatibility.profiles = ["web"]
本机枚举 Chromium 桌面版 103+;Firefox / Safari / Chrome Android 无

逐版本实测(每个版本都在隔离安装 + 一次性 DSH_HOME 内跑通设置行 / LFA / 持久化):

DSH 版本 状态 证据
0.2.0-rc.1 ✅ compatible 一次性 DSH_HOME 隔离安装 → --dump-config 冷启动合成出唯一 font-settings 行 → 宿主半区冷导入 → 卸载全部通过;用该版本自带的 evaluatePluginCompatibility() 复核 peer 门(0.1.6-alpha.2 仍被拒);远程(默认分支)安装后实机运行正常;settings.general.item 槽位、客户端 configForms、宿主 settings.configure、schemastery .volatile() 已逐一核对存在且签名不变。未逐项复跑 Tier 1 / LFA / 持久化的 GUI 用例
0.1.7-alpha.2 ✅ compatible 真实 GUI E2E:设置行渲染、Tier 1、queryLocalFonts() 读到 148 个族、别名用 postscriptName、configForms 写回 profile patch、字号 size-adjust、清空恢复默认;0 console error
0.1.7-alpha.1 ✅ compatible 隔离安装 @deepseek-ai/dsh@0.1.7-alpha.1 + 一次性 DSH_HOME,同样 E2E 全部通过;宿主 settings.configure 与客户端 configForms 均存在
0.1.6-alpha.2 及更早 ❌ incompatible 客户端无 configForms 服务(inject 不满足、设置行不挂载),宿主无 settings.configure

DSH STORE 的兼容性策略只看官方最新 3 个 release;当前窗口为 0.2.0-rc.1 / 0.1.7-alpha.2 / 0.1.7-alpha.1,
矩阵中已有 3 个 compatible,满足 requiredCompatibleReleases: 1。

侧边终端字体的生效条件

侧边终端用写死的字体栈构造 xterm,只能靠 @font-face + local() 别名改写;
而 local() 只认 FullName / PostScript 名(Chromium 实测:family 名和 typographic family 名都不认)。
满足下面任意一条即生效:

路径 条件 典型值
直接生效(无需读取) 输入的值等于该字体的 FullName 或 PostScript 名 Consolas(family=fullName=postScript)、Cascadia Code Regular、CascadiaCode-Roman
读取后生效(推荐) 点过「读取本机字体」,且 LFA 报出的 family 与输入值一致 Hack Nerd Font、JetBrainsMono Nerd Font、Maple Mono Normal NL NF CN、NotoSansM Nerd Font Mono

为什么读取后这些 Nerd Font 都能生效:Chromium 的 FontData.family 取的是 typographic family(nameID 16),
没有 nameID 16 时才取 nameID 1——这正是插件存的 / 你输入的那个值。本机实测(WSL Chromium):

字体 nameID 1 nameID 16 LFA 报出的 family local() 实际能匹配的名字
Hack Nerd Font Hack Nerd Font 无 nameID 1 Hack Nerd Font Regular / HackNF-Regular
JetBrainsMono Nerd Font JetBrainsMono NF JetBrainsMono Nerd Font nameID 16 JetBrainsMono NF Regular / JetBrainsMonoNF-Regular
Maple Mono Normal NL NF CN Maple Mono Normal NL NF CN 无 nameID 1 … Regular / MapleMonoNormalNL-NF-CN-Regular
NotoSansM Nerd Font Mono NotoSansM NFM NotoSansM Nerd Font Mono nameID 16 NotoSansM NFM Reg / NotoSansMNFM-Reg
DejaVu Sans Condensed / Candara Light / DengXian Light … Condensed / … Light DejaVu Sans / Candara / DengXian nameID 16(nameID 1 的名字在 LFA 里根本不存在) —

对照:local() 对 family / typographic family 名一律不匹配(FontFace API 直接判定)——
Cascadia Code ❌、Mononoki Nerd Font ❌、DejaVu Sans Condensed ❌;
而 Cascadia Code Regular / CascadiaCode-Roman、Mononoki Nerd Font Regular / MononokiNF-Regular ✅。

仍未生效的情况:

  • 没读过本机字体,且输入的是 family / typographic family 名(最常见)。
  • 字体不在浏览器可见范围:Chromium 按进程枚举字体,读取之后新装的字体、浏览器看不到的用户字体都不会出现。
  • 自定义栈只看第一个 family;写成 'A', 'B' 时只按 A 找。
  • 非 Chromium(Firefox / Safari / Chrome Android)没有 LFA,只能走"直接生效"那条路。
  • 读取本身需要安全上下文(HTTPS / localhost)+ 手势 + 授权。

补充:界面 / 代码面的主题覆盖(--dsw-font-family / --ds-font-family-code)始终生效,与终端无关;
终端字号依附在同一套别名上,别名 face 不生效时字号缩放也不生效。

根因、候选修复(通过宿主组件实例调用 xterm 官方 term.options.fontFamily)与风险评估见
docs/terminal-font-research.md;该修复依赖 React 内部结构,并会触发 DSH STORE 的
protectedDsh 文本信号,暂不实施。

  • 非 Chromium 没有下拉枚举,请用主路径或 Tier 1。
  • 本机枚举需要安全上下文:纯 HTTP 的 LAN 访问下 API 不存在(按「不支持」置灰)。
  • local() 别名依赖浏览器能匹配到该字体;Chrome「Limiting Access to Local Fonts」提案会进一步
    限制 local(),届时别名可能失效,主路径不受影响。
  • 家族名被全局改写,所以面板里那几行「以自身字体预览」的示例文字也会跟着变,属外观副作用。

上架声明

  • 依赖:无运行期 dependencies / optionalDependencies / bundled 依赖,无生命周期脚本。
    peer 只声明宿主已提供的 react、@deepseek-ai/dsh-settings(optional)、
    @deepseek-ai/schemastery(optional)。
  • 权限:文件 / 网络 / 命令 / 凭据 全无。插件不读写任何文件(偏好落盘由宿主 settings 服务完成),
    不发起任何请求,不读 process.env,不 spawn 进程。
  • 外部服务:无。不访问 CDN、字体 API、Webhook 或遥测。
  • 失败边界:schemastery 解析失败 → Config 导出 undefined、只警告一次、
    偏好退回 per-device 存储,DSH 启动不受影响;queryLocalFonts() 不支持或拒绝 →
    按钮置灰并说明原因,主路径不受影响。

因此运行期源文件(package.json、cordis.patch.yml、lib/*.js)对 DSH STORE
固定源码策略的扫描结果为零权限信号,符合 source-verified 自动上架条件;
test/permission-signals.test.mjs 复刻官方正则把这条契约锁住。

验收

npm test                          # 全部回归(零信号 / 宿主形状 / 持久化 / LFA)
npm run verify:disposable-profile # 一次性 DSH_HOME:安装 → dump-config → 卸载

本地联调(独立 profile,不碰真实 web):

dsh fontdev --from-default-profile web --dump-config   # 首次创建 profile(只合成配置,不启动)
dsh plugin --profile fontdev add "$PWD"                 # 安装本地 checkout
dsh fontdev --no-open --port 3081                       # 启动

License

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-font-settings 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:fuzz1og/dsh-font-settings#v0.6.1` 即可。

dsh-font-settings 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-font-settings 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-font-settings 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-font-settings 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2、0.1.3-alpha.1。版本较多,只列出前 8 个。

dsh-font-settings 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-font-settings 有哪些功能?

UI字体选择、代码字体选择、系统字体枚举、自定义CSS字体、实时生效。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

3 条
不同作者的仓库分开列,请确认你要装的是哪一个
UI 与外观
按星标排序,可作替代方案

nuwa-skill

nuwa-skill

女娲 DSH plugin 只需输入一个名字,就自动调研、提炼并验证任何人的心智模型、决策启发式与表达 DNA,生成可直接调用的思维视角 S

未标注验证等级 3.8 万 星

awesome-dsh-plugin

awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harnes

L4 · 沙盒安装通过 1.8 万 星

deepseek-balance-whale-widget

DeepSeek-Balance-Whale-Widget

DSH 界面右下角的常驻小鲸鱼余额挂件,实时显示 DeepSeek 账户余额、今日已用与每轮对话消耗,支持拖拽吸附、Q 弹动画与音效,开箱即

L4 · 沙盒安装通过 4,492 星

dsh-better-sidebar

DSH-better-sidebar

面向 DeepSeek Harness 的服务化侧边栏工作台插件,把文件编辑、终端、Git 变更、子代理任务与侧边对话整合进右侧栏与底部面板

L4 · 沙盒安装通过 4,112 星

dsh-deep-whale

dsh-deep-whale

DSH Web 鲸鱼娘皮肤系列(深海女仆工坊 maid-atelier)。

L4 · 沙盒安装通过 2,470 星

deepseek-design

deepseek-design

可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。

L4 · 沙盒安装通过 1,438 星

fuzz1og 的其它插件

2 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-09。