dsh-client-ui-aqua-community-fix
Verified@zhubai0528/dsh-client-ui-aqua-community-fix · v2.0.3 · AGPL-3.0-only · Web UI
Aqua glass theme for DeepSeek Harness V0.2.1-rc.2 — adjustable blur, frost, fluid or wallpaper backdrop, unified corners, and motion
Install
dsh plugin add @zhubai0528/dsh-client-ui-aqua-community-fix Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
Aqua 玻璃主题(社区维护版)
English | 中文
上游说明:本包基于原作者 WYH66666666 的 DSH-Transparent-UI-Plugin(npm 上的
dsh-client-ui-aqua)v1.3.0 源码继续维护。原作者声明因学业繁忙无法及时适配 DSH 新 API,本版本在其基础上修复与适配,不保证与未来 DSH 版本兼容——升级 DSH 前请先备份 profile。
支持的 DSH 版本
| 项 | 内容 |
|---|---|
| DSH 桌面端 / 网页端 | V0.2.1-rc.3 |
| 宿主客户端包 | @deepseek-ai/dsh-client-* 0.2.1-rc.3 |
| 元数据声明 | package.json → engines.dsh: ">=0.2.1-rc.3 <0.3.0" |
V0.2.1-rc.3 是本版本构建与验证所依据的版本 —— 主题所依赖的挂载点取自该版本宿主(页头标记、输入区与统计栏接缝、插槽名)。这些都是宿主的内部客户端接口,因此升级 DSH 有可能在不改动本插件的情况下导致外观或挂载异常。使用其它 DSH 版本时请视为不受支持,并保留 profile 备份。
标签与社区收录
仓库已打上 dsh-plugin 标签,会出现在 dsh-plugin 社区主题页,与其它 DeepSeek Harness 插件并列。
dsh-plugin · dsh · deepseek-harness · deepseek-harness-plugin · theme · glassmorphism · aqua
来源与致谢
| 项 | 内容 |
|---|---|
| 原作者 | WYH66666666 — 仓库 |
| 上游 npm 包 | dsh-client-ui-aqua(最新 1.3.1) |
| 本包基线 | 上游 v1.3.0 源码 |
| 本包维护 | ZHUBAI0528 — 仓库 |
| 本包 npm 包名 | @zhubai0528/dsh-client-ui-aqua-community-fix |
| 本包版本 | 2.0.3 |
| DSH 支持版本 | V0.2.1-rc.3 |
| 许可 | AGPL-3.0(沿用上游 LICENSE,原版权与许可声明完整保留) |
Aqua 是一层高自由度的玻璃质感主题,套在 DeepSeek Harness 网页端与桌面端。顶栏、输入框与状态栏、轨迹视图等区域成为磨砂玻璃片,主内容区背后可以是流体板,也可以是自定义壁纸(图片或视频);侧边栏保持原生外观。关掉开关就回到原生界面,不改 DSH 任何一行源码。




与上游 v1.3.0 的差异
| 项 | 上游 v1.3.0 | 本包 v2.0.3 |
|---|---|---|
| 布局模式 | 云母 + 兼容 双模式,可切换 | 仅云母:兼容模式与其切换入口整体移除(含底层 token 与样式) |
| 边缘渐变模糊带 | 顶部/底部 5px 渐变模糊带(上游特性) | 已移除:读取时会被误看成一层额外渐变wash;可读性改由主列 veil 承担(13px 极窄边缘淡出保留) |
| 子菜单不透明度 | 无该档位 | 新增,默认 96%,与「会话区不透明度」同组 |
| 子菜单点击行为 | 悬停展开,随后点击会立刻收起 | 新增「点击保持展开」:悬停展开后点击保持、再点收起;按 ARIA 契约逐级生效,键盘 Enter 不受影响 |
| 弹层材质 | 填充 62% × 磨砂(默认约 8.7%),易与正文叠字 |
填充 96% + 玻璃模糊度 + 4px,面板不再透出后方文字 |
| 输入框与状态栏 | 两块玻璃,中间 6px 缝隙 | 合并为一块连续玻璃(单一圆角、细线分隔) |
| 浅色模式会话区 | 列的 background 被宿主/皮肤插件覆盖时 veil 失效 → 整片白、会话区不透明度滑杆无效 | 已修复:veil 用 !important 并同时匹配 [class*='centerCol'],不再依赖盖章时机 |
| 深浅模式切换 | 切到深色后背景不跟随,需手动重调参数 | 已修复:监听 body[data-ds-dark-theme],自动重算流体调色板、辉光色与亮度叠加方向 |
| 冷启动流体 | GPU 未就绪时流体永久不绘制(浅色下表现为整片白) | 已修复:退避重试(最多 8 次,约 12s) |
| 发布包内容 | files 未含 cordis.patch.yml,安装后插件不加载 |
已修复:tarball 含 cordis.patch.yml 与 lib/* |
| 依赖范围 | peer ^0.1.0-rc.5(与 0.2.x 宿主不符) |
>=0.2.1-rc.3 <0.3.0,与本主题所依据的宿主版本线绑定 |
| 许可声明 | 仓库 LICENSE 为 AGPL-3.0,package.json 却写 MIT |
已对齐:统一声明 AGPL-3.0,不再自相矛盾 |
特性(当前版本)
- 云母玻璃布局:顶栏、输入框、状态栏、轨迹视图为悬浮玻璃,模糊度与磨砂度可调
- 主题控制面板:颜色、壁纸、不透明度、模糊度等参数集中在一页,不必各处翻找
- 输入框取消 3D 效果:3D 立体效果已移除,避免影响字体显示
- 字体可换:正文、代码、说明文字各有独立的字体下拉,内置系统 / 开源 / 免费商用预设,也可导入本地
.ttf、.otf、.woff、.woff2(单个 ≤ 24 MB,存在浏览器 IndexedDB 里,重装不丢) - 字号与字重:三处字号(正文 / 代码 / 终端)、正文与标题字重、说明文字的字体 / 字重 / 浓度都能单独调;字重滑块标出全部离散档位
- 背景自由:流体板(色调、颜色深浅可调)或自定义壁纸,图片与视频都支持;壁纸可单独调节模糊度、磨砂度,视频另有亮度档
- 跟随桌面端深浅模式:自动适配桌面端浅色/深色切换,同步重算调色板、辉光与亮度方向
- 背景亮度:自动跟随深浅模式——深色 0–50 压暗、浅色 50–100 提亮,50 原样
- 会话区不透明度:0 让壁纸/流体原样透出,100 为不透明底板
- 子菜单不透明度:弹层(菜单、下拉、快速调用面板)的填充强度,独立于卡片
- 子菜单显示优化:弹层填充提升至 96% 并叠加模糊,多级菜单始终清晰浮于正文之上
- 子菜单交互 → 点击保持展开:悬停展开的子菜单在被点击时保持展开,再点一次收起
- 环境装饰:粒子鲸鱼(deepseek.com/harness 同款)、小鱼、网状交互,可分别开关
- 悬停效果 → 鼠标辉光:指针附近的高光跟随
- Harness 光泽铭牌:深色模式侧边栏铭牌换成官网同款药丸,浅色保持原版
- 边缘淡出:13px 极窄边缘淡出,内容滚到边缘自然融入
- 一键开关:关闭即完全还原原生界面,所有效果随插件卸载一并消失
安装
上游包
dsh-client-ui-aqua与本包@zhubai0528/dsh-client-ui-aqua-community-fix不要同时安装,否则 profile 里会出现两个ui-aqua条目。
方式一:桌面版 — 应用内插件页安装(推荐)
打开 DeepSeek Harness 0.2.1-rc.3,点击左侧栏的 插件。
点击 添加插件,在「包名或地址」中填入:
github:zhubai0528/dsh-client-ui-aqua-community-fix
无需 npm、无需命令行,插件会从该 GitHub 仓库取用最新发布版。装完刷新界面即可生效。
方式二:一键脚本(Windows)
脚本默认就从 npm 安装,等同于方式三,只是省去手敲命令,并先把历史遗留的 junction 清掉。
powershell -ExecutionPolicy Bypass -Command "Invoke-WebRequest 'https://github.com/ZHUBAI0528/dsh-client-ui-aqua-community-fix/raw/main/install.ps1' -OutFile install.ps1; .\install.ps1"
可选参数:
| 参数 | 说明 |
|---|---|
-Profile desktop |
目标 profile(默认 web) |
-Version v2.0.3 |
固定版本(默认取 npm 上的 latest,会先查 registry 再 pin,避免 pnpm 的 minimumReleaseAge 让你装到旧版) |
-DshHome <路径> |
DSH 主目录(默认 %USERPROFILE%\.dsh) |
-Link |
仅开发调试用,见下 |
流程:定位 dsh CLI → 删掉两个 profile 位置里遗留的 junction → dsh plugin --profile <名字> add <包[@版本]>。
-Link 只给开发调试用:下载源码、按 SHA256SUMS.txt 校验 lib/client.js、在该 profile 的 node_modules 建 junction 指向源码,并登记 cordis.patch.yml。
⚠️ 日常安装不要用
-Link。 junction 会让应用的文件操作直接作用到源码目录 —— 应用卸载或回滚这个「已安装的包」时,删的是源码里的文件(本仓库就因此丢过.git/HEAD、.git/config、.git/index)。而且它会阻止之后任何 npm 安装:[ERR_PNPM_EPERM] [importPackage ...] rename ... EPERM: operation not permittedpnpm 要把新解包的目录 rename 覆盖目标,而目标是跨卷重解析点,NTFS 不允许。改回 npm 只需不带
-Link再跑一次,脚本会自动删链接(只删链接,不碰源码)。手工删也行,但绝不能用递归删除(旧版工具会跟进目标目录把源码删掉):
cmd /c rmdir "%USERPROFILE%\.dsh\profiles\desktop\node_modules\@zhubai0528\dsh-client-ui-aqua-community-fix"
方式三:npm
dsh plugin --profile web add @zhubai0528/dsh-client-ui-aqua-community-fix
从 npm 安装最新版,自动注册为 profile 插件层(dsh.bundle 补丁),所有平台通用。刷新界面即可生效。
包的 npm 页面:https://www.npmjs.com/package/@zhubai0528/dsh-client-ui-aqua-community-fix
需要本机已装 Node.js 与 npm。若访问 npm 官方源较慢,可临时指定镜像安装;注意镜像的同步有延迟,刚发布的版本可能尚未同步。
方式四:手动(macOS / Linux)
git clone --depth 1 https://github.com/ZHUBAI0528/dsh-client-ui-aqua-community-fix.git
ln -s "$PWD/dsh-client-ui-aqua-community-fix" "$DSH_HOME/profiles/web/node_modules/@zhubai0528/dsh-client-ui-aqua-community-fix"
然后往 $DSH_HOME/profiles/web/cordis.patch.yml 追加:
- insert:
- id: ui-aqua
name: '@zhubai0528/dsh-client-ui-aqua-community-fix'
使用
刷新界面。Aqua 默认开启,总开关在左侧边栏的 玻璃主题 页面顶部(它是独立页面,不在「插件/设置」标签里)。
面板顶部是标签切换,一个标签一页:
| 标签 | 内容 |
|---|---|
玻璃材质 |
玻璃模糊度、磨砂度、会话详情模糊度、菜单页模糊度 |
背景 |
流体 / 壁纸、色调、颜色深浅、背景亮度、会话区不透明度、子菜单不透明度 |
字体字号 |
三类字体来源、三类字号、正文 / 标题字重、说明文字字重与浓度 |
字体颜色 |
正文颜色方案、会话区专属颜色方案、说明文字全局选色 |
区域 |
侧边栏 / 页头 / 会话区 / 输入区四区的字重与说明文字微调、行高、重置本区 |
装饰 |
粒子鲸鱼、小鱼、网状交互、鼠标辉光、子菜单点击保持展开 |
标签选择会被记住:切去别的侧边栏页再回来、甚至重启 DSH,都停在上次那一页(设置键 dsh.ui-aqua.panelTab);想回到默认就从「背景」重新点一次。
上游的「模式」分组(云母效果 / 兼容模式)在 2.0.0 已整体移除。
背景与视觉调节
背景有流体与壁纸两种来源,由设置面板顶部的分段控件切换,默认流体。所有数值项统一为「滑块 + 数字输入框」双联动:拖动即时生效,数字框可直接键入精确值,越界自动收敛到边界;设置持久化在本地,刷新后保留。
流体板(默认) 是实时流动的渐变,由两个旋钮控制:「色调」0–360° 定色相(默认 320°,偏紫红),「颜色深浅」0–100% 定浓度(默认 25%)。
图片壁纸与视频壁纸 用「选择图片」「选择视频」上传。任一按钮选定文件后,背景来源会自动切换到壁纸,不必再手动拨分段控件。图片接受浏览器可解码的常见格式(PNG、JPG、WebP 等);视频接受 MP4、WebM、Ogg、QuickTime。已有壁纸时面板出现「删除壁纸」,用于清空回纯流体。
两类壁纸的可调项不同:图片壁纸可调「壁纸模糊度」与「壁纸磨砂度」;视频壁纸可调「视频模糊度」与「视频亮度」——视频没有独立的磨砂层,改由亮度配合自动压暗来保证可读性。
参数一览
| 设置项 | 适用 | 范围 | 步进 | 默认 |
|---|---|---|---|---|
| 背景来源 | 全部 | 流体 / 壁纸 | — | 流体 |
| 色调 | 流体 | 0–360° | 1° | 320° |
| 颜色深浅 | 流体 | 0–100% | 1% | 25% |
| 壁纸模糊度 | 图片 | 0–40 px | 0.5 px | 0 |
| 壁纸磨砂度 | 图片 | 0–100% | 1% | 0 |
| 视频模糊度 | 视频 | 0–40 px | 0.5 px | 6 px |
| 视频亮度 | 视频 | 0–100% | 1% | 45% |
| 玻璃模糊度 | 全部 | 0–40 px | 0.5 px | 20 px |
| 会话详情模糊度 | 全部 | 0–40 px | 0.5 px | 14 px |
| 菜单页模糊度 | 全部 | 0–40 px | 0.5 px | 14 px |
| 磨砂度 | 全部 | 0–100% | 1% | 7% |
| 背景亮度 | 全部 | 深色 0–50 / 浅色 50–100 | 1% | 50 |
| 会话区不透明度 | 全部 | 0–100% | 1% | 25% |
| 子菜单不透明度 | 全部 | 0–100% | 1% | 96% |
「背景亮度」的取值范围随明暗模式自动切换:深色模式只开放 0–50(0 压至纯黑,50 原样),浅色模式只开放 50–100(50 原样,100 提亮至纯白);另一半区间不可达,所以两个模式下的选择互不影响。
「会话区不透明度」为 0 时壁纸/流体原样透出,100 时是完全不透明的底板。「子菜单不透明度」单独一档,因为弹层浮在正文与输入框文字之上,需要比卡片更实的底色。
使用须知
- 视频会被自动压暗 —— 为保证前景文字清晰,视频壁纸默认叠加压暗且不可关闭,但可用「视频亮度」「视频模糊度」在此基础上前调。
- 刷新后视频可能不自动播放 —— 浏览器对本地视频重放有授权限制;此时再点一次「选择视频」即可恢复,无需重新选文件。
- 壁纸要与明暗模式匹配 —— 浅色壁纸配浅色模式、深色壁纸配深色模式,否则文字对比度会下降;面板内已就此提示。
字体与排版
「字体字号」标签页管三件事:字体来源、字号、字重。「字体颜色」与「区域」是另外两个标签,前者定正文字色与说明文字选色,后者逐区域微调。
字体来源:正文、代码、说明文字各有独立的字体下拉,默认「跟随主题」。内置预设分三类:系统字体(微软雅黑、等线、中易黑体、宋体、楷体、Consolas、Cascadia Code)、开源(思源黑体 / 思源宋体、霞鹜文楷、更纱黑体 Mono、JetBrains Mono)、免费商用(MiSans、HarmonyOS Sans)。预设只是一串 font-family 候选,系统真装了才生效,否则逐级回落到后备字体。
导入自己的字体:点「导入字体」选本地文件,支持 .ttf、.otf、.woff、.woff2,单个上限 24 MB(超出会明确报错,不会静默失败)。.ttc 字体集合不接受——@font-face 无法寻址集合里的单个字重。文件存进浏览器的 IndexedDB,关掉 DSH 也不丢;导入后会实际加载一次验证,失败如实提示,不会先弹「导入成功」。导入成功即出现在三个下拉里,并自动选中为正文。
下拉中每项右侧的 × 可删除,删除前会确认;若该字体正被使用,删除会同时把相关设置退回「跟随主题」,不留指向已删字体的空引用。同名家族重复导入会复用已有记录,不会出现两个永远选不中的重复项。
字重滑块是分档的:300–800 之间只有 6 个档位(步进 100),滑块下方标出全部档位数字,不是连续滑动。
| 设置项 | 范围 | 步进 | 默认 |
|---|---|---|---|
| 正文字号 | 10–22 px | 1 px | 14 px |
| 代码字号 | 10–16 px | 1 px | 11 px |
| 终端字号 | 10–20 px | 1 px | 13 px |
| 正文粗细 | 300–800 | 100(6 档,带刻度) | 400 |
| 标题粗细 | 400–800 | 100(5 档,带刻度) | 600 |
| 说明文字粗细 | 300–800 | 100(6 档,带刻度) | 400 |
| 说明文字浓度 | 40–100% | 5% | 全局 80% / 区域 92% |
| 行高 | 1–2.5 | 0.05 | 1.5 |
说明文字浓度虽按 5% 步进,但一路平滑变淡、观感连续,所以不标刻度;只有字重那种「跳一档明显不同」的滑块才标。
设置分两层:字号由宿主主题服务管理(与「设置 → 外观」里的字号是同一份,两边改了互相同步),字体与字重由本插件保存。
从上游 1.x 升级
dsh.ui-aqua.mode不再被读取:此前选过「兼容模式」的用户会直接落到云母布局(键值保留,不会被清除)- 其余参数(模糊、磨砂、色调、深浅、亮度、会话区不透明度等)键名不变,会原样沿用
- 包名不同,升级前请先卸载旧包,避免同时登记两个
ui-aqua
本地开发
npm install
npm run bundle # 构建 lib/(tsdown → 内联 CSS → ESM→CJS 兼容层)
npm run watch # 监听构建
发布前用 powershell -ExecutionPolicy Bypass -File .\publish.ps1 -DryRun 检查 tarball 内容,去掉 -DryRun 即正式发布。
许可
AGPL-3.0,沿用上游许可。原作者的版权与许可声明完整保留。