Theme Asuka // 02
简体中文
An unofficial fan-made Light/Dark appearance plugin for the DeepSeek Harness
Web UI. It pairs restrained school blue, ribbon red, warm paper, and quiet
Tokyo-3 night tones with three right-composed wallpapers that follow the local
time of day.
Not affiliated with DeepSeek, khara, Evangelion, or any original rights
holder.
Preview
Theme-Asuka running in DeepSeek Harness
Compatibility
- DSH:
0.2.1-rc.2
- Cordis:
4.0.5
- Node.js:
>=20
- Target: Ubuntu / WSL2 Ubuntu with DSH Web and Linux Chrome
Version 3.3.0 targets DSH 0.2.1-rc.2 and includes WebGPU optics. Its glass
surfaces, scene switching and sidebar/menu behavior were checked in an isolated
Windows DSH Web profile using the Codex in-app browser. Ubuntu/WSL and real model
streaming have not been rechecked for this baseline; the user's 2026-10-01 WSL
confirmation belongs to 3.2.2 / DSH 0.2.0-rc.2. See
COMPATIBILITY.md for evidence and limits.
Install
GitHub Release
Install the prebuilt 3.3.0 Release asset:
dsh plugin --profile web add https://github.com/Yyyyyylor/dsh-asuka-school-theme/releases/download/v3.3.0/dsh-asuka-school-theme-3.3.0.tgz
This project is not published to npm. The Release asset contains the prebuilt
Host/Client code and all three public wallpapers. Restart the DSH Web profile
after installing, updating or removing the plugin.
From a local checkout
In the repository root, run:
pnpm install
pnpm build
npm pack
dsh plugin --profile web add ./dsh-asuka-school-theme-3.3.0.tgz
The package filename should match the .tgz emitted by npm pack.
GitHub source tag
Install from the fixed v3.3.0 source tag:
dsh plugin --profile web add github:Yyyyyylor/dsh-asuka-school-theme#v3.3.0
This requires Git to be available on the host. Pin the tag instead of using
main so updates remain predictable.
Use
Version 3.3.0 uses WebGPU to render rounded lens refraction maps,
Fresnel/specular light and a restrained caustic rim. SVG backdrop filters then
sample the live page behind each surface, including DOM text; no wallpaper
copy, screen recording or DOM rasterization library is used. The GPU canvas
contains optical data, not the page image. Maps update on geometry changes,
not in a continuous frame loop. Missing WebGPU, device loss or initialization
failure retains the existing SVG optics; unsupported backdrop engines retain
frosted glass. WebGPU requires a secure context (HTTPS or localhost).
Rounded background refraction applies to the composer,
sidebar, header, menus and Settings on Chromium, with a curved highlight rim
and subtle dispersion on compact controls. Settings uses a stronger 48px
background blur while keeping its translucent tint and rim highlights.
Other engines retain frosted glass.
On narrow windows, the right sidebar shares the available width with the main
content instead of automatically covering it; its fullscreen button remains available.
Its button glyph, tooltip and keyboard shortcut follow the displayed layout;
exiting fullscreen returns to the shared width while keeping the sidebar open.
Fullscreen entry and exit animate the sidebar and main area together, with one
glass rim and stable conversation content during the transition.
Pointer highlights respond softly near the rim and fade when the pointer leaves.
Both reduced-motion preferences stop pointer-following highlights. This is a
Web effect inspired by Liquid Glass; it does not use Apple's native material.
See the implementation and verification limits.
- Open Settings → General → Theme-Asuka for the quick Off / On the Way to
School / Noon Classroom / Tokyo-3 Night scene switch.
- Open Settings → Theme-Asuka for wallpaper period, opacity, blur,
decorative details, reduced motion, and reset. In the default automatic
setting, Early is 06:00–11:00, Noon is 11:00–17:00, and Night is 17:00–06:00;
the wallpaper crossfades at each boundary.
- New-session and active-conversation composer cards share the same lighter,
scene-aware liquid-glass surface, keeping more of the wallpaper visible.
- Assistant replies, reasoning, tool calls/output and errors share the message
glass material and remain readable above 100% wallpaper opacity.
- Presented file cards and model submenus use matching rounded glass; file
actions retain one shared frame and their native preview/menu behavior.
- The composer's add menu keeps its rounded frosted glass and blurs content behind
it; clicking either the add button or workspace selector again closes its menu.
The add menu retains its bottom scroll hint separately from the glass rim. Split dividers stop
inside the rounded edges.
- Menu backgrounds keep the same blur, tint and rim during opening, retaining
refraction and pointer highlights without a delayed material switch.
Menu labels and icons fade in with a subtle 4px rise over 180ms; plugin/system
reduced motion disables this entrance. Menus still close immediately because
DSH does not retain them for an exit animation.
- The left sidebar, conversation header and docked right panes float above the
wallpaper with matching rounded glass surfaces and visible gaps. The icon rail,
pane resizing and narrow-window fullscreen behavior remain native; title-edit
actions wrap when the center column runs out of room.
- Splitting the right sidebar smoothly expands a second pane; closing a split
smoothly expands the surviving pane. Desktop fullscreen entry and exit smoothly
change its width. Dragging remains immediate, and plugin/system reduced-motion
preferences disable transitions.
- Narrow guide panes hide shortcut hints to keep entry names visible and restore
them when widened. Selected dock tabs pair their fill and labels with the scene.
Code banners use distinct scene fills and a fine divider to separate the title,
code body and transcript.
- Use the edit action beside a conversation title to rename the current
session without leaving the conversation view.
The default mode is Off. This plugin leaves the official Light, Dark, and
System appearance unchanged; it only adds the selected wallpaper scene.
Wallpaper images are decoded before the existing crossfade starts, and likely
next scenes are preloaded while the browser is idle. Range-control previews are
frame-coalesced, so opacity and blur adjustments remain responsive without
reapplying unrelated theme tokens. Previously decoded preset images are reused
until plugin disposal; blur is applied to each wallpaper layer before its opacity
crossfade, avoiding a filtered parent that flattens both changing layers.
Palette variables are prepared off-document and applied in one style update.
Privacy and assets
No credentials, telemetry, image upload, or browser localStorage preference
store is used. Scalar preferences are stored in DSH's plugin-owned Host
entry's live Config form (asuka-school-theme). DSH migrates the old settings
document into the profile; the entry ID and preference fields are unchanged.
The three bundled WebPs are generated project assets; see
assets/LICENSE.md and docs/ASSETS.md.
Do not package private artwork from assets/private/.
The Host reads only the three package-owned images and serves fixed GET/HEAD
routes on the existing DSH Web server. The browser uses same-origin DSH
transport for images, settings and explicit session-title edits. No third-party
service, data upload, telemetry, credentials or subprocess is used. The runtime
dependency is pinned Schemastery 3.18.5; DSH/Cordis are host-provided optional
peers, not additional runtime installations. There are no installation lifecycle
scripts. See Store review for dependency, permission and
failure boundaries. Independent supply-chain review and Store automatic
rechecking remain pending; declarations do not guarantee approval.
Development
Maintainers should start with the project index and the
repository-specific agent guide.
pnpm build
pnpm test
pnpm check
npm pack --dry-run
The package publishes prebuilt lib/index.js and lib/client.js; end users do
not need a postinstall build. See docs/RESEARCH.md for the
historical implementation notes and docs/COMPATIBILITY.md
for remaining live integration checks.