dsh-ui-polish
Manifest valid★ 1DSH UI Polish Layer: Frosted Glass Floating Layer Fix + Inference Strength Slider + Model Selection Navigation Enhancement (Browser-Side Injection Plugin)
dsh-ui-polish
DSH(DeepSeek Harness)桌面端的 UI 打磨插件:宿主界面哪里粗糙,这里补哪里。 浏览器侧纯注入,不改宿主结构、不碰会话数据,卸载即恢复原样。
![]()
它做什么
1. 浮层毛玻璃
宿主的菜单、选择器等浮层本该是毛玻璃,但材质层被父级的 isolation: isolate
截断了 backdrop,实际看起来是"半透明发虚"。本插件把材质画到浮层自己身上,
底色跟随宿主主题变量,浅色/深色自动适配。
2. 推理强度滑杆
把「模型选单 → 推理等级 → 4 个单选项」换成一条可拖动的滑杆:
- 拖动实时跟手,松手吸附到最近档位;
- 提交直接调用宿主的
select(),菜单全程不关、不闪; - 档位名从 DOM 读取,换模型、换界面语言都跟着变,不写死;
- 支持键盘(
←/→换档、Home/End到两端)与读屏。
3. 滑杆特效(fx)
- 流动粒子:填色里的小点从左向右飘,途中逐渐淡出;粒子被裁剪在填色盒子内, 因此右端永远贴着滑钮,不会飘到轨道外。
- Max 档渐变:只有档位名叫 Max(或「最大」)的那一档带紫色特效——滑到它时 填色由主题蓝渐变到紫,顶部档位名同步变色。顶档叫 xHigh 等的模型不变紫: 特效认名字不认位置。
- 一次性绽放:只有在拖进 Max 档的那一瞬间,滑钮周围才散开一圈紫白粒子。 已经在 Max 档时重复拖动不会再放,打开菜单也不会开场就爆。
- 光标:平时是普通箭头,只有按住并移动时才变成抓握拳头(单按不动仍是箭头)。
- 常驻小箭头:换档提交时宿主会把触发器的箭头临时换成转圈图标,闪一下。
本插件把这两个可替换图标都隐藏,箭头改由按钮的常驻伪元素绘制,开合朝向
跟随
aria-expanded,换档不再闪。
实心填色条与滑钮的落位都走 transform(合成层属性,同一条曲线,永不脱节),
粒子层只沿水平方向流动;系统开启「减弱动效」或高对比模式时自动降级。
4. 更顺的模型选择流程
- 点输入框上的模型控件,一次点击直达档位页(滑杆);
- 点顶部模型行,直达模型列表;
- 在列表里选了带推理档位的模型,自然过渡回滑杆页;没有档位的模型直接完成选择;
- Esc 一次关闭整个菜单,不会退回中间层;
- 触发器上的「模型 · 档位」名称实时更新。
安装
# dsh CLI 在你本机 DSH 安装目录下的 bin\dsh.cmd,按实际路径改
$dsh = '<DSH_INSTALL_DIR>\resources\runtime\cli\bin\dsh.cmd'
& $dsh plugin --profile desktop add "file:."
装完刷新窗口(Ctrl+R)。改过源码后需要 remove 再 add(pnpm 对 file: 依赖是拷贝)。
卸载:
& $dsh plugin --profile desktop remove dsh-ui-polish
配置
cordis.patch.yml 的 config 段:
| key | 默认 | 说明 |
|---|---|---|
enabled | true | false = 整层停用 |
glass | true | 浮层毛玻璃开关 |
tintAlpha | 0.76 | 底色不透明度,越小越透 |
blurPx | 40 | 背景模糊半径 |
slider | true | 推理强度滑杆开关 |
fx | true | 滑杆特效:流动粒子 / Max 档紫色渐变 / 绽放 |
运行时开关(DevTools 控制台,立即生效不用刷新):
dshUiPolish.setTint(0.6) // 调浓淡
dshUiPolish.off() // 整层关闭,界面回到宿主原样
dshUiPolish.on() // 恢复
dshUiPolish.setSlider(false) // 只要毛玻璃、不要滑杆
dshUiPolish.setFx(false) // 只要滑杆、不要特效
开发与测试
npm install
npm test # 6 套 Playwright 回归:freeze / glass / nav / selftest / slider / fx
测试用系统 Chrome(可用 DSHP_CHROME 指定路径),无需下载浏览器。
test/live-verify.mjs 可在真机 DSH 实例里验证毛玻璃与滑杆,用法见脚本头注释。
开发过程中的排查记录、宿主 DOM 契约和踩坑笔记(白屏根因、滑杆几何、Esc 行为、
异步提交窗口等)整理在 docs/development-notes.md,
改 lib/client.js 之前建议先读它。
注意事项
- 只认宿主的契约属性(
data-*、role),不依赖哈希类名,宿主升级不易误伤; - 系统开启「减少透明」或浏览器不支持
backdrop-filter时自动加厚底色;forced-colors下交还系统配色; - 外来菜单(权限选单等非模型菜单)不会被插件接管。
Comments
Loading…
From the same category
by anywhere-labs
为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 30.4k
↓ 108/wk
MIT
TypeScript
Oct 10, 2026
dsh plugin --profile web add dsh-plugin-desktopby zhu1090093659
DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
★ 8.6k
↓ 125/wk
Apache-2.0
TypeScript
Oct 10, 2026
dsh plugin --profile web add dsh-webA collection of independent Web UI plugins and skins, including task boards, Git graphs, mobile access, and live token stats.
★ 7.6k
↓ 119/wk
Apache-2.0
TypeScript
dsh plugin --profile web add dsh-webby omdsh-dev
开放的侧边栏底座,支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 | Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git,
★ 4.1k
↓ 38.1k/wk
MIT
TypeScript
Oct 9, 2026
dsh plugin --profile web add dsh-better-sidebarby bowenliang123
The best DeepSeek Harness plugin for context insight and management, with context dashboard / browser / sidebar and context command, for context statistics, composition, breakdown, evolution details,
★ 2k
↓ 34.4k/wk
Apache-2.0
TypeScript
Oct 11, 2026
dsh plugin --profile web add dsh-contextby shaobeichen
把 DeepSeek Harness 装进你的口袋:电脑上跑 dsh web,手机扫码即同步访问(局域网 + 公网,实时同屏)Put DeepSeek Harness in your pocket: run dsh web on your computer and access it synchronously by scanning a QR code on your phone (LAN +
★ 1.6k
↓ 3.2k/wk
GPL-2.0
JavaScript
Sep 16, 2026
dsh plugin --profile web add dsh-pocket