Preface¶
DeepSeek Harness (DSH) adopts a plugin-based architecture, allowing developers to enhance the client experience by extending its functionality. In practical usage or development, if it is necessary to adjust the interface style to fit a specific scenario (such as simulating a particular chat environment or conducting UI research), directly modifying the core code is often costly. The following section introduces lispking/dsh-qq-skin, which provides a native QQ messenger style for the DSH Web client by overriding theme tokens and injecting a layout layer.
Plugin Introduction¶
This is a QQ NT messenger skin plugin for DeepSeek Harness (dsh), maintained by the developer lispking. It implements UI style switching through a dual-layer structure: instead of registering a new theme ID, it directly overrides existing semantic tokens (Token layer) and adjusts the layout by injecting global CSS (Layout layer). The light mode is clean and restrained, while the dark mode uses calm blue-gray tones.
Core Features¶
- Dual-Layer Architecture and Zero Interference: The plugin consists of two layers: the Token layer and the Layout layer. On uninstall, all injected effects are completely removed, restoring the product appearance to its default state. It does not modify users’ light/dark/system-follow preferences.
- Five Palette Options: It includes five built-in variants: Classic Blue, Vivid Purple, Clean White, Green Bubble, and Deep Black.
- Configurable Toggles: It supports configuring the palette, bubble tail shape, assistant avatar display, and maximum chat stream width.
- Hot Reloading: After changing settings through the configuration panel, both layers of styles are re-applied immediately without restarting the plugin.
Installation and Activation¶
Run the following command in the terminal to install the plugin into the web profile:
dsh plugin --profile web add dsh-qq-skin
The dsh plugin command initializes the profile, runs pnpm add in the profile directory, and merges the plugin’s bundle layer with the currently installed state. Because the plugin declares dsh.client and dsh.bundle.patch, dsh web automatically loads the client bundle and applies the skin when ui-theme is active.
Configuration and Usage¶
The plugin accepts a configuration object in Cordis function plugin format (apply(ctx, config)). Fields that are not specified fall back to their default values.
| Configuration | Default | Description |
|---|---|---|
palette |
'classic' |
Palette: classic (Classic Blue) / vivid (Vivid Purple) / clean (Clean White) / green (Green Bubble) / black (Deep Black) |
bubbleTail |
true |
Small triangular tail on the right side of user bubbles |
assistantAvatar |
true |
Penguin avatar disc on the left side of assistant messages |
chatMaxWidth |
880 |
Maximum width of the chat stream (pixels) |
Configuration Example (can be set in the profile’s plugin configuration):
{ "palette": "vivid", "bubbleTail": false, "chatMaxWidth": 720 }
Notes¶
- Dependency Version: Requires
deepseek-harness (dsh) 0.1.2-alpha.5or a later version. - Ecosystem Context: The DSH plugin ecosystem is independent of DeepSeek’s official environment. Community directories (such as SkillHub) have no official affiliation with DeepSeek / 幻方.
- Permissions and Security: The plugin runs with the current DSH process permissions. It is recommended to review the source code and license before installation.
Conclusion¶
lispking/dsh-qq-skin provides a minimally invasive UI customization solution. Through hot reloading and a configurable design, it allows developers to quickly switch interface styles. For more details and source code, refer to the following links: GitHub Repository | Plugin Directory.