Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add dsh-theme-tuner
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
Screenshots
README
Customize the DeepSeek Harness (DSH) interface theme directly under the built-in Appearance settings — accent, background, foreground, contrast and gradient, applied live.
Reuses the built-in Appearance light / dark / system switch, so there is no duplicate theme toggle.
Screenshots
Dark · theme effect |
Dark · theme effect |
Dark · theme effect |
|---|---|---|
Dark · theme effect |
Light · theme effect |
Theme settings panel |
Features
- Sits directly under General Settings → Appearance, adjusting accent / background / foreground / contrast / gradient.
- Reuses the built-in Appearance light / dark / system switch and tunes the currently active theme.
- Keeps the light and dark palettes separately; the contrast slider softens or sharpens the foreground text per theme.
- Applies live via DSH
theme.overrideTokens(--dsw-alias-*design tokens), with a one-click reset to the current theme default.
Install
dsh plugin --profile web add github:shawnlone/dsh-theme-tuner
This repo is organised so the repo root is the plugin package:
package.jsondeclaresdsh.bundle.patch(the install entry) anddsh.client(browser UI), withcordis.patch.ymlat the root. A new plugin needs a profile restart to take effect.scripts/install.ps1/scripts/install.shhelpers (with a local-junction fallback when a pnpm supply-chain policy blocks the normal path) are also provided.
How it works
The plugin writes your values into DSH's design tokens:
- accent →
--dsw-alias-brand-primary/--dsw-alias-button-primary-fill/--dsw-alias-state-business-primary - background →
--dsw-alias-bg-base/--dsw-alias-bg-layer-1/2/3/--dsw-specific-sidebar-fill - foreground →
--dsw-alias-label-primary/secondary/tertiary(derived from the chosen foreground + contrast)
Settings persist through the theme-tuner settings namespace. The row registers into settings.general.item (order 10.5), directly under the built-in Appearance (order 10). Since DSH 0.1.2-rc.1 the font-size row sits at order 11 and the conversation-display row at order 12, so 10.5 keeps the customizer pinned to the Appearance row.
Structure
dsh-theme-tuner/
package.json # dual-face manifest: dsh.client + dsh.bundle.patch
cordis.patch.yml # bundle mount row (insert)
lib/index.js # host half: registers the theme-tuner settings namespace + schema
lib/client.js # browser half: settings row + live token application
scripts/ # install.ps1 / install.sh
preview.html # standalone demo
assets/ # docs / plugin-market screenshots
License
Comments
Comments live in GitHub Discussions. Sign in with GitHub to post or react.