把 DeepSeek Harness 的 Web UI 改造成 iOS 26 液态玻璃(Liquid Glass) 风格: 半透明玻璃面板、饱和模糊、高光描边,浅色/深色主题自适应;外加背景图更换、 侧边栏余额/token 统计卡片、原生下拉框玻璃化等。
所有定制集中在一个插件(custom-webui-inject)里,放在用户补丁层
(profiles/web/),harness 升级不会覆盖。
| 功能 | 说明 |
|---|---|
| 液态玻璃主题 | 新会话按钮、输入框、消息气泡、模型回复、设置界面、对话框、下拉菜单、轨迹页、会话列表等全界面统一玻璃质感 |
| 背景图 | 默认配好一张背景图;可在 设置 → 通用 → 背景图片 里直接上传更换(支持 jpg/png/webp,保存在插件目录) |
| 额度卡片 | 侧边栏显示 DeepSeek 余额、当前会话/今日/累计 token 用量(输入+输出拆分)与花费估算 |
| 下拉框玻璃化 | 原生下拉框替换为液态玻璃选项菜单(可滚动) |
| 开场动画 | 启动时小鲸鱼 + 背景淡化 |
| 文件 | 作用 |
|---|---|
custom-webui.mjs |
注入插件:全部样式 + 脚本 + 背景上传路由(所有定制都在这里) |
cordis.patch.yml |
用户补丁层,挂载插件 |
background.jpg |
默认背景图(可在设置里更换) |
stats-server.py |
统计服务(余额/token/花费),插件启动时自动拉起 |
INSTALL.md |
安装步骤 |
把本目录下的全部文件复制到 ~/.dsh/profiles/web/(覆盖/合并即可):
cp custom-webui.mjs background.jpg stats-server.py cordis.patch.yml ~/.dsh/profiles/web/
cordis.patch.yml若目标已有内容,请把其中的- insert:块追加到末尾(不要覆盖)。 插件默认从同目录寻找stats-server.py(STATS_SCRIPT_PATH), 路径写死在其他位置的旧部署可自行修改custom-webui.mjs顶部的常量。
然后重启服务:systemctl restart dsh-web.service(或 dsh web),
浏览器打开 WebUI 硬刷新(Ctrl+F5)即可。
详细步骤见 INSTALL.md。
- 在界面里换:打开 设置 → 通用 → 「背景图片」→ 选择图片 → 立即生效并保存到插件目录。
- 手动换:用同名图片覆盖
~/.dsh/profiles/web/background.jpg。
- 余额:读取本机
~/.dsh/.credentials.yaml里的DEEPSEEK_API_KEY, 调用 DeepSeek/user/balance查询(每台机器显示本机账号的余额,缓存 5 分钟)。 - token 用量:扫描
~/.dsh/sessions/的会话日志,按事件时间归属到当前会话/今日/累计。 - 花费:按 deepseek-v4-flash 现行价本地估算(非官方账单),价格常量在
stats-server.py顶部,变动时手动更新。
- 插件位于用户补丁层(
~/.dsh/profiles/web/),harness 升级不会覆盖,服务重启即生效。 - 液态玻璃选择器依赖当前构建的哈希类名(如
hHd-Xa_newSession、VOzbGW_panel)。 前端大版本升级重建后若个别样式失效,对照新版 DOM 更新custom-webui.mjs里GLASS_STYLE区的选择器即可(所有选择器都集中在这一区)。
个人使用 / 自定义分发,欢迎基于此修改出自己的风格。