Neumorphic DSH Web theme with light and dark palettes, ambient lighting, material shadows, grain texture, frosted-glass surfaces, and micro-interactions.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-neu-theme
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Lhy723/dsh-neu-theme
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
dsh-neu-theme
A Neumorphism (soft-UI) theme plugin for DeepSeek Harness Web and the embedded Desktop workspace — gentle raised-and-recessed surfaces in a cream light palette and an ink-dark palette, complete with ambient lighting, material gloss, grain texture, glassmorphism and micro-interactions.
中文说明见 README.zh.md。
Features
- Two themes registered into the built-in ThemeRuntime:
neu-light— cream warm-white canvas, soft slate-blue accentneu-dark— ink-blue night canvas, luminous indigo accent
- Lighting — ambient top glow + corner fill painted on the visible surfaces (conversation canvas, sidebar, details column), not just body.
- Material — three-layer shadows (contact + cast + top-edge highlight), 145° gloss gradients aligned to the light direction, code blocks with a backlit inner wall.
- Texture — fine grayscale grain (inline SVG feTurbulence) over the canvas, sidebar, details column and code blocks.
- Glassmorphism — the composer capsule and its popovers (permission
menu, model menu, context panel) share one frosted-glass language: the
card's blur lives on a
::beforepseudo-layer so the nested popovers keep their own realbackdrop-filterblur (the card is not their backdrop root). - Micro-interactions — conversation nodes fade in on mount, bubbles
lift on hover, the composer recess deepens on hover/focus, tool rows and
reasoning rows strengthen on hover; all gated under
@media (prefers-reduced-motion: no-preference). - Settings row — Settings → General gains a Neumorphism picker (Default / Neu Light / Neu Dark), saved through the active profile's volatile plugin Config. DSH 0.2 only persists the built-in light/dark/system preference, so the plugin applies the chosen palette as a token-override layer over the matching built-in base palette.
- Default is pristine — selecting Default (or having no saved skin) leaves the document exactly as dsh ships it: no injected stylesheet, no body attribute, native colors and shadows.
Preview
Neu Light
Neu Dark
Install
Install the published package into the profile you use (web for DSH Web or
desktop for DSH Desktop):
# DSH Web
dsh plugin --profile web add dsh-neu-theme
# DSH Desktop
dsh plugin --profile desktop add dsh-neu-theme
# Or install manually in the Web profile:
cd ~/.dsh/profiles/web
pnpm add dsh-neu-theme
The package is also available on npm.
Then add "dsh-neu-theme" to dsh.profile.bundles in the selected profile's
package.json, and restart that profile (dsh web or DSH Desktop).
Once running: Settings → General → Neumorphism theme → pick
Default / Neu Light / Neu Dark. The selected value is a volatile plugin
Config field. DSH saves it in the active profile's Cordis patch; the Web and
Desktop profiles keep independent choices.
Choose Default to return to the built-in appearance. Choosing a built-in
Appearance mode (Light, Dark, or System) in the same panel also clears the saved
skin and keeps that built-in mode. DSH 0.2 imports legacy
settings.yaml sections into a profile entry with the same id, so the
dsh-neu-theme entry id also preserves the former settings key during import.
Platform compatibility
dsh-neu-theme is a Web client plugin (dsh.client.platform: "web"). DSH Desktop embeds the complete DSH Web application in its main window, so the theme applies to that UI through the Web client plugin loader. Desktop has a separate desktop profile; install the plugin there when using Desktop. This package styles the embedded workspace and does not add native menu, tray, or window-shell UI. This release requires DSH ^0.2.0-rc.2. DSH 0.2 replaced the old
settings.register() / settingsScope APIs with plugin Config and
configForms; DSH 0.1 runtimes are not supported by this release.
Develop
npm run build # regenerates lib/client.js from src/client.tpl.js + themes/*.json
npm run check # syntax and DSH 0.2 compatibility-contract checks
While dsh web runs with the HMR chain mounted, rebuilding
lib/client.js is picked up by the polling watcher and hot-reloads only
this plugin's fiber.
Repository layout
dsh-neu-theme/
├── package.json # dsh.bundle.patch + dsh.client manifest
├── cordis.patch.yml # loader entry insert (id: dsh-neu-theme)
├── themes/ # neu-light.json / neu-dark.json — the palettes
├── src/
│ ├── index.js # Host Config schema and profile settings policy
│ └── client.tpl.js # browser half template (build injects themes)
├── scripts/build.mjs # zero-dependency build
└── lib/ # generated artifacts (gitignored)
License
MIT
Links
More in this category
elysia395/dsh-wallpaper-engine★ 6797
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★ 3103
Whale-girl skin series for the DSH Web UI (maid-atelier).
Nwflower/dsh-claude-style★ 596
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★ 393
Realtime WebGPU ocean skin with quick controls for waves, daylight, glass opacity, and an automatic day cycle.
kingOfSoySauce/dsh-liang-skin★ 387
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.