DeepSHPlugins
dsh-theme-liquid-glass 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-theme-liquid-glass

換皮膚色JavaScriptMIT

真正的液態玻璃 DSH 主題:SVG 邊緣折射效果覆蓋輸入框、傳送按鈕、訊息氣泡、檢視標籤、佇列塢和側邊欄。自帶動態色塊桌布,可自定義背景模糊與亮度,重新設計的模型選擇彈窗,全介面玻璃質感按鈕,以及水滴形狀的專屬設定圖示。

2 StarsFAVKTOXIC 更新時間 2026-09-08
訪問 GitHub 倉庫
dsh-theme-liquid-glass 專案預覽
dsh-theme-liquid-glass 介面截圖dsh-theme-liquid-glass 介面截圖dsh-theme-liquid-glass 介面截圖

專案介紹

中文

真正的液態玻璃 DSH 主題:SVG 邊緣折射效果覆蓋輸入框、傳送按鈕、訊息氣泡、檢視標籤、佇列塢和側邊欄。自帶動態色塊桌布,可自定義背景模糊與亮度,重新設計的模型選擇彈窗,全介面玻璃質感按鈕,以及水滴形狀的專屬設定圖示。

English

Genuine Liquid Glass theme for DSH Web UI: SVG feDisplacementMap edge refraction on input card, send button, bubbles, view tabs, queue dock and sidebar. Built-in animated demo wallpaper, customizable background blur & brightness, redesigned model selector popup, glass-styled buttons throughout, and a unique water-drop settings icon.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
FAVKTOXIC
倉庫
FAVKTOXIC/dsh-theme-liquid-glass
GitHub Stars
2
Forks
0
開發語言
JavaScript
許可證
MIT
最近推送
2026-09-08
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

60/ 100
維護活躍
99
文件與實用資訊
100
生態關注度
14
安裝便捷訊號
100
專案宣告訊號
100

近 3 天仍在更新;README 含完整安裝與使用說明;關注度尚低(2)。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add github:FAVKTOXIC/dsh-theme-liquid-glass

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dsh-theme-liquid-glass

Genuine Liquid Glass theme for DeepSeek Harness Web UI.

简体中文

A complete frosted-glass skin: SVG edge refraction, a customizable animated wallpaper, glass-lens buttons, a redesigned full-screen model selector, and a dedicated water-drop settings icon.

v0.4.2 — Requires DeepSeek Harness ≥ 0.1.2-rc.1. This release adapts
to the harness client-package split: the store part of the removed
@deepseek-ai/dsh-client-runtime now lives in @deepseek-ai/dsh-client-store.
See CHANGELOG.md.

Features

Liquid Glass UI

  • SVG Edge Refraction · feDisplacementMap refraction on the input card,

send button, message bubbles, view tabs, queue dock, and sidebar buttons. Intensity is adjustable from a slider.

  • Frosted Glass · Token overrides (ctx.theme.overrideTokens) swap the

--dsw-alias-* semantic tokens for translucent glass values. Glass parameters are driven by --dsh-lg-* custom properties on body and apply instantly.

  • Glass-lens Buttons · Send, view tabs, sidebar actions, and the command

(+) button all use a glass material with edge refraction.

  • Water-drop Settings Icon · A droplet replaces the default gear in the

settings nav.

  • Hover Highlights · Interactive elements get a subtle glow and lift.

Wallpaper & Background

  • Custom Background Blur & Brightness · Control wallpaper blur (bgBlur)

and brightness (brightness) independently so the background sits perfectly under the glass.

  • Built-in Animated Demo Wallpaper · A color-blob wallpaper that works out

of the box, tunable via speed, blob count, color cycle, blur, and opacity.

  • Dynamic Wallpaper Sources · Web URLs (iframe, optional host proxy), local

HTML, local images, and local videos.

Model Selector

  • Redesigned Model Selector · A full-screen frosted picker with provider-group

grid layout and hover highlights — skip the intermediate root pane and jump straight to the model list.

Settings Page

  • Dedicated top-level "Liquid Glass" page (settings.section, beside

General / Model / Plugins) with two groups: Page Background and Input Card · Frosted Glass. All changes apply in real time; Reset to defaults restores everything.

  • One-click Disable · The master toggle strips every token override,

removes the wallpaper, and disables all frosted/lens rules at once — every visual is gated on the body.dsh-lg-on class, so disabling leaves zero residue.

Implementation Notes

  • Frost is applied as filter: blur() on a dedicated background layer

(inset: -48px for bleed room), never backdrop-filter on #root — a non-none backdrop-filter makes #root the containing block for every position: fixed descendant (menus, popups, toasts), re-anchoring them.


Structure

src/index.ts          Host half: wallpaper file routes, file upload, web proxy
src/client/index.ts   Browser half: token overrides, background layer, glass params, settings panel
src/shared.ts         Shared constants and settings types (zero runtime dependencies)
build.mjs             SWC build pipeline (lib/index.js + lib/client.js in loader format)

Install to a DSH Web Profile

Via npm (recommended)

dsh plugin add --profile web dsh-theme-liquid-glass

Refresh the browser.

Compatibility: requires DeepSeek Harness ≥ 0.1.2-rc.1. Earlier
harness versions use the removed dsh-client-runtime package and are not
supported by v0.4.0.

Local Development Link

Link your source directory into the profile's node_modules with a Windows junction (a plain dsh plugin add "<absolute-path>" can produce a broken relative symlink and drop the plugin from the profile bundles list):

# 1) remove any stale entry
dsh plugin remove --profile web dsh-theme-liquid-glass

# 2) junction the source dir into the profile
New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-theme-liquid-glass" `
  -Target "<absolute-path-to-theme-source>" -Force

# 3) ensure the theme is listed in the profile bundles
dsh plugin add --profile web dsh-theme-liquid-glass

Refresh the browser.

After modifying code: rebuild, then refresh.
cd <theme-source-dir>
node build.mjs
Client changes (settings UI, glass params) take effect after a build +
browser refresh. Host changes (routes, upload endpoint) require a
dsh web restart to reload the host half.

Build

npm install
npm run build        # one-shot build (lib/index.js + lib/client.js)
npm run watch        # watch mode (works with client-hmr hot-reload)
npm run dev          # build + smoke test
npm test             # run the client smoke test
npm run typecheck    # tsc --noEmit

Client Injection

The client bundle exports an inject array of service names: ['slots','locale','theme'] (matching the shipped dsh-ui-appearance / dsh-dream-skin plugins). The client loader builds the fiber injection table from this array; missing it causes cannot get property X without inject and a hard web-boot failure. The apply() function itself is wrapped in try/catch — runtime errors degrade gracefully without crashing the GUI.


Persistence (Why localStorage)

Settings are stored in localStorage (key dsh-liquid-glass.settings), not through the settings RPC. The harness settings gateway only exposes hard-coded product namespaces to browser clients — a third-party namespace stays loading forever even when the host half registered it. The shipped dsh-ui-appearance and dsh-dream-skin plugins hit the same wall and both chose localStorage.

Trade-off: settings are per-browser — switching browsers or clearing site data loses them.


Settings Reference

FieldDescription
enabledMaster switch
wallpaper.kindnone / url / html / image / video / local
wallpaper.valueWeb URL or relative path under the wallpapers directory
wallpaper.proxyRoute web URLs through the host proxy (bypasses X-Frame-Options)
wallpaper.mutedMute video wallpapers (default true; unmuting may be blocked by autoplay policy)
demo.speedDemo wallpaper animation speed multiplier 0.1–4 (step 0.1)
demo.blobsDemo wallpaper blob count 1–6
demo.colorCycleDemo wallpaper color cycle 0–10 (0 = static)
demo.blurDemo wallpaper blob blur 10–140px
demo.opacityDemo wallpaper blob opacity 0.2–1
demo.washDemo wallpaper background gradient wash toggle
glass.frostedFrost toggle (input card / bubbles / dock backdrop blur)
glass.blurInput card frost blur radius 0–60px
glass.bgBlurBackground wallpaper blur 0–60px (independent of card frost)
glass.refractionEdge refraction 0–1
glass.tintGlass color
glass.tintOpacityGlass color opacity 0–1
glass.toolTextColorTool call text color (hex, empty = default)
glass.codeBlockOpacityCode block background opacity 0.2–1 (independent of tint opacity)
glass.glassBrightnessGlass material brightness 0.2–1.6 (tint lightness scaling; >1 brighter, <1 darker)
glass.brightnessBackground brightness 0.2–1.6

First Launch

On first enable, the plugin checks whether demo.html exists under <DSH_HOME>/wallpapers. If missing, it writes the built-in demo wallpaper (existing files are never overwritten). The default path is $DSH_HOME/wallpapers/demo.html; the directory can be changed via the wallpaperDir config option.


Screenshots

Input card with edge refraction Chat interface with glass bubbles Settings panel


License

MIT

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案