dsh-glassmorphism-theme
界面增强 活跃维护

dsh-glassmorphism-theme

EdwardHamu/dsh-glassmorphism-theme

预设多套高兼容性配色方案的磨砂玻璃主题插件,安装后一键应用半透明毛玻璃视觉风格,优化界面层级观感,原生适配深色/浅色模式自动切换,无需额外配置即可体验通透质感。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
TypeScript
主要语言
None
开源协议
13.2 MB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:EdwardHamu/dsh-glassmorphism-theme
git clone https://github.com/EdwardHamu/dsh-glassmorphism-theme.git
git clone git@github.com:EdwardHamu/dsh-glassmorphism-theme.git
README.md main

dsh-glassmorphism-theme

Material Design 3 glassmorphism theme for the DeepSeek Harness Web UI.

dsh-glassmorphism-theme preview

This plugin applies a modern glassmorphism (frosted glass) aesthetic with
custom wallpaper support, transparent surfaces, and backdrop blur effects.
It's client-only, mapping MD3 design tokens onto DSH's semantic CSS without
replacing DOM structure or modifying application settings.

Features

Glassmorphism Effects

  • Backdrop blur and transparency: Sidebar, top bar, composer card, chat glass layer,
    settings panel, and all menus/portals use backdrop-filter with 10px blur and 115% saturation.
  • Semi-transparent surfaces: Chat bubbles and code blocks use 30% opacity backgrounds,
    selected sidebar rows use 30% opacity, preserving text and syntax highlighting clarity.
  • Nested menu optimization: Command and model menus use pseudo-element glass layers to
    avoid nested backdrop-filter conflicts, ensuring visible blur effects.
  • Performance-optimized chat layer: Fixed-position glass background covers only the visible
    chat viewport (not the full message list), updated on resize/layout changes, never on scroll.

Custom Wallpaper

  • Built-in wallpaper settings: A 壁纸 page in the native Settings dialog supports:
    • Local image files (stored in IndexedDB, never uploaded)
    • HTTP/HTTPS image URLs (validated and preloaded)
    • Fill modes: cover, contain, auto
    • Position: center, top, bottom, left, right
    • Readability overlay with adjustable darkness
    • Enable/disable and clear controls
  • Privacy-first storage: Wallpaper images stay in the browser profile's IndexedDB;
    lightweight preferences use localStorage. Nothing is sent to DSH services.
  • Single fixed layer: One position: fixed wallpaper element at page bottom, with
    all glass surfaces layered above.

Material Design 3 Foundation

  • Color system: Light and dark palettes synchronized with DSH's data-ds-dark-theme,
    covering surface hierarchy, primary/secondary/tertiary/error, success, and warning roles.
  • Typography & spacing: MD3 type scale and 4dp grid.
  • Elevation & interaction: Restrained shadows, state layers, visible keyboard focus,
    and accessible contrast.
  • Comprehensive coverage: Sidebar, session rows, composer, bubbles, menus, dialogs,
    settings, form fields, buttons, scrollbars, cards, and responsive viewport adjustments.

Accessibility & Compatibility

  • Reduced transparency mode: Respects prefers-reduced-transparency (uses same 10px blur).
  • Backdrop-filter fallback: Transparent backgrounds when backdrop-filter is unavailable.
  • Reduced motion: Respects prefers-reduced-motion.

Build

npm install
npm run typecheck
npm run build

Install from npm into the local Web profile

Install the published package from npm:

dsh plugin --profile web add "@edwardhamu/dsh-glassmorphism-theme"

Reload http://localhost:3080 after installation. Use the existing Appearance
setting to switch between light and dark palettes.

Wallpaper Setup

Open 设置 → 壁纸 to configure your background:

  1. Choose source:

    • Upload a local image file (JPG, PNG, WebP, etc.)
    • Enter an HTTP/HTTPS image URL
  2. Adjust display:

    • Fill mode: Cover (default, fills viewport), Contain (fit within), or Auto
    • Position: Center, Top, Bottom, Left, Right
    • Readability overlay: Add a dark tint (0–100%) to improve text contrast
  3. Enable the wallpaper to activate glassmorphism effects across the UI.

The wallpaper is off by default and stored locally in your browser profile.
No images or settings are synced or uploaded to DSH servers.