lyq326/dsh-ink-green: A pure token-based DSH Ink Green color scheme

Introduction

The interface theme of DSH (DeepSeek Harness) also follows a plugin-based approach. To change the color scheme for the Web client, the common approach is to directly modify the host file or write a bunch of CSS selectors for overrides; the former pollutes the source code, while the latter is prone to being hit or miss and failing when encountering hardcoded colors.

The lyq326/dsh-ink-green introduced below takes a different approach: it only performs coverage at the token level, uniformly replacing the background, text, borders, and accent colors with a low-saturation ink green-grey, with only one high-saturation bright green popping out on the interface. The entire plugin has no layout changes and no !important.

What is it

lyq326/dsh-ink-green is maintained by lyq326 and is a custom ink-green color scheme plugin for the DSH Web client (--profile web). Its category in the community directory is “Fun Outfits,” and it solves a simple problem: allowing you to hand over the overall tone of the Web interface to a set of controlled color values without falling into the trap of modifying styles.

Its implementation is pure token coverage: all host-defined --dsw-alias-* and --dsw-specific-* are overridden, supplemented by --shiki-* and --dsw-static-* as a fallback, totaling 146 tokens. The plugin itself has zero dependencies, introduces no layout layer, and does not modify the host files.

Color Scheme Logic

The core constraint of the color scheme is hue uniformity. All greens fall within 140–150°, saturation is kept at 8–12%, leaving only one high-saturation bright green as the accent color (the role that jumps to 55%). Therefore, the visual impression of the interface is an “ink green-grey base,” with green appearing only on buttons, selection states, and focus rings.

The complete role mapping for light/dark colors is as follows:

Role DSH token Light Dark
Background --dsw-alias-bg-base #EFF5F1 #222A26
Card / Overlay --dsw-alias-bg-layer-1/2 #FCFDFC #2A322E / #303A34
Body text --dsw-alias-label-primary #17261F #D1DBD5
Secondary text --dsw-alias-label-secondary #576B61 #99A89E
Secondary background --dsw-alias-markdown-code-block #E0EBE4 #343D38
Border --dsw-alias-border-l* rgba(23,38,31,.10–.28) rgba(209,219,213,.08–.24)
Accent color --dsw-alias-brand-primary #22774D #41C885
Text on accent --dsw-alias-label-primary-foreground #F8FBF9 #17261F
Sidebar --dsw-specific-sidebar-fill #E8F1EC #1F2823

Regarding contrast, the light mode body text/background is about 14:1, and dark mode is about 10.4:1. The author noted in the README that the dark mode was intentionally not maxed out to prevent eye strain during prolonged use.

Installation and Enablement

The installation commands are taken from the plugin README. First, add the plugin, then restart the DSH process:

dsh plugin --profile web add github:lyq326/dsh-ink-green
systemctl --user restart dsh

If GitHub is not convenient, you can also use the local package artifact:

npm pack
dsh plugin --profile web add ./dsh-ink-green-1.0.0.tgz

The corresponding uninstall command is:

dsh plugin --profile web remove dsh-ink-green

Prerequisites for the target machine: Node ≥ 20, dsh 0.2.x, and pnpm in PATH. The plugin itself has zero dependencies; after npm pack, the installed version is a copy, so deleting the source directory does not affect the installed instance.

Changing Colors

When you need to adjust color values, do not modify lib/client.js directly—it is a build artifact. The correct path is to modify the constant definitions that generate it, then regenerate:

$EDITOR tools/build.py     # Modify LIGHT / DARK groups, or TOKENS table
python3 tools/build.py     # Regenerate lib/client.js

After changing it, simply refresh the DSH page. The bundle’s rev will change with the content, and no restart of the host is required.

Deploying to Another Machine

There are three ways to distribute to another machine:

  • GitHub: dsh plugin --profile web add github:lyq326/dsh-ink-green
  • tarball: First npm pack, copy the .tgz to the target machine, then dsh plugin add <path>, installs a copy
  • Directory sync: First rsync to the target machine, then dsh plugin add ./dsh-ink-green, installs as link:, the directory cannot be deleted

If you changed the colors, remember to run npm version patch before publishing, otherwise pnpm might determine that there are no changes.

Known Limitations

The plugin README explicitly lists several limitations that should be understood before use:

  • No pre-coloring on the first screen: The first frame still uses the host’s native colors; it switches to ink green only after the script loads. In dark mode, a frame of black/gray might flash.
  • Only token coverage: Hardcoded colors within components will not be changed.
  • No layout interference: No DOM overrides, no !important, and no modification of host files.
  • Tested only on the Web profile; the desktop client embeds the Web UI, so it is theoretically usable but unverified.

Use Cases and Notes

Suitable for people who want to change the entire DSH Web interface to an ink green style without wanting to modify the host source code. If your need is to fine-tune hardcoded colors or layout behavior of a specific component, this plugin does not cover it.

It is worth noting that the plugin runs with the permissions of the current dsh process. Before installing, it is recommended to verify the source code content to ensure you accept the project’s licensing method. The project uses the MIT license, contains only pure color values plus a layer of tokens, and the README states that no third-party assets are included.

Conclusion

The value of dsh-ink-green lies in its clear boundaries: it only performs token coverage, handing a set of controlled ink green values to the DSH Web interface. Changing colors has a clear generation process, and the uncovered areas are listed truthfully.

  • Directory page: https://www.skillhub.cn/plugins/lyq326/dsh-ink-green
  • GitHub: https://github.com/lyq326/dsh-ink-green
羽毛球分组比赛记分
小程序二维码

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

Xiaoye