Introduction¶
The theme appearance of the DSH web client is typically controlled by theme tokens. If you want to temporarily switch to a local image style within a project, you usually need to manually pick colors, adjust the background, glass surface, accent color, and text contrast. DSH provides plugin, settings-slot, and theme-token APIs, allowing the community to complete such interface customization via plugins; the community directory is an independent site, not equivalent to the official app store, and does not constitute an official subordinate relationship with DeepSeek / Hypersphere.
Below is Carpon39038/dsh-image-theme: a Warp-inspired image-to-theme plugin for the DeepSeek Harness web client.
What is this¶
Carpon39038/dsh-image-theme is maintained by Carpon39038 and is licensed under MIT. It is a plugin for the DSH web client, with the core workflow being:
- Upload or drag in an image.
- Extract five dominant colors in CIE Lab space in the browser.
- Use the darkest image color for translucent glass surfaces.
- Allow the user to select an extracted color as the DSH accent.
- Correct text and accent contrast before applying theme tokens.
- Use the original image as the full-window background.
It does not directly modify the host UI’s hard-coded styles but generates token overrides via DSH’s theme interface.
Core Features¶
The following sections explain capabilities by category.
Image Upload and Palette Extraction¶
The plugin supports uploading or dragging images in Settings → Image theme. The extraction result is five sets of colors; the extraction process uses a deterministic five-color Lab k-means palette extraction in the browser.
“Deterministic” here means the same input generates the same palette result.
Theme Mapping¶
The plugin maps the colors in the image to DSH’s theme roles:
- Darkest image color: Used for translucent glass surfaces.
- User-selected extracted color: Serves as the DSH accent.
- Original image: Used as the full-window background.
- Text and accent: Undergo contrast correction before application.
Theme overrides are completed via the following DSH interface:
ctx.theme.overrideTokens()
This means the plugin does not perform hard-coded edits to the host UI.
Background Rendering¶
The plugin uses the original image as the full-window background and allows adjustments of:
- dark overlay
- blur
- saturation
- position
These adjustments all revolve around the same image, requiring no additional image upload.
Settings Entry¶
The plugin provides a dedicated Settings → Image theme section, including:
- drag-and-drop upload
- palette controls
- responsive settings UI
- reduced-motion support
Local Storage and Privacy¶
Images are not uploaded:
- images are stored in IndexedDB as Blobs
- settings are stored in
localStorage
Therefore, images and preferences are browser-local.
Disable Behavior¶
The plugin can be disabled, but selected images and settings will not be lost.
Installation and Enablement¶
Install from GitHub¶
First, execute the following command to add the plugin to a specified DSH profile:
dsh plugin --profile <profile-name> add github:Carpon39038/dsh-image-theme
Then restart or refresh the DSH web client and open:
Settings → Image theme
Local Development Installation¶
Local development requires:
Node.js 22+
pnpm 10+
First, install dependencies and build:
pnpm install
pnpm build
Then install using the local directory:
dsh plugin --profile <profile-name> add link:$PWD
The .npmrc in the repository disables automatic peer installation. This is an intentional setting: DSH supplies the client runtime and UI services, while the current public RC packages still reference workspace-only transitive packages that are not published to npm.
Typical Usage¶
The following are reproducible usage steps:
- Open Settings → Image theme.
- Upload or drag in an image.
- The plugin extracts five dominant colors in CIE Lab space.
- Select one of the extracted colors as the DSH accent.
- The plugin uses the darkest image color for translucent glass surfaces and corrects text and accent contrast before applying theme tokens.
- The original image is used as the full-window background.
- Adjust dark overlay, blur, saturation, and position based on readability.
- If you want to turn off the effect later, simply disable the plugin; the image and settings will be preserved.
Applicable Scenarios and Notes¶
Suitable for the following scenarios:
- Want to quickly customize the DSH web client appearance based on a local image.
- Want to avoid manually modifying the host UI.
- Want to keep a set of local images and theme settings within one browser profile.
Note the following limitations:
- The plugin is web-only.
- Images and preferences are local to each browser profile and will not sync between devices.
- The initial version targets the DSH web plugin APIs inspected at
deepseek-harness0.1.0-rc.5. - Before upgrading to a newer release, check theme and settings-slot contracts.
- License is MIT.
- The plugin runs with the permissions of the current dsh process; check source code and license before installing.
Conclusion¶
The value of Carpon39038/dsh-image-theme lies in making “generating a DSH theme from a local image” an installable, disable-able, settings-preserving web plugin. It does not upload images, does not hard-code the host UI, and is suitable for scenarios requiring quick switching of the DSH web client appearance.
GitHub:
https://github.com/Carpon39038/dsh-image-theme
Directory Page: Directory page URL not provided.