Foreword

The Web interface of DeepSeek Harness (DSH) is functionally oriented by default, with limited color schemes and atmospheric appeal. If you frequently run dsh web in your browser, the visual experience directly impacts your focus and willingness to use it. The community has developed several theme plugins that alter the appearance by overriding design tokens and injecting client-side styles. dsh-theme-firefly takes a different approach: inspired by the character Firefly from “Honkai: Star Rail,” it packages wallpapers, color schemes, splash animations, particles, background music, and typing sound effects into a toggleable skin. Simply install and restart to use. Below, we introduce its positioning, capabilities, and installation methods.

What It Is

dsh-theme-firefly is a Web UI theme plugin for DSH, maintained by Liu-ZA-81, currently at npm version 0.1.2. It declares an injection into the @deepseek-ai/dsh-client-ui-theme slot via dsh.client, registers a cordis theme module on the client side, overrides 100+ --dsw-* design tokens, and layers identity effects such as wallpapers, particles, and audio.

Repository: https://github.com/Liu-ZA-81/dsh-theme-firefly. Community directory page: https://www.skillhub.cn/plugins/Liu-ZA-81/dsh-theme-firefly.

Core Features

Firefly Color Scheme

The theme uses a combination of deep space navy blue-black, firefly cyan-green (#00ff87 / #7dff9e), and luminous white text. Once registered via ctx.theme.register, the tokens take effect immediately, overriding the color system of the DSH Web UI.

Wallpaper System

Wallpapers are applied as full-screen cover backgrounds. The interface container is semi-transparent, with a gradient overlay darker on the left and brighter on the right to ensure chat area readability.

The persistent settings panel, opened via the “Scene” button in the interface, supports:

  • Both dynamic (MP4) and static (image) types, each independently remembering the current wallpaper.
  • Thumbnail grid selection, multi-select removal, random rotation pool, and customizable intervals (default 5 minutes).
  • Bulk import of images or videos from the local machine, with automatic deduplication based on name and size, stored in IndexedDB for persistence.
  • On first installation with no history, the built-in assets/Default_wallpaper.png is displayed first.

Splash Transformation Animation

An embedded GIF splash animation plays on each page refresh, featuring a green glow border and the “Firefly // FIREFLY” title. Clicking anywhere or the “Click to skip” option skips the animation; it auto-skips when the system’s prefers-reduced-motion is set to true.

Firefly Ambient Particles

The “Particle” button offers four levels: Off, Star Points (12), Trailing Lights (28), and Fireflies (80). Switching has a 0.9s fade-in/out effect, without requiring a page refresh.

Background Music and Typing Sound Effects

The “Music” button controls background music on/off, popping up a mini player card with support for previous, play/pause, next, and loop modes (single loop → list loop → random play). Tracks and modes are persisted. The default library includes tracks like “Save One Heart From Sorrow” by HOYO-MiX.

When typing in the chat input box, Web Audio synthesizes real-time “click + low-frequency thud” key sounds. The “Sound” button toggles this on/off. Space and Enter keys have a lower pitch and do not rely on external audio files.

Easter Eggs

  • Sending the exact match SAM in the input box replays the splash transformation animation.
  • Dialogue content triggers meme GIFs in the bottom right corner (maximum one per round), matched by keywords to emotions such as happy, smug, transformation, that’s right, expecting, confused, etc.

Interface Operations

Four control buttons are housed in a draggable frosted glass strip panel, ordered from right to left as “Sound,” “Particle,” “Scene,” and “Music.” The panel can be dragged by any position and remembers its location after restarting dsh web. The music card, wallpaper settings, and wallpaper selector are horizontally centered relative to the panel and automatically stay within the screen. Press ESC to close all floating layers.

Installation and Enabling

Recommended installation via a single npm command. The npm package includes a clean version of lib/client.js, requiring no git clone or local build:

dsh plugin --profile web add dsh-theme-firefly

After installation, restart dsh web to take effect.

To modify built-in assets, install via link from GitHub:

git clone https://github.com/Liu-ZA-81/dsh-theme-firefly.git
dsh plugin --profile web add "link:<absolute path of this directory>"

After modifying directories like assets/, run node build.cjs --clean to rebuild, then restart dsh web.

Uninstall:

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

Restart dsh web for the removal to take effect.

Typical Usage

Add wallpapers at runtime: Click “Scene” → “+ Add Wallpaper,” select multiple images or videos from your local machine. Changes take effect immediately and persist. Ideal for those who don’t want to modify the repository but want to use their own background images.

Adjust particles and sound effects: Drag the panel to a suitable position, use “Particle” to select the particle level, and “Sound” to toggle typing sounds. Settings persist across sessions.

Package custom assets: Place wallpapers in assets/, music in music/, and splash GIFs in GIF/, then run:

node build.cjs --clean

--clean only packages official assets listed in build.include.txt, suitable for submission or distribution. For a full build, use node build.cjs (includes third-party assets, for local use only).

Technical Implementation Highlights

The plugin registers DSH client modules via window.__ModuleLoader__.load(), exporting a cordis plugin { isPlugin, inject: ["theme"], apply }. In apply(ctx), it calls ctx.theme.register to register tokens and setTheme to activate. Wallpapers, particles, and splash animations are implemented by injecting <style> and DOM elements. Dynamic wallpapers use <video muted loop autoplay>, static wallpapers use CSS background layers, and music uses <audio>. Assets are embedded as base64 data-URIs in lib/client.js. The architecture references the “token layer + identity layer” approach from dsh-theme-cyberpunk2077.

Use Cases and Considerations

Suitable for users who frequently use DSH in the browser and desire a unified visual theme. The plugin runs in the local Web UI with the current dsh process permissions. Before installation, it’s recommended to review the repository source code and LICENSE to confirm asset copyright scope.

Theme Exclusion: Multiple theme plugins that call ctx.theme.setTheme and inject !important token styles will override each other; later-loaded themes overwrite earlier ones. It’s recommended to enable only one theme at a time.

Asset Size: Assets are base64-embedded in JS. It’s advisable to keep MP3 ≤128kbps, images ≤500KB, and videos ≤1080p to avoid slowing page load.

Copyright: The code uses the MIT license. Official character wallpapers, music, GIFs, and other assets in the repository are copyrighted by miHoYo / HoYoverse / HOYO-MiX. Third-party wallpapers should not be publicly distributed with the repository but can be used via runtime import. This project is a fan-made work and has no official affiliation with miHoYo, HoYoverse, or DeepSeek.

Conclusion

dsh-theme-firefly integrates Firefly’s firefly-green color scheme, wallpapers, splash animations, particles, music, and typing sound effects into the DSH Web UI, enabled with a single dsh plugin command. If you want to give your daily AI agent workstation a complete skin makeover, you can start from the community directory or GitHub repository: