dsh-stardew-theme
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Sep 3, 2026
- Updated
- Sep 3, 2026
Introduction
dsh-stardew-theme
A Stardew Valley style theme for the DeepSeek Harness Web UI — a cozy "late-night farmhouse" dark palette built on warm soil browns, harvest gold, cream and grass green.

Install
dsh plugin --profile web add dsh-stardew-theme
Or install it from the plugin market (dsh-market): Settings → Plugin market → Themes — the theme shows up under the Themes & Appearance category, installable, switchable and uninstallable with one click.
After installing, refresh the page (or restart Harness once if the bundle was not picked up live).
Usage
- Switch: Settings → Plugin market → Themes → stardew → Use. The theme activates immediately, no reload needed.
- Switch back: pick Light / Dark / System in Settings → General → Appearance, or use the Deactivate button in the market's Themes tab.
- The active choice persists across restarts: the theme bundle re-activates itself on every page load.
Palette
The theme overrides the --dsw-alias-* / --dsw-specific-* tokens of the built-in dark palette:
| Token family | Stardew value |
|---|---|
| Backgrounds (soil) | #201B14 · #2A2419 · #322A1D · #3A3020 |
| Brand / primary (harvest gold) | #E8B23A · hover #F4C552 |
| Text (cream) | #F7ECD4 · #C0A87E · #A08A68 |
| Success (grass) | #8FC05A |
| Error (clay) | #D9724E |
| Warn (amber) | #E2A93F |
| Sidebar (dark soil) | #1C1711 |
| Borders | #E8B23A-tinted alphas |
How it works
client/client.js is a pure client plugin: on load it calls ctx.theme.register({ id: 'stardew', colorScheme: 'dark', tokens }) to register the token overrides, then ctx.theme.setTheme('stardew') to activate them. The theme service (@deepseek-ai/dsh-client-ui-theme) folds the tokens into the active snapshot and ui-layout's ThemePresenter writes them onto the page, so switching is instant and fully reversible on uninstall.
Development
# The package is plain ESM — no build step needed for the host entry.
# The client bundle is hand-written in the __ModuleLoader__ format, so there
# is nothing to compile before packing.
npm pack # or pnpm pack — inspect the tarball contents