# dsh-new-ui

English | [中文](README.zh.md)

> A full-site UI rewrite plugin for DeepSeek Harness (`dsh`): **deep tech blue + liquid glass + motion polish**, with **automatic interception of dsh-web-ui** to prevent skin / slot conflicts.

---

## What

`dsh-new-ui` is a single-package DSH plugin that does two things:

1. **Full-site UI rewrite** — a deep tech-blue + liquid-glass light/dark theme designed with `ui-ux-pro-max`. It remaps every `--dsw-alias-*` token through the official `ThemeRuntime.overrideTokens()` API and injects a liquid-glass style layer (aurora backdrop, frosted pane, 150–300ms transitions) plus a persistent bottom-right Russian tagline **«Пусть технологии изменят мир!»**.
2. **Automatic interception of dsh-web-ui** — a bundled patch layer (`cordis.patch.yml`) disables the entire dsh-web-ui family at the load source by row id (`web-ui-*`, standalone `@linxin666/*`, and external `dsh-better-sidebar`), with a host-side runtime conflict detector as defense in depth.

No DSH source changes — everything mounts through the official profile / bundle mechanism.

---

## Features

| Feature | Description |
|---|---|
| 🎨 Full token rewrite | Remaps every `--dsw-alias-*` token: backgrounds, borders, text, buttons, states, sidebar, and more |
| 🌗 Light + dark | Every token carries a `{ light, dark }` pair and follows the system color scheme automatically |
| 🧊 Liquid glass | Translucent surfaces + `backdrop-filter` frost + animated aurora background |
| ✨ Motion polish | 150–300ms transitions on interactive elements, honoring `prefers-reduced-motion` |
| 🛡️ Auto interception | `cordis.patch.yml` disables all dsh-web-ui rows + host-side runtime warning |
| 🌐 Russian tagline | Bottom-right «Пусть технологии изменят мир!» |

---

## Install

Requires DeepSeek Harness (`dsh web` runs).

```bash
dsh plugin --profile web add dsh-new-ui
dsh web
```

From source (development):

```bash
git clone https://github.com/123654qw/dsh-new-ui.git
cd dsh-new-ui
pnpm install
pnpm run build
dsh plugin --profile web add link:$(pwd)
dsh web
```

---

## How the interception works

`dsh-new-ui` declares `dsh.bundle.patch = ./cordis.patch.yml` in its `package.json`. On install it stacks as a bundle layer and writes `disabled: true` by row id for:

- the aggregate `@linxin666/dsh-web-ui-all` (all 17 `web-ui-*` rows)
- the standalone `@linxin666/*` packages (their own 15 row ids)

The host half (`src/index.ts`) enumerates loader entries via `ctx.loader.entries()` and prints a loud warning if any dsh-web-ui plugin is still active:

```
[dsh-new-ui] detected N dsh-web-ui plugin(s) still active. ...
```

Verify:

```bash
dsh --profile web --dump-config
```

The `web-ui-*` / `better-sidebar` rows should show `disabled: true`.

---

## How the UI rewrite works

- **Theme** — `src/client/theme.ts` exports `TOKENS` (`ThemeTokenOverrides`); `src/client/index.ts` calls `ctx.theme.overrideTokens('dsh-new-ui', TOKENS)`. The layer stacks over the active theme and picks the right `{ light, dark }` value per color scheme — immediate and reversible (unload restores).
- **Atmosphere** — `src/client/styles.ts` injects the aurora backdrop, frosted pane, transitions, and the Russian tagline as a plugin-owned `<style>` tag removed on unload / HMR.

---

## Structure

```
dsh-new-ui/
├── package.json          # dsh.bundle.patch + dsh.client + peerDeps + exports
├── cordis.patch.yml      # interceptor: disables all dsh-web-ui rows
├── tsconfig.json
├── tsdown.config.ts      # dual build (host + browser)
├── src/
│   ├── index.ts          # host half: interceptor (detect + warn)
│   └── client/
│       ├── index.ts      # browser half: token layer + styles + tagline
│       ├── theme.ts      # deep tech blue token remap
│       └── styles.ts     # liquid glass / motion / aurora / tagline
├── README.md / README.zh.md
└── LICENSE               # Available License
```

---

## License

[Available License](https://license.kscm.top/available.md) — Copyright © 2026 kscm.

---

## Links

- [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
- [dsh-web-ui](https://github.com/zhu1090093659/dsh-web-ui) (intercepted by this plugin)
