Introduction

The Web interface of DeepSeek Harness (DSH) provides a set of generic theme tokens by default. Skinning often involves changing just a few primary color variables, but the sidebar, message bubbles, code highlighting, and contrast ratios may not be systematically aligned. If you want the interface to have a clear cultural aesthetic without manually maintaining dozens of CSS variable sets, you need a theme solution that covers a complete token vocabulary and passes readability validation.

dsh-theme-plugin is maintained by nevertoday, published as the npm package dsh-theme-plugin, and categorized under “Fun Dress-up” in the SkillHub directory. It generates 49 Chinese traditional color anchor points, each producing a light and dark theme, totaling 98 themes. Each theme defines 98 tokens (89 --dsw-* plus 9 --shiki-token-* syntax highlighting slots) and passes WCAG AA on 3136 contrast assertions. The current version is 0.3.3, licensed under MIT.

What Is This

In one sentence: It systematizes Chinese traditional colors into a complete set of switchable DSH Web client themes, rather than scattered color patches.

The maintainer, nevertoday, continues to iterate on the GitHub repository nevertoday/dsh-theme-plugin; the community directory page can be found at SkillHub. The DSH ecosystem adheres to the principle of “everything is a plugin,” and SkillHub is an independent community site with no official affiliation with DeepSeek or幻方.

Core Features

98 Themes with Complete Token Coverage

Each of the 49 anchor colors corresponds to both light and dark variants, totaling 98 themes. Each theme fills the complete DSH design token vocabulary and synchronously configures the nine --shiki-token-* slots for shiki code highlighting. After installation, the browser console should output registered 98/98 themes (49 light / 49 dark).

Four-Layer Design: Paper · Veil · Seal

Themes are layered following the color order of Chinese paintings, rather than simply making traditional colors “lighter for backgrounds”:

  1. Paper — Accounts for approximately 60% of the canvas. Four paper material families (plain silk, treated Xuan paper, snow blue, ochre paper) are deliberately separated in OKLab chroma, with light backgrounds around L ≈ 0.963–0.971, leaning towards off-white rather than pure white.
  2. Veil — Accounts for approximately 25%. Sidebars and message bubbles use the anchor color itself, maintaining a 1.25–1.55 contrast band with the paper; identifying the current theme relies primarily on the bubble color, not the background.
  3. Seal — Primary and send buttons use the anchor color darkened as the focus color; curated accent colors (sealName / sealRel) are only used for navigation activation highlights.
  4. Ink — Body text, dividers, and secondary surfaces descend along the same ink color ladder; light and dark share the same structure.

For code blocks, five syntax chromatic slots (keyword / string / constant / function / parameter) follow the color hue conventions familiar to programmers, with colors taken from the 742-color name registry. When an anchor color hue falls within a slot’s window, the anchor color itself serves as that slot (e.g., in the bamboo green theme, strings are bamboo green). Comments and punctuation use ink colors, and all nine slots achieve a 4.5 contrast ratio against the code block background.

Theme Selection and Retrieval

The Settings → Traditional Colors panel provides four ways to find colors:

  • Browse — Displays all 49 anchor points for the current variant, grouped by paper material family, with each row chip previewing the actual paper, veil, and seal colors.
  • By working mood — Six time-period chips (e.g., Morning → Daybreak), for example selecting “Midnight, Night Flight” filters out eight darker, quieter themes.
  • Search — Supports Chinese names, pinyin, seal names, and mood search; typing lv finds all twelve green themes.
  • Curated only — Twelve curated selections covering four paper materials and six moods; the dark variant panel itself renders in the theme’s style.

Twelve anchor points are marked as the curated shortlist. The panel only references --dsw-* tokens, dynamically changing colors based on the current selection, also serving as a preview.

Quality Gates

pnpm check recalculates all assertions from the generated results: 3136 contrast lines, as well as invariants such as veil chroma, single focus, syntax slot hue separation, anchor point entrance rules, layer direction, and complete token coverage. The generator’s output is not to be trusted; it must be verified by the check script.

Installation and Enabling

The plugin is installed via the npm pre-built package, with no need to clone the repository or build locally. The first launch creates the web profile in ~/.dsh/profiles/web.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-theme-plugin@latest
npx -y @deepseek-ai/dsh --profile web

After starting, open http://127.0.0.1:3080/.

Verify installation:

dsh --profile web --dump-config

The configuration should include theme-zhongguo related lines; the browser console should show 98/98 themes registered successfully.

To update: repeat the add command. To uninstall:

dsh plugin --profile web remove dsh-theme-plugin

Runtime requires Node.js >= 20 (see the engines field in package.json).

Typical Usage

Settings Panel Switching

Open Settings → Traditional Colors, click a theme to apply immediately.

Modifying the URL hash switches themes in real time; deep links take precedence over locally remembered selections:

http://127.0.0.1:3080/#theme=zhuqing-light
http://127.0.0.1:3080/#theme=qunqing-dark

Remembered selections are saved in localStorage, not in settings.yaml, so they do not sync across devices.

Use Cases and Notes

Who Is It For

  • Developers or agent builders who work long-term on the DSH Web interface and want a stable, recognizable Chinese traditional color visual system.
  • Scenarios requiring code highlighting and UI primary colors to align under the same generation rules, with automated contrast validation.
  • Users who prefer selecting colors quickly via mood, pinyin, or curated lists rather than memorizing 49 color names.

Notes

  1. The plugin runs with the permissions of the current dsh process; it is recommended to read the GitHub source code and MIT license before installation.
  2. Only targets the DSH Web profile (client.platform: web); CLI or other profiles are not covered by this package.
  3. Theme selections are stored by default in the browser’s localStorage; switching devices or clearing cache requires re-selection, unless deep links are used.
  4. The repository README provides Chinese documentation README.zh-CN.md; design details and paper-veil-seal layer explanations should refer to that document.

Conclusion

dsh-theme-plugin expands 49 Chinese traditional color anchors into 98 complete DSH themes, using paper-veil-seal layering and automated contrast checks to solve the common issue of “skinning only changing primary colors, with code blocks and readability misaligned.” If you are already using DSH Web, a single add command lets you browse bamboo green, ultramarine, vermilion, and rattan yellow themes in the settings.