Local semantic-token theme editor with palette extraction, WCAG auditing, preview, and export.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:LeemanCheung/dsh-skin-studio
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
English | 中文
A local-first DSH Skin Studio for creating, auditing, previewing, persisting, importing, and exporting semantic --dsw-alias-* light/dark themes.
Compatible with DeepSeek Harness 0.1.2-rc.1; its Client bundle uses the current Cordis context, UI renderer, Settings, Theme, and Remote contracts.
The verified Windows interface results are recorded in Windows DSH 0.1.2 acceptance.
Screenshot

Generated with GPT Image from the implemented Client layout and feature set; runtime appearance follows the active DSH theme and viewport.
Features
- Settings → Skin Studio responsive library, semantic-token editor, and dual light/dark preview with six presets, locks, undo/redo, delete confirmation, and manual colour controls.
- PNG/JPEG/WebP palette sampling bounded to 10 MB and 40 megapixels, with 128px downsampling and up to six selectable OKLab k-means swatches; automatic derivation always preserves locked tokens.
- WCAG AA audit for body, secondary, and brand-button pairs, with correction of unlocked derived tokens, including white text that must move darker.
- Durable Host CRUD and active-skin state through
storageDomainand generated Typert Remotes; Save & Apply persists the current draft before replacing the reversible override. - Strict
.dshskinJSON export/import, Stop Preview, generated Client entry source with a declared theme dependency, and a local PNG share card.
Data and security
dshskin/v1 accepts at most 100 KB, 128 semantic tokens, strict metadata, six-digit hex colours, unique locks that refer to existing tokens, and requires the current DSH core background, label, brand, and border tokens. Import parses plain JSON, refuses to overwrite an existing skin with the same id, and rejects unknown fields, prototype keys, deep or oversized values, invalid token names, scripts, CSS selectors, URLs, imports, expressions, and external fonts. Imported data is never executed.
Typert Remote methods are intended for clients mounted in the same trusted DSH Web composition. They are not an authorization layer for untrusted browser plugins.
Install
dsh plugin --profile web add github:LeemanCheung/dsh-skin-studio
Restart the existing DSH Web process and refresh its page.
Model Experience
This plugin adds no model prompt, tools, messages, token usage, or KV-cache content. Palette analysis and theme previews run in the browser; validated skins persist on the Host.
Known limitations
The generated plugin source is text for explicit user export; Skin Studio never installs or executes it. Image sampling downsizes decoded pixels to 128px and uses one decoded frame, so animation and image metadata are not preserved. Remote CRUD is shared with trusted clients in the same composition rather than scoped to one browser package identity.
Development
From the repository root run corepack pnpm typecheck, corepack pnpm test, corepack pnpm build, and corepack pnpm pack:check.
CI also compares the rebuilt packages/dsh-skin-studio/lib directory with HEAD, including staged changes, and rejects untracked build output even when ignored by Git. CSS module identities use package-relative paths, and source maps normalize line endings while retaining embedded source and any final newline. Include regenerated bundles with any source or build change.
MIT. See LICENSE.
Links
More in this category
elysia395/dsh-wallpaper-engine★ 6210
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.
Small-tailqwq/dsh-deep-whale#maid-atelier★ 3081
Whale-girl skin series for the DSH Web UI (maid-atelier).
Nwflower/dsh-claude-style★ 542
Claude Code Desktop look-and-feel for the DSH Web GUI — ivory/warm-black dual canvas, clay accent, three-font typography, permission segmented control and brand switcher, via CSS overrides and client DOM overrides.
d-dev0101/open-sea-skin★ 389
Realtime WebGPU ocean skin with quick controls for waves, daylight, glass opacity, and an automatic day cycle.
kingOfSoySauce/dsh-liang-skin★ 375
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★ 301
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.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.