Skip to main content

dsh-ui-web/packages/skins/xp

34Stars2Forks0Issues0Watchers

Provides a Windows XP Luna blue retro skin for DSH Web GUI: blue title bar, four-color flag logo, beige status bar, green Start button, and Bliss blue sky desktop wallpaper. Only modifies browser appearance.

Evidence5/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki

ⓘ This plugin is a sub-package of the CAPTAIN1275/dsh-ui-web monorepo — stars and activity count the whole repository.

Language
TypeScript
License
Apache-2.0
Branch
main
dsh-plugindsh-plugin-marketdsh-plugins

Install

cmdweb profile
$ dsh plugin --profile web add @captain1275/dsh-client-ui-skin-xp

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin CAPTAIN1275/dsh-ui-web/packages/skins/xp for me: review the repository at https://github.com/CAPTAIN1275/dsh-ui-web first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

One-Line Description

The XP (Luna) skin is a retro appearance replacement for DSH Web GUI: transforms the default interface into Windows XP's Luna blue title bar, four-color flag, green "Start" button, and Bliss blue sky desktop, only changing browser appearance without affecting any business logic.

Core Capabilities

  • Inject Luna blue gradient title bar: fixed at top, with four-color window flag icons and three window buttons (minimize/maximize/close)
  • Inject beige status bar: displays "Ready" / "DeepSeek Online" on the left, retains three sunken indicators for "Caps/Num/Scroll" on the right
  • Green "Start" button mounted at bottom of sidebar: clicking triggers the same logic as the native settings entry
  • Explorer-style tree rows: light blue hover state + #316ac5 blue selected state
  • Bliss blue sky desktop background + global right angles: rendered based on body[data-dsh-xp] scope
  • Title and favicon: fixed document title as "Windows XP · DeepSeek Online", inject four-color flag favicon

Technical Implementation

  • Language: TypeScript
  • Key Dependencies: @deepseek-ai/cordis (dsh plugin runtime, explicitly declared in devDependencies), CSS Modules (xp.module.css, automatically injected with bundle)
  • Architecture Pattern: Pure client-side skin plugin — host-side apply() is empty implementation, all skin logic in src/client/index.ts's apply(ctx): opens scope via body.dataset.dshXp = '', uses document.createElement to directly assemble title bar/status bar/Start button, uses MutationObserver to remount Start button after sidebar re-renders, uses ctx.effect(..., 'ui-skin-xp: window chrome') to register disposer that reverts all writes
  • Entry Files: Host src/index.ts, browser src/client/index.ts, styles src/client/xp.module.css, registration manifest cordis.patch.yml

Use Cases

Users who miss the Windows XP era appearance and want DSH Web GUI to look like a classic desktop system; or people in team demos/teaching scenarios who want a more distinctive interface without modifying any business logic. It only changes the skin, not affecting dialogue, model calls, or KV cache.

Prerequisites & Compatibility

DependencyMin VersionDescription
DSHNot declaredpeerDependencies in package.json is empty, no explicit SDK version requirement
NodeNot declaredpackage.json does not set engines field
PlatformCross-platformOnly modifies browser DOM and CSS, no os/cpu restrictions
Native ModulesNonePure frontend DOM/CSS work, no native module dependencies

Installation

dsh plugin --profile web add github:CAPTAIN1275/dsh-ui-web/packages/skins/xp

Configuration

No additional configuration required for this plugin. After installation, activate the skin via the dsh-skin use xp command provided by the monorepo; only one skin can be active at a time, no switches or parameters needed.

FAQ

Q: Will enabling the XP skin affect dialogue or model requests?

A: No. The skin only modifies browser DOM and document title, does not inject any Cordis services, does not send any events, and does not touch model requests; after uninstallation, the effect disposer will roll back all writes one by one.

Q: Can the "Start" button in the skin center pop up the Start menu?

A: No. It just forwards the click event to the existing settings trigger button at the bottom of the sidebar (button[aria-haspopup="dialog"]), equivalent to reusing the native settings entry, not a real Start menu.

Q: Can multiple skins be enabled simultaneously?

A: No. Only one skin can be active at a time. The mutual exclusion between skins is managed by the monorepo's scripts/dsh-skin script (dsh-skin use xp). When switching to a new skin, the old skin's effects are automatically reverted.

Q: Will the boot page also get skinned?

A: The boot page remains in default appearance because the plugin bundle isn't ready when the shell renders. Once attributes are set, the shell gets window borders, but cards inside the boot page retain modern style. The skin only takes over areas after the UI stabilizes.

Q: Will switching light/dark theme return to non-skinned appearance?

A: No. The skin renders Luna blue under data-dsh-xp and renders Zune-style black variant under body[data-dsh-xp][data-ds-dark-theme]; switching appearance theme only flips between the two skin color schemes, never leaving the skinned appearance.

Q: Will uninstalling the skin leave residual DOM?

A: No. The effect disposer will revert writes one by one: remove data-dsh-xp attribute, delete title bar and status bar, remove "Start" button and taskbar styles, remove injected favicon; if the title is still written by the skin, it will also restore the original title.

Difficulty Level

Beginner — just install and run one activation command to use. The skin only takes effect on the browser side, has no configuration options, no side effects, and leaves no residue after uninstallation.

Known Issues & Limitations

  • Boot page remains unchanged: The shell's boot page is rendered before the plugin bundle is ready, and the skin takes effect only after the UI stabilizes. After attribute is set, the boot page gets window borders, but internal cards retain modern style (README.md:42)
  • Theme switching locked within skin: The skin simultaneously locks both light Luna and dark Zune color schemes. Switching appearance theme only flips between the two, never returning to non-skinned appearance (README.md:43)
  • "Start" button only opens settings: It forwards clicks to the settings entry at the bottom of the sidebar, not a real Start menu (README.md:44 / src/client/index.ts:125-127)
  • Four-color flag is a flat approximation: The flying Windows flag is presented as a flat 2×2 color block (inline SVG), not a real wavy logo (README.md:45 / src/client/index.ts:39-47)
  • Panel-level decorations depend on data-pane attribute: Sidebar title bar, Explorer tree rows, bottom of taskbar, and surface decorations on session/detail panels depend on the data-pane attribute carried by AppFrame columns in ui-layout; when attribute is missing, the skin still takes effect but lacks panel-specific surfaces (README.md:32)

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/CAPTAIN1275/dsh-ui-web/packages/skins/xp)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory