dsh-icon-theme:为 DSH Settings 与侧边栏提供可自定义图标

前言

DSH 0.1.x 尚未暴露公开 icon resolver,部分 settings 与 sidebar 目标在没有可靠匹配或原始图标时,会回退到同一个 Settings 齿轮。dsh-icon-theme 用于在 DSH 的 settings 与 sidebar 表面上自动发现可图标化的目标,并让用户按稳定键选择或恢复图标。

这是什么

dsh-icon-themeyzke 发布、MIT 许可的 DSH 插件,面向 DeepSeek Harness 的 settings 与 sidebar 表面,提供自动发现、用户可自定义的图标。它适合需要处理 settings.sectionsidebar.footer.action 图标一致性的 DSH 0.1.x 环境。

核心功能

下面介绍插件明确提供的能力。

  • 自动发现 live 的 settings.sectionsidebar.footer.action 贡献;当侧边栏部分渲染且无法按顺序关联时,使用 audited per-plugin 记录。
  • 按稳定键保存图标选择,例如 settings.section:market;不使用翻译标签或 DOM 位置作为持久化依据。
  • 内置 121 个字形:50 个 Fluent UI 16 Regular 字形、70 个官方 DSH UI 字形,以及 1 个 audited monochrome dsh-market 字形。
  • 运行时不使用 icon CDN、webfont、Iconify API、GitHub 请求或包扫描。
  • 卸载或热重载时恢复所有 host SVG,并移除自有 DOM 标记和样式。
  • 对未渲染贡献和非图标卡片只报告,不假装已更改。
  • 当目标没有可靠匹配且没有原始图标时,回退到 Settings 齿轮。
  • 页面列出已发现目标、稳定键、兼容状态和当前图标来源;支持按功能名、ID 或图标搜索,筛选 Settingssidebarunrecognizedcustomized 条目,选择字形,以及恢复单个或全部目标为自动行为。
  • Settings 使用固定命名空间、同源 Host endpoint,只接受 overridesoriginalPolicy;不能读取或修改其他插件命名空间。

安装与启用

先使用插件命令安装:

dsh plugin --profile web add dsh-icon-theme

安装后重启 dsh web,再打开:

Settings → Icons

如果从源码安装,执行以下步骤:

git clone https://github.com/yzke/dsh-icon-theme.git
cd dsh-icon-theme
npm ci
npm run build
dsh plugin --profile web add link:"$PWD"

源码构建需要 Node.js 22 或更新版本。

支持的 DSH peer range 是:

>=0.1.0-rc.6 <0.2.0-0 || >=0.1.1-rc.0 <0.2.0-0 || >=0.1.2-alpha.1 <0.2.0-0

该范围包含 source-only dsh-v0.1.2-alpha.1 GitHub preview。

卸载时使用:

dsh plugin --profile web remove dsh-icon-theme

然后重启 dsh web。插件会在卸载时恢复所有 host SVG,并移除自有 DOM 标记和样式。

典型用法

启用后,在 Settings → Icons 页面中完成以下操作:

1、按功能名、ID 或图标搜索目标。

2、筛选 Settingssidebarunrecognizedcustomized 条目。

3、为单个目标选择字形。

4、恢复单个目标或全部目标为自动行为。

dsh-better-sidebar 已安装时,它的 Settings 行图标默认作为可信原始图标保留;只有用户选择 replace-generic 或手动覆盖时才替换。

适用场景与注意

适合在 DSH 0.1.x 中使用 settings.sectionsidebar.footer.action 贡献,并希望减少统一齿轮回退的场景。

需要注意:

  • 检测只读取 DSH slot metadata 和两个渲染 UI 表面;不检查用户文件或其他插件 bundles。
  • DSH 0.1.x 尚未暴露公开 icon resolver,因此兼容层 intentionally narrow and reversible。
  • sidebar fallback fingerprints 固定到上游修订版本,可能需随插件 DOM 变化定期更新。
  • 插件以当前 dsh 进程权限运行;安装前应检查源码、依赖与 MIT 许可证。

链接

GitHub:

https://github.com/yzke/dsh-icon-theme
羽毛球分组比赛记分
小程序二维码

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

Xiaoye