Preface¶
The DSH Web UI already supports three appearance modes: light, dark, and system. If you want a more pronounced border, hard-shadow, and high-contrast style without replacing the built-in theme, you can install dsh-neo-skin. It is a Web UI client skin plugin within the DSH plugin ecosystem that overlays neo-brutalism tokens on the built-in light/dark color schemes via the official theme service.
What Is This¶
dsh-neo-skin is a zero-dependency client-side skin plugin, licensed under MIT, with its repository at 0nt-one/dsh-neo-skin.
It does not replace DSH’s built-in themes; instead, it overlays --dsw-alias-* semantic token overrides. This way, the light, dark, and system modes still work, and the skin applies to both the light and dark color schemes simultaneously.
Core Features¶
- Includes two built-in schemes,
Blue CommandandAged Newspaper, which can be switched in real time underSettings → General → Neo Skin. - The plugin toggle is persisted in
localStorage, enabled by default; disabling it returns to the official color scheme. - Scheme selection is persisted in
dsh-neo-skin.scheme, and switching applies the full set of color and structural overrides. - The structural layer provides hard-offset shadows, right-angled key panels,
2pxborders, and button press displacement feedback. - Adapts theming for
dsh-voice-inputpopups, buttons, and status colors. - Compatible with
light,dark, andsystemthemes.
Installation and Activation¶
Below are the reproducible offline/development installation steps from the documentation. First, prepare the local repository directory <path\to\dsh-neo-skin>, then build the bundle.
npm run build
After the build, install the plugin into the Web profile.
dsh plugin --profile web add <path\to\dsh-neo-skin>
Next, register the plugin line in .dsh/profiles/web/cordis.patch.yml.
- insert:
- id: dsh-neo-skin
name: 'dsh-neo-skin'
Finally, restart the Web profile.
dsh --profile web
For the initial installation, the host needs to be restarted to mount the plugin; afterwards, if you only rebuild, a hard refresh in the browser will load the new bundle.
Typical Usage¶
After installation and restart, enable or disable the plugin under Settings → General → Neo Skin, and select either Blue Command / Aged Newspaper on the same line.
To add or adjust schemes, place three files under src/schemes/:
src/schemes/<name>.tokens.json
src/schemes/<name>.meta.json
src/schemes/<name>.css
Then rebuild.
npm run build
After modifying the build, hard refresh in the browser is sufficient—no host restart is needed.
Applicable Scenarios and Notes¶
This is suitable for users who want stronger borders, shadows, and a high-contrast style in the DSH Web UI, especially those who need to maintain the same skin under light / dark / system.
Important notes:
- The plugin runs with the current
dshprocess permissions; you should review the source code and license before installation. - The structural layer targets components using human-readable suffix selectors like
[class* "_xxx"]; you may need to fine-tune these if DSH undergoes major refactoring of class names. - The toggle and scheme use
localStoragefor persistence. According to the documentation, the host apiproxy only exposessettings.describefor namespaces on theWEB_SETTINGS_NAMESPACESwhitelist; third-party plugin namespaces will receivesettings-not-exposed. - The current documentation does not provide online/directory installation commands, only offline/development installation commands.
Getting It¶
GitHub repository:
https://github.com/0nt-one/dsh-neo-skin
Community directory page:
https://www.skillhub.cn/plugins/0nt-one/dsh-neo-skin
This directory page belongs to the community plugin catalog and should not be interpreted as an official app store.