dsh-ui-liteglass
A lightweight appearance skin for DeepSeek Harness: custom wallpaper, glass-like panel transparency, and an accent color; server-side settings shared across devices, native light/dark mode left untouched.
Install
dsh plugin --profile web add dsh-ui-liteglass
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
dsh-ui-liteglass
LiteGlass — [English](README.md) | 简体中文
一个轻量级的 DeepSeek Harness 外观皮肤插件。
Wallpaper. Glass. Accent. 仅此而已。
截图
运行中的真实截图——浅色 / 深色主界面与 LiteGlass 设置区块——放在
[docs/screenshots/](docs/screenshots/),并通过
[screenshots.json](screenshots.json) 接入市场展示。
功能
1. 自定义壁纸
- 支持远程图片 URL,或本地上传图片
- 背景不透明度与背景模糊均以下拉菜单选择:不透明度 10% 一档,模糊 5px 一档、上限 30px
2. 玻璃质感面板
- 面板透明度以下拉菜单选择,营造轻量的玻璃质感
- 可为浮层(蒙层)背后的内容附加模糊:打开设置时,面板后面的页面会失焦
3. 重点色 (Accent)
- 九个预设、「原生」重置,或手动输入任意色号(不提供取色器)
- 自定义 DSH 界面中受支持状态的重点色
- 自动适配 DSH 原生浅色 / 深色外观
差异化
- 服务端持久化、多设备一致:设置与上传壁纸保存在 DSH 主机端(而非浏览器),
任何能访问主机的设备都看到同一套外观。
- 不接管原生颜色模式:Light / Dark / System 完全由 DSH 原生设置管理,
插件只在其之上增强外观。
- 不建立第二套主题系统:基于官方
theme.overrideTokens缝与 DSH token 体系,
无自带 CSS 框架、无竞争主题模型。
- 小巧、专注、可预期:壁纸 + 玻璃 + 重点色,仅此而已。
身份标识 (Identity)
字段 · 值
package · dsh-ui-liteglass
display name · LiteGlass
plugin id(client module / 设置行座位 / theme source) · dsh-ui-liteglass
rowId / wiring.id(loader entry / skin-market) · ui-liteglass
rowId 与 cordis.patch.yml 中的 loader entry id 一致,皮肤市场用它做互斥接线。
权威记录见 docs/IDENTITY.md。
兼容性
- Supported(声明支持):DeepSeek Harness
0.2.1-rc线。插件只使用稳定的官方缝
(webServer.register、ctx.effect、connection 鉴权服务、settings.describe()、
theme.overrideTokens、dsh.client inject、settings.general.item 插槽)。
- Tested with(已验证):DeepSeek Harness
0.2.1-rc.2(client theme 与 settings
shell 同属该构建)。
- 不支持:
0.1.0-rc线。0.2.x线依赖connection服务与settings.describe(),
这两者在旧线中都不存在。
DeepSeek Harness 仍在快速迭代,未来版本可能改变插件接口;以上支持范围是声明,
而非向前兼容承诺。
安装
从 npm(发布后):
dsh plugin --profile web add dsh-ui-liteglass
或直接从 GitHub 仓库安装(现在即可用):
dsh plugin --profile web add git+https://github.com/mumuer1024/dsh-ui-liteglass.git dsh --profile web
如需固定到某个具体版本,可在 URL 后附加 tag:
dsh plugin --profile web add 'git+https://github.com/mumuer1024/dsh-ui-liteglass.git#v0.2.4'
dsh plugin add 会在首次使用时初始化 profile,并自动接入 bundle。之后启动 Web UI,
打开 设置 → 通用 (General),LiteGlass 区块就在原生 外观 (Appearance) 行下方。
配置
打开 设置 → 通用 (General)(插件向该页贡献一个区块,位于原生外观行下方):
- 背景:关闭 / URL / 本地上传。上传支持 PNG / JPEG / WebP / GIF,单张上限
8 MiB——面板里直接写明上限,超过的文件在浏览器端就被拦下,不会发出请求;失败会
在面板里说明原因(超限、格式不符、会话失效、网络错误)。
- 背景不透明度、背景模糊、面板不透明度、浮层模糊 都是下拉菜单:不透明度
10% 一档,模糊 5px 一档、上限 30px。一次选择一次保存,也没有拖动导致的逐像素写盘。
- 重点色:九个预设 + 「原生」重置 + 一个纯色号输入框(
#RGB/#RRGGBB/
#RRGGBBAA,不提供取色器)。DSH 自身没有重点色设置(ui-theme 只存颜色模式与字号),
所以这套调色板属于插件。彩色主按钮是另一个默认关闭的开关,开启后才额外染主按钮——
DSH 0.2.x 的主按钮是单色填充,默认接管会破坏这一设计。
浮层模糊(panelBlur)磨砂的是“蒙层背后的内容”:打开设置时,设置面板后面的页面会失焦。
实现上只覆写 DSH 自己的 --dsw-mask-blur 令牌——平台默认给的是 none,而所有为对话框压暗
页面的蒙层都消费这个令牌——因此不涉及任何 DOM 选择器、不改布局,设回 0 立刻恢复 none。
它刻意不做两件事:弹出菜单/工具面板本来就有自己的材质模糊(--dsw-menu-backdrop-filter,
40px + 150% 饱和),插件不去动它;侧栏列与输入区背后只有壁纸,对它们再加模糊只是重复
背景模糊已经做过的事——想要壁纸更柔,请用背景模糊。
配置保存在 DSH 主机端,因此通过不同设备访问时也会使用同一套外观配置。
插件所有路由都要求已登录的 DSH 会话,并拒绝跨站写请求;能访问主机的未认证访客既读
不到也改不了插件配置。
卸载
dsh plugin --profile web remove dsh-ui-liteglass
移除插件后外观会恢复原样。注意:上传的壁纸文件与插件配置位于
$DSH_HOME/ui-liteglass/,卸载命令不会删除它们——如需清理,请手动删除该目录。
已知限制
- 浮层模糊只作用于蒙层。 它磨砂的是对话框/设置页等蒙层背后的内容;弹出菜单与工具面板
沿用 DSH 自带的材质模糊,插件不覆盖;而侧栏列与输入区背后只有壁纸,不会有独立效果——
那些场景请用背景模糊。
- 颜色模式(Light / Dark / System)始终由 DSH 原生设置控制——本插件不提供颜色模式切换。
- 设置区块注册进
settings.general.item插槽;若某个组合没有通用设置页,就没有承载位,
该区块不会出现。
开发 / 测试
内置 Node 测试覆盖 host 路由、客户端状态模型,以及“不控制颜色模式”的保证:
npm test # host-smoke 路由:鉴权、归一化、上传限制、回收、dispose # client-contract 设置区块、下拉控件、重点色预设与色号输入、上传反馈、 # 浮层模糊令牌、卸载还原 # lifecycle 配置存储 # no-appearance 绝不触碰原生颜色模式
npm publish 会经 prepublishOnly 先跑同一套测试。设计细节见 docs/ARCHITECTURE.md。
许可证
[MIT](LICENSE)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::3,最后更新 2026-11-03