xiaoyangcheng84-svg/dsh-skin-manager

Skin manager for the DSH web GUI: discovers installed skins and switches the active one from a dedicated Settings page, mutually exclusive, hot-reloaded without restart.

A lightweight skin manager for the DSH web GUI. It discovers every installed skin, lists them on a dedicated Settings → Skins page (a settings.section entry with id skins, order 20, next to General and Models), and switches the active skin with one click — rewriting the profile patch and letting DSH's config watcher hot-reload it within seconds, with a page refresh to activate. Skins are mutually exclusive: the active one gets an insert row and every other skin a disabled: true row. Discovery covers both packages that ship skin.json + a prebuilt client bundle and market themes recognised by their client bundle plus a cordis.patch.yml.

Plugin Markets & Managers ★ 0 updated 2026-08-19
View on GitHub ↗

Install

dsh plugin --profile web add github:xiaoyangcheng84-svg/dsh-skin-manager

README Install block quoted verbatim (it notes git is required for the github: source install and that a local checkout can be used with dsh plugin --profile web add link:<path> instead). After installing, restart dsh web (or rely on the market's hot install) and open the Skins settings page.

Compatibility

README: a lightweight skin manager for the DeepSeek Harness web GUI; it discovers skins by scanning the web profile's node_modules for packages carrying a skin.json plus a prebuilt lib/client.js, and also recognises market themes without skin.json. Newly installed skins appear automatically, with no registry regeneration or code changes.

Details

Recent updates

The README documents the discovery rules, the settings page and the apply/hot-reload behaviour rather than a release-by-release table.

FAQ

How do I install it?
The README's command is dsh plugin --profile web add github:xiaoyangcheng84-svg/dsh-skin-manager; a link:<path> form is documented for a local checkout.
Do I need to restart after switching skins?
The README says the profile patch is rewritten and DSH's config watcher hot-reloads it within seconds — refresh the page to activate, no dsh web restart needed.
How does it find skins?
Per the README it scans the web profile's node_modules for packages with skin.json + a prebuilt lib/client.js, and also recognises market themes that ship a client bundle plus a cordis.patch.yml.

More plugins in Plugin Markets & Managers

Browse more in Plugin Markets & Managers

Guides for Plugin Markets & Managers plugins