dsh-ui-theme-studio
v0.2.1
Published
A quiet, configurable Nuxt UI-inspired theme for DeepSeek Harness
Maintainers
Readme
Theme Studio
A quiet, configurable Nuxt UI-inspired theme for DeepSeek Harness. Clear surfaces, your own accent, and familiar DSH controls—without replacing the application, its icons, or your widgets.
Theme Studio uses DSH’s existing React runtime. It is not Vue or the Nuxt UI component library. No runtime dependencies, external fonts, CDN requests, telemetry, or model calls are added.
Supported DSH: 0.2.1-rc.2 · Theme version: 0.2.1 · License: MIT
Releases · v0.2.1 · Report an issue
Install
Desktop
Open Plugins in DeepSeek Harness and install the npm package:
dsh-ui-theme-studioAlternatively, download the package .tgz from GitHub Releases and install that archive through Plugins. Use the Desktop plugin manager rather than changing a running Desktop profile with a separate CLI.
Web
dsh plugin --profile web add dsh-ui-theme-studioRefresh the page or restart Harness if the updated Client code has not loaded. Automatic hot reload is not assumed.
Use one full-interface theme at a time. Disable Orca Link or another full-interface skin before enabling Theme Studio. You can keep those packages installed. Deep Whale Manager can switch Theme Studio and Orca Link exclusively through the included skin manifest.
Customize
Open Settings → Theme Studio, or the Theme Studio bundle page under Plugins. Changes apply immediately; preset selection requires Apply preset.
- Light, dark, or system color mode.
- 23 accents: the 22 standard Tailwind families plus Mono. Mono is black in light mode and white in dark mode; success, warning, and error colors keep their meanings.
- Five neutral palettes: Slate, Gray, Zinc, Neutral, and Stone.
- Corner radius: 0–16 px; compact or comfortable density.
- System fonts only: DSH default, system UI, sans serif, serif, or monospace for interface/conversation text; DSH default or system monospace for code. No font files are downloaded or bundled.
- Conversation text size: 10–22 px; code size: 10–16 px. Conversation text size is not a global interface zoom setting.
- Four built-in presets, plus named user presets with save, apply, rename, and inline delete confirmation.
The interface is available in English and Russian and follows the active DSH language automatically. DSH owns its initial system/browser language preference and available language providers; Theme Studio does not add a separate language switch or force a language.
Fonts, text sizes, and color mode use DSH’s built-in appearance preferences and follow changes made elsewhere in Harness. If a custom font is already configured in DSH, Other (configured in DSH) preserves it until you explicitly choose a supported system family. Disabling the theme does not undo committed DSH font, size, or mode preferences.
Presets and portable JSON
Save up to 20 user presets, with unique names of 1–48 characters. Resetting appearance keeps your saved presets.
Export JSON downloads only Theme Studio’s current appearance and user presets—never conversations, credentials, or other plugins’ configuration. Import JSON validates the entire file, shows a preview, and waits for Apply imported settings. Applying replaces the current appearance and complete user preset list; canceling changes nothing.
The format uses type: "dsh-theme-studio", schemaVersion: 1, and a 64 KB UTF-8 limit. Unknown fields, unsafe prototype keys, unsupported versions, invalid values, duplicate preset IDs/names, and oversized files are rejected. See the appearance schema and file schema.
A font value of host means keep the font configured in the receiving DSH instance. It does not transfer an arbitrary font name or install a font.
Browser settings are written as one validated envelope. DSH exposes separate asynchronous preference writes, so a combined atomic Host transaction is not promised. Synchronous failures trigger a best-effort rollback and visible error; later persistence failures remain under DSH’s own settings lifecycle.
Storage and compatibility
Palettes and presets are stored in this browser’s localStorage. Existing v1 preferences are migrated without deleting the old key; v2 settings take precedence. Failed reads or writes are reported, not presented as successful saves.
The theme preserves DSH’s conversation/editor logic, standard icons, translated text, permission behavior, and model actions. Whale Widget and its Russian companion remain independent; keep them and your Russian UI provider enabled.
Chat/composer surfaces, user bubbles, code backgrounds, and menu materials share the selected palette and geometry. Syntax highlighting, editor scrolling, input handling, and menu positioning remain host-owned. Detailed row styling is limited to source-verified controls: permission and agent-preset menus retain their internal row implementation.
Only DSH 0.2.1-rc.2 is currently supported. Some visual polish targets version-specific hashed classes; a future DSH rebuild may require an update. Source evidence and boundaries are documented in Chat and composer and Menus.
Verification
- 22 unit/source tests, JavaScript syntax checks, and generated-artifact checks pass.
- Client registration and theme-token activation have been observed in a running DSH
0.2.1-rc.2instance. - Registration is not a visual test: automated browser/visual E2E coverage is not available. Review light/dark rendering, keyboard navigation, file import/export, narrow windows, and widget coexistence in your environment.
Development
No dependency installation is required for the Node.js build and tests:
npm run build
npm run check
npm testSource, styles, and locale dictionaries are assembled into the distributed Client artifact. Published packages must include that built artifact. Theme-owned styles, token layers, subscriptions, and temporary export URLs are cleaned up on unload; shared DSH appearance preferences remain saved.
License and feedback
Code and the original plugin icon are released under the MIT license. Theme Studio is an independent DSH theme inspired by Nuxt UI, not an official Nuxt UI integration.
Please open an issue with your DSH version, theme version, reproduction steps, and a redacted screenshot when useful.
