dsh-dracula-theme
๐ง Dracula theme for DeepSeek Harness (DSH): the classic dark palette โ plus the Dracula Soft variant โ registered into the built-in theme runtime, with a one-click skin picker in Settings โ General.
Features
- Two faithful variants built from the official Dracula palette:
- Dracula โ the classic #282a36 canvas - Dracula Soft โ the gentler #343746 background
- Core logic adopted from the official Dracula DeepSeek port (MIT): the canvas/brand
--dsw-static-*overrides and code-highlight palette are taken verbatim and translated into the DSH theme runtime. On top of that, full token coverage: neutral & canvas ramps, brand (purple), blue (cyan), red / green / amber state colors, alias surfaces, component-specific tokens (sidebar, bubbles, composer, menus) and the official Dracula syntax colors for code highlighting (--shiki-*). - One-click switching from Settings โ General โ Dracula theme, persisted across sessions.
Preview

The classic Dracula canvas (#282a36) mapped onto the full DSH surface stack โ sidebar, conversations, code blocks โ with the purple/cyan brand accents from the official Dracula DeepSeek port.
Palette
| Role | Color |
|---|---|
| Background | #282a36 |
| Dark background (base canvas) | #20212b |
| Current line / selection | #44475a |
| Foreground | #f8f8f2 |
| Comment | #6272a4 |
| Purple (brand) | #bd93f9 |
| Pink (keyword) | #ff79c6 |
| Cyan (link) | #8be9fd |
| Green (success) | #50fa7b |
| Yellow (string) | #f1fa8c |
| Orange (warn) | #ffb86c |
| Red (error) | #ff5555 |
Installation
# from npm (prebuilt, recommended)
dsh plugin --profile web add dsh-dracula-theme
# or from source
dsh plugin --profile web add https://github.com/ossFrankFrank/dsh-dracula-themeRestart the profile, then pick the skin in Settings โ General โ Dracula theme.
Development
npm run generate # rebuild themes/*.json and lib/client.js from palette/dracula.jsonThe token tables are generated: edit the anchors in palette/dracula.json (colors, the official canvasRamp/brandRamp/codeTokens mappings, grayRamp, soft.background) and regenerate. lib/client.js is the browser bundle consumed by the DSH client runtime; lib/index.js is a no-op host entry.
License
MIT โ see [LICENSE](LICENSE). Structure modeled on dsh-catppuccin (MIT); token mapping adopted from the official Dracula DeepSeek port (MIT).
Development workflow
1. Edit the anchors in palette/dracula.json โ colors, the official canvas/brand/code mappings, grayRamp, soft.background. 2. npm run generate โ rebuilds themes/*.json and lib/client.js (the browser bundle). 3. Validate: node scripts/check-themes.mjs (structural token check) โ CI runs the same check plus a generated-artifacts diff. 4. Test in a live profile: dsh plugin --profile web add /path/to/this/repo (local link), restart the profile, pick a skin in Settings โ General โ Dracula theme. 5. Release: bump version in package.json, commit, push, pnpm publish, then update the profile to the published version (dsh plugin --profile web add dsh-dracula-theme) and restart the app. The profile installs from npm, not from the working tree โ local edits only take effect after publishing or via a local link.