dsh-window98-theme
A faithful Windows 98 skin for the DeepSeek Harness web GUI, derived from the classic 98.css design system.
- Stars
- 0
- Language
- JavaScript
- Created
- Sep 8, 2026
- Updated
- Sep 8, 2026
Introduction
dsh-window98-theme
A faithful Windows 98 skin for the DeepSeek Harness (DSH) web GUI, derived from the classic 98.css design system.
Teal desktop, silver beveled panels, navy accents, pixelated MS Sans Serif, raised 3-D buttons, sunken text fields, and checkerboard scrollbars — with a matching dark variant ("Win98 night") that keeps the retro bevels on dark gray surfaces.
Features
- Complete token remap — overrides the full
--dsw-alias-*design-token layer (≈90 tokens) in both light and dark modes, so every component (buttons, hovers, code blocks, chat bubbles, sidebar, tooltips, scrollbars) follows the Win98 palette. - Classic chrome — 98.css-style beveled buttons (pressed state included), sunken inputs with the original dropdown arrow, beveled
<pre>/<fieldset>, dotted focus outlines, navy::selection. - Pixelated typography — loads the 98.css "Pixelated MS Sans Serif" webfont and disables font smoothing for that authentic bitmap look.
- Checkerboard scrollbars — the original 98.css checkerboard track, beveled thumb and four arrow buttons.
- Square corners everywhere — global
border-radius/corner-shapereset plus modern shadows, blur and transitions removed. - Theme picker entries — registers
window98(light) andwindow98-dark(night) themes in the DSH theme picker. - Careful exclusions — view tabs, breadcrumb titles, brand pills, badges/chips/tags stay flat, so navigation and headers keep their native look.
- Instant apply + persistence — the Client half hot-applies tokens through the theme service (no refresh); the Host half injects the full stylesheet into every served
index.html, so the skin survives reloads.
Installation
Requires DeepSeek Harness with the web profile enabled. Install from GitHub:
dsh plugin --profile web add github:lffrom0303/dsh-window98-theme
Restart dsh web for the plugin to take effect.
To remove:
dsh plugin --profile web remove dsh-window98-theme
Dynamic plugin (one-click, no install)
You can also use it as a dynamic Cordis plugin without installing anything:
- Open the dynamic plugin editor in DSH.
- Paste the whole content of
plugin.dynamic.jsinto the Client code box. - Run it — the skin applies immediately and reverts when the plugin stops.
Usage
- The skin is applied automatically. Pick
window98orwindow98-darkin the theme picker to pin a mode. - To disable the skin for the package form, edit
cordis.patch.ymland setconfig.mode: stock.
Config reference
| Key | Values | Default | Description |
|---|---|---|---|
mode | window98 / stock | window98 | Enable or disable the skin |
How it works
- Host half (
index.js) — registers awebServer.tapIndextransform through the official seam; every servedindex.htmlgets a<style id="dsh-window98-theme">block with the full skin (token maps forhtml bodylight andhtml body[data-ds-dark-theme]dark, plus the chrome CSS). - Client half (
client.js) — the official web-shell closure factory; registers the two themes and hot-applies the core 13-token override layer through the theme service (ctx.theme.overrideTokens), so switching takes effect without a reload. - Dynamic form (
plugin.dynamic.js) — the same skin as a single self-contained Client function body usingtheme.register+theme.overrideTokens+styles.insert.
The design follows 98.css values: teal #008080, silver #c0c0c0, dialog gray #d4d0c8, navy #000080, bevel shadows #dfdfdf/#808080/#0a0a0a.
Compatibility
- DeepSeek Harness web profile (tested on the current
dsh webrelease line). - Chromium-based browsers for the checkerboard/arrow scrollbar chrome (other browsers fall back to token-colored scrollbars).
- Node
>= 22.19.0for the package form.
License
Links
- 98.css — the original Windows 98 design system
- Other DSH theme plugins — the reference architecture this repo follows