Skin plugin for the DSH Web UI: 4 built-in skins plus custom image skins with the photo as a full-interface background and the palette following its dominant hue.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:caoyiwei850/dsh-client-ui-skins
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
A skin plugin for the DeepSeek Harness (DSH) Web UI: 4 built-in skins plus custom image/video skins — use any photo (or looping video) as the whole-interface background and let the palette follow its dominant colour.
Pure client plugin; no DSH source is touched. Uninstalling fully restores the native look.
Features
- 4 built-in skins: Ocean Deep / Sakura Pink / Mint Clean / Amber Glow (light & dark variants each)
- Custom image skins: upload PNG / JPG / WebP — the image becomes the full Web UI background (translucent mask) and the palette is extracted from it
- Video wallpaper: upload MP4 / WebM — loops as an animated background; palette is sampled from the first frame
- Appearance-aware: follows dark / light / system switching
- Background veil slider: independently tune how much the wallpaper shows through, so text stays legible
- Input opacity slider: independently tune input-well opacity for comfortable typing over photos
- Body-text emphasis toggle: adds a light frosted scrim under assistant prose so photo highlights don't wash out the text (off by default)
- Readability guaranteed: bright accents auto-switch to dark text, dark accents to light text; translucent-mode labels use opaque stepped colours
- Persistent: skin choice, custom image/video, opacity controls and toggles stay in localStorage/IndexedDB across reloads
- Default option: one click back to the native appearance
Install
Requires a DSH web profile (~/.dsh/profiles/web) and pnpm.
A. One-shot script
bash install-dsh-skins.sh
B. Manual
# 1. install the package
cd ~/.dsh/profiles/web && pnpm add -w <path-to>/dsh-client-ui-skins-0.1.13.tgz
# 2. register (append to ~/.dsh/profiles/web/cordis.patch.yml):
# - insert:
# - id: ui-skins
# name: 'dsh-client-ui-skins'
# 3. restart web
launchctl kickstart -k gui/$(id -u)/com.deepseek.dsh.web
Then refresh http://127.0.0.1:3080 → Settings → General → Skins.
Uninstall
bash uninstall-dsh-skins.sh
Usage
- Open Settings → General → Skins
- Click any built-in skin card — applies instantly
- Click Custom (image/video) and pick a photo or video — the whole palette follows it
- With a custom skin active, tune the Background veil / Input opacity sliders and toggle Emphasize body text live
- Click Default to restore the native look
Custom media stay on your machine (images compressed WebP in localStorage, videos in IndexedDB); nothing is uploaded anywhere.
Development
dsh-client-ui-skins/
├── package.json # dsh.client dual-face declaration
├── lib/
│ ├── index.js # Host side: intentionally empty (skins are browser-local)
│ └── client.js # Client side: derivation, background layer, settings UI
└── scripts/ # install/uninstall scripts
How it works:
- Registers skin tokens (
--dsw-*variables) via DSH's nativetheme.register() - Acts as an orthogonal overlay writing tokens straight to
body.style, never fighting ui-theme's appearance preference - Four seed colours (accent / secondary / surface / text) → HSL derivation → semantic tokens
- Custom images: browser-side sampling (text / near-grey pixels ignored), re-encoded to WebP in localStorage
- Custom videos: first-frame sampling, Blob stored in IndexedDB, played by a fixed
<video>layer
License
MIT © [your-name]
Links
More in this category
Small-tailqwq/dsh-deep-whale#maid-atelier★ 2252
Whale-girl skin series for the DSH Web UI (maid-atelier).
elysia395/dsh-wallpaper-engine★ 384
Requires DeepSeek Harness 0.1.5-rc.1+ (DSH Desktop >= 2.0.7) and dsh-better-sidebar >= 0.19.0 - update both before installing or updating this plugin. Plays local Wallpaper Engine Video/Web wallpapers behind the chat, renders Scene wallpapers as extracted static frames, and adds content-rating/type filters, custom uploads and an iOS-style liquid-glass settings window.
d-dev0101/open-sea-skin★ 380
Realtime WebGPU ocean skin with quick controls for waves, daylight, glass opacity, and an automatic day cycle.
kingOfSoySauce/dsh-liang-skin★ 222
Adaptive reasoning slider skin that maps each model's available reasoning efforts onto a 0–30 visual intensity scale, with synchronized portraits, background, and interface colors.
RevolutionLA/dsh-dream-skin★ 192
One-command skin plugin: 8 original themes, translucent wallpaper with opacity/blur, per-user accent, and shareable theme-pack import/export, favorites and surprise-me — purely native on DSH's token system.
GGBond2424648901/deep-whale-day-night-theme★ 117
Non-commercial day/night whale-girl skin for official Harness rc.7: current no-viewport-frame layout, paired crystal-workshop and moon-tide scenes, chibi companions, translucent ornaments, and lightweight ambience.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.