DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Lhy723 /

Lhy723/dsh-neu-theme

Verified

DeepSeek Harness Web 的轻拟物与磨砂玻璃主题插件,提供浅色/深色主题、环境光、材质纹理和细腻微交互。Neumorphism + glassmorphism theme plugin for DeepSeek Harness Web with warm light/dark palettes, ambient lighting, grain texture, and subtle micro-interactions.

★ 11 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@060830c4

dsh-neu-theme — Neumorphism and Glassmorphism for DeepSeek Harness

dsh-neu-theme

npm version npm downloads

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 accent
    • neu-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 ::before pseudo-layer so the nested popovers keep their own real backdrop-filter blur (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

dsh-neu-theme Neu Light preview

Neu Dark

dsh-neu-theme Neu Dark preview

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

—/ 5

No ratings yet

Verified DSH bundle

Commit 060830c428f7

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout