DSH Hub
dsh-icon-theme cover

yzke/dsh-icon-theme

dsh-icon-theme

UIWeb UI2 GitHub stars· updated 2026-08-19

Auto-detected, user-customizable icons for DeepSeek Harness settings and sidebar

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-icon-theme

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-icon-theme DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-icon-theme.svg)](https://dshhub.dev/plugins/dsh-icon-theme)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from yzke/dsh-icon-theme, cleaned of badges and images.

dsh-icon-theme

English | 简体中文

Automatic, coherent, and user-customizable icons for DeepSeek Harness Settings and sidebar actions.

Screenshots use the Chinese locale; the plugin ships equivalent English labels.

Why this plugin

DSH 0.1.x settings contributions expose stable IDs and labels, but not an icon field. As a result, many third-party pages fall back to the same gear. dsh-icon-theme discovers the live slot ledger, preserves trustworthy original icons, fills recognizable gaps with a small Fluent-style pack, and lets the user override every supported target.

  • Discovers live winning settings.section and sidebar.footer.action contributions generically. Audited per-plugin records are used only when a sidebar is partially rendered and cannot be correlated by order.
  • Stores choices by stable key, such as settings.section:market, never by translated labels or DOM position.
  • Ships 50 curated Fluent UI 16 Regular glyphs plus the audited monochrome dsh-market glyph.
  • Uses no icon CDN, webfont, Iconify API, GitHub request, or package scanning at runtime.
  • Restores every host SVG and owned DOM marker on unload or hot reload.
  • Reports non-rendered contributions and non-icon cards instead of pretending they were changed.
  • Falls back to the Settings gear when a target has neither a trustworthy match nor an original icon.

Install

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

Restart dsh web, then open Settings → Icons.

To install from a source checkout instead:

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"

Supported DSH range: >=0.1.0-rc.6 <0.2.0. Node.js 22 or newer is required for source builds.

Uninstall

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

Restart dsh web. The plugin restores every host SVG and removes all owned DOM markers and styles on unload.

Use

The page lists every discovered target, its stable key, its compatibility state, and the source of the current icon. Search by feature name, ID, or icon; filter Settings/sidebar/unrecognized/customized entries; choose a glyph; or restore one/all targets to automatic behavior.

Resolution is deterministic:

  1. User override.
  2. Audited, bundled plugin glyph.
  3. Trustworthy DSH/plugin original.
  4. Exact stable-ID preset.
  5. Unambiguous stable-ID inference.
  6. Existing host fallback, or Settings gear when no original exists.

Localized labels are display and search text only. They never decide a persisted mapping.

Sidebar behavior

StateBehavior
Rendered icon actionChangeable; the original is preserved by default.
Registered but not renderedListed as “can preset”; the override applies when it appears.
Non-icon cardReported but deliberately left unchanged.
Unknown or changed DOMLeft untouched unless a unique audited compatibility record exists.

The compatibility layer is intentionally narrow and reversible because DSH 0.1.x does not yet expose a public icon resolver. See the design note for the contract and upstream direction.

When dsh-better-sidebar is installed, its own Settings row icon is treated as a trusted original and preserved by default. It is replaced only when the user chooses replace-generic (or a manual override).

Ecosystem checks

Related plugins