Preface

DSH 0.1.x has not yet exposed a public icon resolver. Some settings and sidebar targets will fall back to the same Settings gear when there is no reliable match or original icon. dsh-icon-theme is used to automatically discover iconifiable targets on the DSH settings and sidebar surfaces and allows users to select or restore icons based on stable keys.

What is this

dsh-icon-theme is a DSH plugin released by yzke under the MIT license, targeting the DeepSeek Harness settings and sidebar surfaces. It provides automatic discovery and user-customizable icons. It is suitable for DSH 0.1.x environments that need to handle the consistency of settings.section and sidebar.footer.action icons.

Core Features

The following outlines the capabilities explicitly provided by the plugin.

  • Automatically discover live settings.section and sidebar.footer.action contributions; when the sidebar is partially rendered and cannot be linked in order, audited per-plugin records are used.
  • Save icon selections based on stable keys, such as settings.section:market; translation tags or DOM positions are not used as persistence criteria.
  • Built-in 121 glyphs: 50 Fluent UI 16 Regular glyphs, 70 official DSH UI glyphs, and 1 audited monochrome dsh-market glyph.
  • No icon CDN, webfont, Iconify API, GitHub requests, or package scanning are used at runtime.
  • Restore all host SVGs upon uninstallation or hot reload, and remove self-owned DOM markers and styles.
  • Only report for unrendered contributions and non-icon cards; do not pretend changes have occurred.
  • Fall back to the Settings gear when a target has no reliable match and no original icon.
  • The page lists discovered targets, stable keys, compatibility status, and current icon sources; supports searching by function name, ID, or icon, filtering Settings, sidebar, unrecognized, customized entries, selecting glyphs, and restoring individual or all targets to automatic behavior.
  • Settings uses a fixed namespace, same-origin Host endpoint, and only accepts overrides and originalPolicy; it cannot read or modify other plugin namespaces.

Installation and Enablement

First, install using the plugin command:

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

After installation, restart dsh web and then open:

Settings → Icons

If installing from source, execute the following steps:

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"

Source code build requires Node.js 22 or newer.

Supported DSH peer range is:

>=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

This range includes the source-only dsh-v0.1.2-alpha.1 GitHub preview.

To uninstall, use:

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

Then restart dsh web. The plugin will restore all host SVGs upon uninstallation and remove self-owned DOM markers and styles.

Typical Usage

Once enabled, complete the following operations in the Settings → Icons page:

  1. Search for targets by function name, ID, or icon.
  2. Filter Settings, sidebar, unrecognized, or customized entries.
  3. Select a glyph for a single target.
  4. Restore a single target or all targets to automatic behavior.

When dsh-better-sidebar is installed, its Settings row icon is retained by default as a trusted original icon; it is only replaced when the user selects replace-generic or manually overrides it.

Applicable Scenarios and Notes

Suitable for scenarios in DSH 0.1.x using settings.section or sidebar.footer.action contributions and wishing to reduce the occurrence of unified gear fallbacks.

Please note:

  • Detection only reads DSH slot metadata and two rendered UI surfaces; it does not check user files or other plugin bundles.
  • DSH 0.1.x has not yet exposed a public icon resolver, so the compatibility layer is intentionally narrow and reversible.
  • Sidebar fallback fingerprints are fixed to upstream revisions and may require periodic updates as the plugin DOM changes.
  • The plugin runs with the current dsh process permissions; you should check the source code, dependencies, and MIT license before installing.

Links

GitHub:

https://github.com/yzke/dsh-icon-theme