Qiongkura/dsh-interface-settings
DSH interface customization plugin: wallpaper / transparency / glass blur / splash screen一个 DeepSeek Harness 前端插件:把「壁纸 / 区域透明 / 输入框与轨迹毛玻璃 / 模糊程度 / 启动画面」做成一站式界面设置,作为独立插件项目上传、分享,装进 DSH 即可使用
Project Overview项目介绍
This is an interface customization plugin for DeepSeek Harness. It offers one-stop settings for wallpaper, transparency, glass effects and splash screen without modifying DSH source code. Use it when you want to customize DSH's appearance. Configurations are stored in browser localStorage, and video wallpaper compatibility depends on Chromium decoding.
这是DeepSeek Harness的界面设置插件,一站式提供壁纸、透明度、毛玻璃效果、启动画面的外观设置,无需修改DSH源码即可使用。需要自定义DSH界面外观时可使用,注意配置保存在浏览器localStorage,视频壁纸兼容性依赖Chromium解码能力。
请帮我了解并安装插件:【dsh-interface-settings】【https://github.com/Qiongkura/dsh-interface-settings】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add github:Qiongkura/dsh-interface-settings
把 Qiongkura/dsh-interface-settings 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-interface-settings(DSH 界面设置插件)
中文 | English
一个 DeepSeek Harness 前端插件:把「壁纸 / 区域透明 / 输入框与轨迹毛玻璃 / 模糊程度 / 启动画面」做成一站式界面设置,作为独立插件项目上传、分享,装进 DSH 即可使用。
- 不修改 DSH 源码:所有外观都通过注入 CSS 变量与规则实现;
- 一个设置面板:壁纸模糊、玻璃模糊、面板透明度、区域透明开关、启动画面模式;
- 与桌面端同一套技术方案:本插件是桌面端(dsh-desktop)界面定制能力的浏览器端移植。
功能
| 功能 | 说明 |
|---|---|
| 壁纸 | 图片壁纸(body::before 伪元素层,负 z-index 不拦截输入) |
| 视频壁纸 | 桌面端独有:主进程经 dsh-wallpaper:// 协议流式播放(HEVC 自动转 H.264) |
| 视频声音 | 可选播放壁纸视频的声音 |
| 侧栏壁纸 | 与主界面共用 / 单独设置独立图片 |
| 壁纸模糊 | 独立滑块(0-64px) |
| 输入框液态玻璃 | composerSeat::before + backdrop-filter,独立模糊滑块(0-64px) |
| 轨迹毛玻璃 | 与输入框共用滑块;按颜色饱和度智能透明(保留时间线色条/状态标签) |
| 面板透明度 | 滑块(0-90%) |
| 代码块透明度 | 滑块(8-100%),含代码块标题栏与行内代码 |
| 区域透明开关 | 新对话 / 输入框 / 左边栏 / 主界面 |
| 启动画面 | 默认 / 跟随主题 / 自定义(图片或视频);最小展示时长、淡出、点击跳过 |
桌面端桥接(dsh-desktop 0.2.0)
在 dsh-desktop 壳内运行时,插件自动启用桌面端桥
(window.dshInterfaceSettings,由桌面 preload 注入):
- 设置面板与主进程共用同一份 Electron 配置,由主进程应用(含视频壁纸/视频声音等桌面独有能力);
- 文件选择走原生对话框(支持视频;HEVC 自动转码);
- 启动素材为视频时,动画时长滑块上限自动 = 视频完整时长;
- 纯 web 环境自动回退为插件自管(localStorage + DOM 注入),功能不变。
开发过程
插件结构
src/
├── index.ts node 侧插件入口(空 apply,注册到 Loader)
└── client/
├── index.ts 浏览器端 apply:读配置 → 注入壁纸/玻璃/启动层 → 注册设置面板
├── settings.ts 配置类型 + localStorage 持久化
├── wallpaper.ts 壁纸层注入(body::before + 变量)
├── glass.ts 液态玻璃 CSS + 区域透明变量 + 轨迹饱和度透明
├── splash.ts 启动画面层(视频/图片,时长/淡出/点击跳过)
├── SettingsPanel.tsx 设置面板组件
├── SettingsPanel.module.css
└── locales.ts 中英文案
📦 环境依赖
Node.js >= 20
pnpm >= 9
DSH 仓库 checkout(deepseek-ai/deepseek-harness)
安装与使用
用户安装(无需 npm/pnpm,已验证)
像用量统计插件一样,把插件拷贝到 DSH 的 profile 目录即可(不需要 npm):
# 1) 把整个插件目录(含 lib/client.js、lib/index.js、package.json)拷贝到:
# ~/.dsh/profiles/node_modules/dsh-interface-settings/
# 2) 在 ~/.dsh/profiles/web/cordis.patch.yml 追加:
# - insert:
# - id: dsh-interface-settings
# name: 'dsh-interface-settings'
# 3) 重启 dsh web(或重启桌面端应用;改 patch 也会热重载)
也可直接下载 Release 包 (
dsh-interface-settings-0.2.0.tgz),解压后按上面 1) 拷贝package/目录内容即可,同样无需 npm。
⚠️ 注意:不要手动替换 DSH 管理的 workspace 链接(junction/symlink), 否则后端装配会卡住。如果插件包在 DSH 仓库里(workspace 包),用上面的 patch 方式启用即可;独立拷贝的包直接放进 node_modules 也行。
重启后打开「设置 → 界面设置」即可调整外观。此路径已实测: 插件进入 manifest 且 bundle 正常服务(HTTP 200)。
开发者(在 DSH 仓库内构建)
本插件是 DSH monorepo 的 workspace 插件(peer 依赖为 workspace 包):
# 1) 把本项目放入 packages/client/interface-settings(或作为 workspace 包引入)
# 2) 构建浏览器端 bundle
pnpm --filter dsh-interface-settings bundle
# 3) 在 host 的 cordis.yml / 插件清单中启用该插件
启用后:
- 打开「设置 → 界面设置」面板调整壁纸 / 壁纸模糊 / 玻璃模糊 / 面板透明度 / 区域透明 / 启动画面;
- 所有改动即时预览,保存后持久化(localStorage)。
📝 使用示例
// 浏览器端 apply:读配置 → 注入外观
const settings: InterfaceSettings = loadSettings() // 读 localStorage
applyWallpaperLayer(settings) // 壁纸层
applyGlassAndTransparency(settings) // 玻璃 + 透明
if (settings.splashMode !== 'default') applySplashLayer(settings) // 启动画面
// 设置面板改动即时预览并保存
saveSettings(next)
⚙️ 配置说明
配置保存在浏览器 localStorage(键 dsh.interface-settings.v1):
| 配置项 | 说明 | 默认 |
|---|---|---|
wallpaper |
壁纸图片(纯 web:data URL;桌面端:路径) | null |
videoWallpaper |
视频壁纸路径(桌面端独有) | null |
videoSound |
视频壁纸声音 | false |
wallpaperBlur |
壁纸模糊 px | 18 |
sidebarWallpaper |
侧栏独立壁纸(null = 共用主图) | null |
codeAlpha |
代码块透明度 | 0.45 |
transparent.* |
新对话/输入框/侧栏/主界面 透明开关 | true |
glassBlur |
输入框/轨迹玻璃模糊 px(0-64) | 10 |
panelAlpha |
面板透明度 | 0.55 |
splashMode |
启动画面 default/follow/custom | default |
splashFile |
自定义启动素材 | null |
splashDuration |
动画时长(秒) | 0 |
splashFade |
淡出时长(秒) | 0.5 |
🧪 测试
# 在 DSH 仓库内运行插件测试
pnpm --filter dsh-interface-settings test
🤝 贡献指南
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建你的功能分支 (
git checkout -b feature/xxx) - 提交你的修改 (
git commit -m 'feat: 新增xxx功能') - 推送到分支 (
git push origin feature/xxx) - 打开 Pull Request
📄 许可证
本项目采用 MIT 许可证。
📮 联系方式
- GitHub:https://github.com/Qiongkura
- 微信:Qiongkura
已知限制
- 配置保存在浏览器 localStorage(无主进程配置通道);
- 启动画面在插件加载后才出现(浏览器端无 preload 时机),首次渲染前仍是 原生加载界面;
- 壁纸视频的编码兼容性依赖 Chromium 解码能力(HEVC 建议先转 H.264);
- 轨迹饱和度透明每 1.5s 轮询一次,超大轨迹下有一定开销。
与相关项目的关系
- 桌面端完整版(含视频壁纸协议、托盘、自动转码、启动动画 preload 版): Qiongkura/dsh-desktop
- 底层平台:deepseek-ai/deepseek-harness
Small-tailqwq/dsh-deep-whale
d-dev0101/open-sea-skin
kingOfSoySauce/dsh-liang-skin
RevolutionLA/dsh-dream-skin
Fishquito7/dsh-skill-mcp-panel
SLin-code/dsh-custom-skin
XieRW/dsh-beauty-skins