Plugin directory / UI & Skins / dsh-skin-collection
dsh-skin-collection
Verified · install-tested on dsh NonchalantLudens
What it does
Multi-style skin collection for DeepSeek Harness (dsh) web GUI — 9 themes with scoped decoration CSS and a sidebar skin manager
Works — verified, early-stage project
Multi-style skin collection for DeepSeek Harness (dsh) web GUI — 9 themes with scoped decoration CSS and a sidebar skin manager It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-skin-collection
Multi-style skin collection for the DeepSeek Harness web GUI. Each skin registers a theme plus scoped decoration CSS; a sidebar picker manages skins and the base color scheme independently — the default style restores the stock UI completely.
English | 简体中文
Skins
| Theme id | Style | Scheme | Signature effects |
|---|---|---|---|
wabi-sabi |
Wabi-Sabi 侘寂 | light | Earth palette, paper grain, serif type, sepia images, Enso boot fade, vermillion DSH seal brand mark |
terminal |
Terminal 终端 | dark | Phosphor green on void black, VT323 mono, CRT scanlines + text glow, blocky scrollbar |
cyberpunk |
Cyberpunk 赛博朋克 | dark | Cyan/magenta/acid neon on deep teal, Space Grotesk, scanlines, chamfered images |
film-noir |
Film Noir 黑色电影 | dark | Chiaroscuro vignette, film grain, Oswald + typewriter body, grayscale photos with hover restore |
swiss |
Swiss 国际主义 | light | Off-white grid, Inter black uppercase headings, Swiss red accents, sharp corners |
bauhaus |
Bauhaus 包豪斯 | light | Primary-color flat geometry (red/blue/yellow), Jost, no shadows, red scrollbar |
brutalism |
Brutalism 野性主义 | light | 4px black borders, hard 2D shadows, warning-yellow blocks, grain overlay |
dark-glass |
Dark Glass 暗黑玻璃 | dark | Deep navy with blue/violet/cyan ambient glow, frosted code panels, sleek scrollbar |
pixel-retro |
Pixel Retro 像素复古 | dark | Indigo arcade, Press Start 2P headings, CRT scanline + vignette, pixel box-shadows |
Style sources: uiprompt.dev web-styles design prompts; each skin maps the prompt's palette to --dsw-alias-* tokens and its key visual effects to scoped CSS.
How it works
- Skin ≠ theme preference. The stock ThemeRuntime persists only
light/dark/system; a skin id held there reverts on every settings save or run-mode switch. This plugin keeps the active skin in its own persisted flag driving abody[data-dsh-skin-<id>]attribute — nothing automatic can revert it. - The skin owns the scheme. While a skin is active, the base color scheme locks to the skin's design (
colorScheme) so dark skins never render light chrome around dark tokens; picking the default style releases the lock and restores your previous preference. - Palette travels with the attribute: each skin's
--dsw-alias-*tokens are also emitted as plain CSS on that attribute, so colors survive any client-tree rebuild. - Base scheme is independent: 跟随系统 / 浅色 / 深色 switch underneath the skin overlay.
- A skin id picked in the official Settings → Appearance selector is adopted automatically.
Install
# from npm
dsh plugin --profile web add dsh-skin-collection
# or straight from GitHub (prebuilt lib/ committed — no build scripts run)
dsh plugin --profile web add github:NonchalantLudens/dsh-skin-collection
Restart dsh web. Use the 皮肤 button at the sidebar foot to pick a skin; the default style restores the stock look. Skins also appear under Settings → Appearance.
No install-time code execution: the package ships prebuilt artifacts and declares no build scripts.
Structure
lib/client.js— shipped client bundle in the loader's closure-factory format (hand-written; no build step required for pure CSS/DOM skins)lib/index.js— node half (no-op cordis plugin stub)src/client/index.ts,src/skins/— readable source of reference, kept in sync withlib/cordis.patch.yml— inserts the plugin into the web roster on install
Adding a skin
- Append an entry to
EXTRA_SKINS(id,label,theme.tokens, optional Google-Fontsimports, scopedcss) inlib/client.js. - Done — registration, the picker menu, palette emission, and the attribute guard are data-driven.
- Bump the version and reinstall.
Note: all skins' Google-Fonts @imports are hoisted to the top of one combined decoration sheet (CSS requires @import before other rules); keep per-skin imports in the skin's imports array rather than inside its CSS body.
License
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-skin-collection for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:NonchalantLudens/dsh-skin-collection Headless (CLI) profile:
dsh plugin --profile headless add github:NonchalantLudens/dsh-skin-collection Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.