DSH Theme Studio
Package: dsh-visual-styles
A DeepSeek Harness Web UI plugin with a left-sidebar entry that switches the whole app between 5 studio styles and 43 reference themes (28 families) adapted from a ChatGPT macOS software-theme seed stylesheet.
Studio styles
| Style | Light / dark | Character |
|---|---|---|
| 纸墨 Paper | Light | Warm paper, soft ink, vermilion accent, serif type |
| 深海 Abyss | Dark | Deep blue-green surfaces, luminous teal accent |
| 像素 Pixel | Dark | Hard corners, monospace type, lime/magenta, CRT scanlines |
| 霓虹 Neon | Dark | Midnight violet, electric cyan and magenta glow |
| 森野 Grove | Light | Moss, linen, terracotta, grounded contrast |
Reference themes
The second section contains 43 light/dark variants across 28 families:
Absolutely · Ayu · Catppuccin · Codex · Dracula · Everforest · GitHub · Gruvbox · Linear · Lobster · Material · Matrix · Monokai · Night Owl · Nord · Notion · One · Oscurange · Proof · Raycast · Rose Pine · Sentry · Solarized · Temple · Tokyo Night · Vercel · VS Code Plus · Xcode
Each variant has its own compact card, grouped by family. The reference section has a search box that filters by theme, family, variant, or light/dark mode. The five studio styles use the same compact card layout, so the chooser starts with a short, scannable first screen.
Use
- Open 视觉风格 / Visual styles in the left sidebar.
- Pick a studio card, or search and pick a reference theme. It applies to the entire Harness UI immediately: sidebar, chat, composer, menus, dialogs, code blocks, and status colors.
- Use 恢复系统外观 / Restore app appearance to return to the built-in light / dark / system setting.
- The last custom choice is stored in this browser's
localStorage; switching back to a built-in appearance in Settings clears it.
If the sidebar entry does not appear immediately after installation, refresh
the page once (Cmd+R on macOS).
How it works
- Each theme is registered through DSH's
ctx.themeextension point with a broad set of--dsw-*semantic tokens, so every part of the shell follows the selected theme. - The 43 reference themes are generated from the reference file's seeds: background, foreground, accent, diff colors, syntax colors, UI/code fonts, contrast, and window opacity. Missing semantic colors are derived from those seeds; text contrast is raised to at least 4.5:1 where needed.
- Pixel mode adds scoped CSS under
html[data-dsh-theme-studio="pixel"]: square corners, monospace UI, chunky elevation, and a subtle scanline overlay. - The launcher is registered in
sidebar.panellist; the chooser is registered in the root-scopedmainkeyed slot under the sametheme-studiokey. - No DSH Client package is imported. React comes from the browser module table; controls and cards are plain React elements styled with theme tokens.
- No network requests, remote fonts, or image assets are used. The icon is an inline SVG.
Files
package.json bundle + client manifest
cordis.patch.yml inserts the Host row
index.js inert Host half
client.js theme definitions, 43 reference themes, sidebar entry, chooser page
icon.svg plugin-manager icon
locale/en.json plugin metadata + English UI copy
locale/zh.json Chinese UI copy
LICENSE MIT license
NOTICE.md theme attribution and trademark notes
Install / uninstall
Install this directory as a bundle in the current DSH profile (desktop):
git clone https://github.com/wzuu/dsh-theme-studio.git
plugin_manager install_bundle "$(pwd)/dsh-theme-studio"
Remove it with plugin_manager remove_bundle dsh-visual-styles.
Unloading disposes all 48 theme registrations, the injected stylesheet, the
sidebar entry, the main page, and the scoped document attribute.
Development checks
npm run check
Verification
Checked during development:
node --check index.js && node --check client.jspackage.json,cordis.patch.yml, both locale files, andicon.svgparse.- 48 themes build with 253 tokens each; all theme and family ids are unique.
- Primary/secondary/accent-button contrast checked across all 48 themes; no theme falls below 4.5:1 primary text contrast.
- Installed into the
desktopprofile; plugin manager reportedapplication: applied. - The sidebar entry rendered; the chooser page opened; the 5 studio styles in compact cards and the reference section with 43 cards rendered.
- Codex Dark was applied to the whole app from the reference set and restored to the built-in appearance afterward.
License
MIT. See LICENSE.
Credits
See NOTICE.md for attribution and trademark notes. The reference theme names belong to their respective projects; this plugin bundles only derived color and typography values, not their source code or assets.
Known limits
- Third-party theme ids are an in-process extension and do not enter DSH's
built-in
ui-themesettings schema, so this plugin persists its own choice inlocalStorage. - Fonts are limited to locally installed families; each reference theme falls back to the host stack when its named font is missing.
- The reference file's named fonts (Inter, Satoshi, Geist, JetBrains Mono, etc.) are not bundled. Install them locally if you want the exact intended typography.
- A running page needs one refresh to pick up a newly installed/replaced client bundle; that is DSH's client module behavior, not a plugin setting.
- The reference theme seeds are color/typography data only; no ChatGPT artwork or assets are included.
No comments yet. Be the first to write one.