DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-theme-liquid-glass

Theme Liquid Glass

适用于 DeepSeek Harness(Web GUI 和桌面应用)的液态玻璃主题:为编辑器、气泡、停靠栏、菜单和侧边栏添加 SVG 边缘折射;由实时滑块驱动的半透明令牌覆盖;自定义或内置的动态壁纸;以及桌面窗口装饰增强功能

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-theme-liquid-glass@0.5.0
README兼容性版本

兼容性与来源证明

Theme Liquid Glass 以 dsh-theme-liquid-glass 发布,当前版本为 0.5.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/11/4

版本

0.5.1stable
2026/10/24
0.5.0stable
2026/10/23
0.4.2stable
2026/9/6
查看其余 5 个版本收起版本
0.4.1stable
2026/9/5
0.4.0stable
2026/9/5
0.3.1stable
2026/8/25
0.3.0stable
2026/8/25
0.2.1stable
2026/8/23

相关插件

正在加载相关插件…

最新版
0.5.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
190.3 kB
文件数
12
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 3
周下载
548
安全扫描
✓ v0.5.0 扫描通过
最近提交
2026/10/24
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundle新的用户提示到达时刷新会话标题。Personalized Recommendations@deepseek-ai/dsh-personalized-recommendations回答下方以卡片形式提供个性化页面和内置插件推荐Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义

README

Liquid Glass — a theme for DeepSeek Harness

简体中文 · README.zh.md

A frosted-glass rewrite of the DeepSeek Harness interface: real SVG edge refraction on the controls you touch, a wallpaper you choose, and a session bar that shares the window's own title bar instead of stealing a row of its own.

New session screen with the built-in animated wallpaper


⚠️ Please use dark mode

This theme is designed for dark mode and it is the only mode it looks right in. The whole point is translucent glass over your wallpaper — in light mode a bright wallpaper leaves the glass washed out and the text on top of it hard to read.

The theme does darken the light-mode secondary/tertiary greys to recover some contrast, but that is a mitigation, not a fix. If you use light mode, expect readability to suffer. Switching DSH to dark mode fixes it completely.


What you get

Desktop build

  • The session bar is the title bar. DSH's own header stacks the 对话/轨迹 tabs on a second row, 76px tall. This theme moves the whole bar into the 40px system caption — same row as 应用菜单/编辑 and the window buttons — and lays it out as one line. You get that vertical space back: the transcript starts 40px from the top instead of 56px, and the tab buttons become small rounded buttons instead of oversized glass capsules.
  • A fullscreen button. DSH's desktop build ships no fullscreen entry point at all — the frameless caption only has minimize/maximize/close, no F11 or togglefullscreen accelerator is registered, and the main process never calls setFullScreen(true). The theme contributes a 28px button in the header that requests document fullscreen and toggles back out; the icon follows the state, and DSH's own fullscreen-aware layout takes over from there.
  • The caption band is frosted too, top-down, exactly like the session bar — the strip is no longer a flat translucent rectangle.
  • Panels that used to be see-through now have a background: the choice dialog (the panel DSH shows when it asks you to pick an option), the file preview that appears when you hover a row in the "已编辑 N 个文件" card, that card itself, and the question/answer receipt bubble in the transcript. Each gets a blur plus a glass fill at a readable opacity.
  • Readable light-mode text (within the limits of the note above): the secondary / tertiary / caption greys are pushed one to two shades darker.

The glass itself

  • Genuine edge refraction, not just blur. An feDisplacementMap filter bends what is behind each surface at its rim, the way thick glass does. It rides the composer card, the send button, message bubbles, the queue dock, dialogs, menus and sidebar buttons. Strength is a slider — 0 turns it off, 1 is a full lens.
  • Every glass parameter is yours: glass tint colour, tint opacity, material brightness, frost blur radius, edge refraction strength, and the code-block opacity. All of it applies live — no reload, no restart.
  • Glass-lens buttons and the water-drop settings icon that replaces the stock gear.

The wallpaper

  • Six sources: none, a web URL (iframe, with an optional host proxy for sites that send X-Frame-Options), a local HTML file, a local image, a local video, or the built-in animated demo wallpaper that works out of the box.
  • Independent background controls: wallpaper blur and wallpaper brightness are separate from the card frost, so you can keep the background soft while the glass stays crisp.
  • The demo wallpaper is tunable: speed, blob count, colour cycling, blob blur and opacity, plus a background wash toggle.

Everything else

  • One-row header even on the web GUI — sidebar toggle, conversation title, then the tabs, the "open in…" dropdown and the right-sidebar toggle all on one line.
  • Nothing fights your other plugins. The model-selection list is left exactly as DSH ships it (an earlier version restyled it, which collided with other theme plugins), and hover styling is deliberately scoped to the surfaces this theme actually changes.
  • A dedicated settings page — "Liquid Glass" is a top-level section beside General / Model / Plugins, with live preview and a one-click reset.
  • A clean master switch. Everything visual is gated on one class; disabling the theme strips every token override, removes the wallpaper and turns off all frosted/lens rules at once, leaving no residue.

Screenshots

New session screenComposer with edge refraction
New session, built-in animated wallpaperComposer card, edge refraction close-up
Chat with glass bubblesSettings page
Transcript with glass bubbles and the merged top barThe Liquid Glass settings page

Install

Desktop app

The desktop build uses its own profile, named desktop. It is created by the app on first launch, so quit the desktop app before installing:

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

Then start the app again.

Web GUI

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

Refresh the browser.

Compatibility — requires DeepSeek Harness ≥ 0.1.2-rc.1, and supports the 0.2.x runtime, which is what the desktop build ships. Both the web GUI and the desktop app use the same client bundle: everything above is available in both, with the desktop-only items marked as such. Harness versions before 0.1.2-rc.1 are not supported.

From source

git clone https://github.com/FAVKTOXIC/dsh-theme-liquid-glass
cd dsh-theme-liquid-glass
npm install
npm run build

Then link the directory into a profile. On Windows use a junction — a plain dsh plugin add "<absolute-path>" can create a broken relative symlink and drop the plugin from the profile's bundles list:

dsh plugin remove --profile web dsh-theme-liquid-glass
New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-theme-liquid-glass" `
  -Target "<absolute-path-to-theme-source>" -Force
dsh plugin add --profile web dsh-theme-liquid-glass

Settings

The Liquid Glass page (Settings → Liquid Glass) has two groups: Page Background and Input Card · Frosted Glass.

SettingWhat it doesRange
enabledMaster switch — off removes every visual changeon / off
wallpaper.kindWallpaper sourcenone / url / html / image / video / local
wallpaper.valueURL, or a path relative to the wallpapers directorytext
wallpaper.proxyRoute web URLs through the host proxy (bypasses X-Frame-Options)on / off
wallpaper.mutedMute video wallpapers (autoplay policy blocks unmuted)on / off
demo.speedDemo wallpaper animation speed0.1 – 4
demo.blobsDemo wallpaper blob count1 – 6
demo.colorCycleDemo wallpaper colour cycling (0 = static)0 – 10
demo.blurDemo wallpaper blob blur10 – 140px
demo.opacityDemo wallpaper blob opacity0.2 – 1
demo.washDemo wallpaper background gradient washon / off
glass.frostedFrost (backdrop blur) on card / bubbles / dockon / off
glass.blurFrost blur radius0 – 60px
glass.bgBlurWallpaper blur, independent of the card frost0 – 60px
glass.refractionEdge refraction strength0 – 1
glass.tintGlass colourhex
glass.tintOpacityGlass colour opacity0 – 1
glass.glassBrightnessMaterial brightness of the tint0.2 – 1.6
glass.brightness

Settings live in localStorage under dsh-liquid-glass.settings, so they are per browser — a different browser or cleared site data starts from defaults. See Why localStorage below.


Compatibility and deliberate choices

Harness≥ 0.1.2-rc.1, including the 0.2.x desktop runtime
SurfacesWeb GUI and the desktop app (same client bundle)
Peer packagesthe five @deepseek-ai/dsh-client-* packages, declared as optional peers over ^0.1.2-rc.1 || ^0.2.0-0
Model-selection listleft to DSH. An earlier release restyled it; other theme plugins style the same menu and the two overwrote each other, so the theme backed off
Hover stylingscoped to the composer, queue dock, dialogs/menus, view tabs and sidebar only — it will not restyle another plugin's controls
Light modesupported, but the glass reads washed out — see the note at the top
Settings storagelocalStorage (per browser)

Development

npm install
npm run build      # one-shot build → lib/index.js + lib/client.js
npm run watch      # watch mode (pairs with client HMR)
npm run dev        # build + smoke test
npm test           # client smoke test
npm run typecheck  # tsc --noEmit
src/index.ts         Host half: wallpaper file routes, upload endpoint, web proxy
src/client/index.tsx Client half: token overrides, background layer, glass params, panels
src/shared.ts        Shared settings types and constants (no runtime deps)
build.mjs            SWC build pipeline → loader-format bundles
test/client.smoke.mjs  Smoke test: DOM + CSS + registration assertions

Notes for anyone reading the source

  • Frost is never a backdrop-filter on #root. A non-none backdrop-filter makes an element the containing block for every position: fixed descendant, which would re-anchor menus, popups and toasts. Frost therefore rides a dedicated background layer, or a ::before pseudo.
  • The stylesheet is one template literal. Every rule lives inside const SHEET = ... in src/client/index.tsx, so a stray backtick inside a CSS comment would end the template early. build.mjs guards against it.
  • Selectors are anchored on the harness's own stable attributes — data-slot, role, data-conversation-scroll and friends. The CSS-module class names are build-time hashes and are only ever matched by their logical suffix ([class*="_bubble"]), never by a full name.
  • Every rule that touches harness chrome carries both anchors where the harness changed its markup between 0.1.x and 0.2.x (for example the session header and the message bubbles), so one bundle serves both runtimes.

Why localStorage

The harness settings gateway exposes only hard-coded product namespaces to browser clients, so a third-party namespace stays loading forever even when the host half registered it. The shipped appearance and skin plugins hit the same wall and also use localStorage. The trade-off is that settings do not follow you between browsers.


License

MIT

Wallpaper brightness
0.2 – 1.6
glass.codeBlockOpacityCode-block background opacity, independent of the tint0.2 – 1
glass.toolTextColorTool-call text colour (empty = default)hex