Back to home@JefferyShaw

dsh-stardew-theme

No description

Stars
0
Language
JavaScript
Created
Sep 3, 2026
Updated
Sep 3, 2026
GitHub repo

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.

Preview

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 → ThemesstardewUse. 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 familyStardew 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

License

MIT