raheemmiyasin/dsh-theme-palette: Adds nine sets of theme color schemes to DSH Web UI

Foreword

The philosophy of DSH is “everything is a plugin”. The visual appearance is usually determined by the theme, but the built-in color adjustments in the Web UI are limited. When developers want to switch to a different visual style, they often have to modify style files, accept the default look, or write a set of overlays themselves. The plugin introduced below turns this into a simple setting: add a “Theme palette” line in Settings → General, click to switch between nine color schemes. It is maintained by raheemmiyasin and is categorized under “Fun Outfits” in the community directory.

What is this

One-sentence positioning: Adds a theme color selector to the DSH Web UI.

It registers a settings.general.item setting (order 11.5, located next to Appearance and Font size), with a palette preview for each set of colors. After selection, the plugin overlays a layer of --dsw-* alias tokens on top of the current light/dark theme via ctx.theme.overrideTokens(). Each color scheme carries the same set of tokens in both light and dark variants, so the native Appearance row still works as usual to determine light/dark/system.

The problem it solves is: when using DSH Web UI, there is no way to switch the interface color scheme without modifying the source code.

Core Features

The plugin provides nine color schemes: Default, Ocean, Forest, Ember, Violet, Rose, Sand, Obsidian, Cyberpunk. The first eight are pure color schemes; Obsidian is a neutral near-black with purple accents, taken from the Obsidian editor theme; Cyberpunk is the most complex, as it comes with HUD backgrounds and custom brand marks in addition to the color scheme.

The color tokens are overlaid on the current theme, and Appearance always takes effect. The selection is saved in the plugin’s own Host configuration (palette, a volatile text field), accessed via ctx.configForms.get('theme-palette'). It persists after restart, and the line is rolled back if a write is rejected.

Cyberpunk’s Add-ons

Cyberpunk’s two add-ons only appear when it is selected, and disappear after switching:

  • Backdrop: The plugin’s own stylesheet colors two pointer-transparent pseudo-elements, body::before and body::after, containing a horizon made of cyan, purple, and magenta neon, a 44px HUD grid, scanlines, and a soft light vignette mask. The panel’s surface tokens are semi-transparent, so it appears to float over the background. In light mode, a light daylight variant is used. When the color scheme is removed, this stylesheet is removed along with it.
  • Brand mark: An original SVG logo (gradient hexagon, diamond core, HUD scale, cyan glow) replaces sidebar.brand.mark and fills conversation.hero.brand.mark. The sidebar’s mark is a single slot; the default placeholder has priority 0, and the logo is registered with priority -1 to override it. When switching to other color schemes, it is released and the default mark is restored.

Installation and Enablement

Open Plugins → Add plugin in DSH Web UI, paste the absolute path of the plugin directory, install, and then open the bundle. The setting row will appear in Settings → General, right below Appearance.

Install from Desktop CLI:

dsh plugin --profile desktop add /absolute/path/to/dsh-theme-palette

Since local directories are installed via link:, modifying the client part takes effect after refreshing the page, without the need to reinstall.

Typical Usage

The usage is simply to select the Theme palette row. For example, click Cyberpunk in Settings → General, and the interface will overlay HUD backgrounds and custom brand marks; switching back to Default removes these effects.

If Appearance is set to light at the same time, Cyberpunk will switch to a light daylight background, while the color scheme itself remains unchanged. It is a usage of “change config, don’t touch source code”; just refresh the page after changing.

Suitable Scenarios and Notes

Suitable for developers who want to change the visual style of DSH Web UI without modifying the theme source code, and for those who use link: installation and will directly modify client code.

Note: The plugin runs with the current dsh process permissions. You should check the source code and license before installing. This plugin is MIT licensed. The vendor’s vendor/schemastery.mjs and vendor/cosmokit.mjs in the repository are taken from Harness’s own @deepseek-ai/schemastery 3.19.0 and @deepseek-ai/cosmokit 1.9.0. Both are MIT licensed and retain the upstream licenses: vendor/LICENSE-schemastery (DeepSeek) and vendor/LICENSE-cosmokit (Shigma, 2021 to present). The reason this local copy is needed is that bundles installed via profile cannot resolve packages installed in Harness, and the Host needs it to declare Config schemas; volatile configuration references are identified via Symbol.for, so these copies can interoperate with the Host’s settings service.

Conclusion

The value of this plugin is to compress skin changing from modifying source code to a single click, while not breaking the Appearance light/dark control. Remember to verify the source and permissions before installing.

Directory: https://www.skillhub.cn/plugins/raheemmiyasin/dsh-theme-palette
Source: https://github.com/raheemmiyasin/dsh-theme-palette

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye