Themes & Appearance

deepseek-harness-angelina-themes

bilbillm/deepseek-harness-angelina-themes · ★ 7

bilbillm

Angelina light and dark glass themes with parallax for DeepSeek Harness

License
MIT
Added
2026-08-16
Maintenance
active
Install kind
github
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-08-19
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add github:bilbillm/deepseek-harness-angelina-themes

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. Preview
  2. Parallax layers
  3. What changes in the UI
  4. Glass recipe
  5. Motion contract
  6. Install
  7. GitHub (recommended)
  8. Local checkout
  9. Harness compatibility
  10. Build, test, and audit
  11. FAQ
  12. License and assets

An independent dsh-plugin that ports the Codex Angelina light and dark themes to DeepSeek Harness. It keeps Harness interaction and layout behavior intact while adding the artwork, restrained parallax, readable frosted glass, and a durable theme picker.

简体中文: README.md

Preview

The light theme uses a warm rooftop scene and pale glass. The dark theme uses a low-luminance night scene and cool glass. Menus, dialogs, inputs, composers, and user bubbles keep a visible separation from the artwork so copy remains readable.

Parallax layers

The scene is composed from a background layer and a transparent foreground layer. The distant city moves only slightly; Angelina and the letters move a little more. Titles, selectors, composers, controls, and copy stay stationary.

What changes in the UI

Area Treatment Boundary
Empty and active conversations Same artwork composition and parallax; active conversations add shallow backdrop blur and a translucent tint Conversation copy, titles, buttons, and inputs do not move
Header, sidebar, menus, listboxes, dialogs Leaf-node frosted glass instead of filtering fixed-position ancestors Open overlays keep their own edge and shadow
Composer, inputs, user bubbles Translucent fill, backdrop blur, and a small saturation lift Harness shape, sizing, keyboard behavior, and button layout stay intact
Settings Dedicated Angelina picker with light/dark previews and durable browser-local selection Unload restores the host theme and body attributes
Motion Two-layer light parallax and a lower-amplitude dark path Reduced motion, touch, narrow viewports, blur, and hidden pages disable or reset motion

Glass recipe

The menu and settings-card surfaces share one recipe so the header, dialogs, and cards do not drift into different opacity or blur levels:

background: rgba(43, 51, 58, 0.66);
backdrop-filter: blur(18px) saturate(104%);

Glass is applied only to visible leaf surfaces. Sidebar/frame ancestors are left untouched so fixed overlays, scroll containers, and conversation layers keep their positioning. Active conversation content uses a shallow 3px backdrop blur while its text and controls remain sharp.

Motion contract

Mode Background Foreground Intent
Angelina light -5 / -3 10 / 6 A clear sense of depth without moving the UI
Angelina dark 0.5 / 0.25 — (foreground artwork disabled) Calm, stable night-time motion

Each pair is the X/Y movement coefficient after pointer coordinates are normalized to -1..1. The parallax layer has pointer-events: none, so it never blocks Harness controls. Titles, selectors, composers, controls, and copy are deliberately excluded from the transform.

Install

Use a DeepSeek Harness Web profile with Node.js 20 or newer. lib/ is committed, so a source install does not require a user-side build:

dsh plugin --profile web add github:bilbillm/deepseek-harness-angelina-themes

Restart the Web profile:

dsh web
# or
npx @deepseek-ai/dsh web

Open Settings > General and choose Angelina themes. Remove it with:

dsh plugin --profile web remove dsh-angelina-themes

Local checkout

Useful when iterating on the source checkout. Relative paths are anchored to the directory where the command is invoked:

cd C:\Users\lumoren\Documents\GitHub\deepseek-harness-angelina-themes
pnpm install
pnpm build
dsh plugin --profile web add .

After editing src/, run pnpm build again and restart DSH. End users can install the committed lib/ directly without building.

Harness compatibility

  • Published Harness 0.1.0-rc.6 projects active color mode and tokens but not the theme id needed by third-party selectors. The plugin synchronizes body[data-ds-theme] and restores its previous value on unload.
  • The feature/angelina-themes fork already owns both theme ids. The plugin reuses existing definitions and registers only missing ids, avoiding duplicate-id failures.
  • If the fork already owns #dsh-angelina-parallax and body[data-dsh-angelina-parallax], the plugin does not add another layer stack or pointer listener.
  • It can be installed alongside dsh-motion and dsh-conversation-minimap; this package owns the visual layer and does not take over motion-plugin or conversation data behavior.

Build, test, and audit

pnpm install
pnpm generate-assets
pnpm typecheck
pnpm build
pnpm test
pnpm smoke

Run the full verification sequence with:

pnpm verify

src/themes.json is the single token source. src/assets/ contains the auditable WebP artwork. The generator embeds data URIs in the client bundle, so runtime rendering does not depend on a remote image host.

FAQ

The picker is missing. Confirm that the active profile is web, restart DSH, and inspect the installation with dsh plugin --profile web why dsh-angelina-themes.

Why is parallax disabled on mobile? Touch input, viewports at or below 900px, reduced-motion preferences, blur, and hidden pages disable or reset it to protect readability, battery life, and touch stability.

Why did the theme disappear after choosing a built-in light/dark mode? That is intentional. Returning to a host theme clears the plugin selection marker to system and does not overwrite host settings. Select Angelina light or dark again to re-enable it.

License and assets

Code and metadata are MIT-licensed. Angelina, Arknights, and related artwork and marks remain with their respective rights holders. This is an unofficial fan customization and is not affiliated with DeepSeek, OpenAI, Hypergryph, Yostar, or Arknights.

See ASSET-PROVENANCE.md and THIRD-PARTY-NOTICES.md for attribution details.