UI Enhancements

dsh-skin-appearance

vim0x3c/dsh-skin-appearance · ★ 5

vim0x3c

An appearance plugin that preserves native DeepSeek Harness controls and adds an Appearance Customization page to settings.

Repository is no longer available (checked 2026-11-15). This entry is retained for tracking and cannot be installed.

License
Unknown
Added
2026-08-23
Maintenance
active
Install kind
github

No manifest check is available; listing does not imply compatibility or security review.

README

Source README · body: en · Read Chinese README

Table of contents
  1. Theme gallery
  2. Install
  3. Design
  4. Development
  5. License

Language: 中文 | English

An appearance plugin for DeepSeek Harness.

It keeps the Harness controls native and adds an Appearance settings page with:

  • eight bundled image themes;
  • a local wallpaper picker that downsizes images before storing them;
  • automatic palette extraction with distinct light and dark appearances for uploaded wallpapers;
  • theme-specific styling for the sidebar, new-session button, plugin entry, and composer;
  • independent wallpaper opacity and blur controls, defaulting to 100% opacity and 0 px blur;
  • Host-backed persistence across web restarts; and
  • one-click reset to the native Harness appearance.
DeepSeek-chan · Abyss Echo QQ2008 · Crystal Blue
DeepSeek-chan theme QQ2008 theme
Cloud Lab Ink Algorithm
Cloud Lab theme Ink Algorithm theme
Abyss Starport Deep-sea Song
Abyss Starport theme Deep-sea Song theme
Intelligence Orbit · Ink Intelligence Orbit · Dawn
Intelligence Orbit Ink theme Intelligence Orbit Dawn theme

Install

The plugin is a dsh bundle. Install it into the web profile with the Harness CLI:

dsh plugin --profile web add /path/to/dsh-skin-appearance
dsh web

The dsh.bundle.patch declaration adds the plugin to the profile layer stack. On the next web boot, its browser bundle is discovered through the dsh.client declaration and the new Appearance page appears in Settings.

For a published package, replace the local path with the package name:

dsh plugin --profile web add dsh-skin-appearance

Design

The Node half registers the appearance settings namespace using the Harness settings service. The browser half contributes a settings.section slot, applies dual-mode token overrides through ctx.theme, and owns a wallpaper layer covering the whole app root. All eight themes provide their own surface styling for the sidebar, session list, new-session action, plugin entry, and composer. QQ2008 adds a dedicated classic-blue window frame, while custom wallpapers use an adaptive light/dark glass recipe.

Uploaded images are decoded and compressed to a JPEG data URL with a 1600 px long-side limit before they enter the settings document. A separate 48 px sample produces the dominant accent, a hue-separated secondary color, and readable surface/text colors for both light and dark modes. All presets and uploaded wallpapers follow the Harness Light / Dark / System preference without changing the selected skin. Switching back to Default removes every plugin-owned token and surface override.

The wallpaper layer itself never uses backdrop-filter; blur is limited to bounded interface surfaces so streaming and scrolling remain responsive.

Development

This package follows the standalone client-plugin build shape used by Harness:

pnpm install
pnpm build

To test it against a source checkout of Harness, build Harness first, then install this directory into its web profile:

cd /path/to/deepseek-harness
pnpm install
pnpm build
dsh plugin --profile web add /path/to/dsh-skin-appearance
dsh web

The package deliberately declares Harness services as peer dependencies. This keeps the plugin on the same Cordis, settings, theme, and React instances as the host application instead of bundling duplicate service identities into the browser bundle.

License

MIT.