dsh-background-studio
Manifest validMulti-style background plugin for DeepSeek Harness: six palettes, custom image or solid color, adjustable opacity, dedicated Background settings page.
dsh-background-studio
DeepSeek Harness 的多风格背景插件:6 套可切换背景、一张自己的图片,或任意纯色,注册为设置里的独立「背景」页,跟随 DSH 的浅色 / 深色主题。

效果
- 6 套背景:曜石、极光、星云、蓝图、燕麦、樱雾
- 自定义背景图:选择或拖入本地图片,支持铺满 / 适应 / 平铺,可随时停用但保留图片
- 纯色背景:页面内自带颜色面板(饱和度/明度方块 + 色相条,支持拖动与方向键微调),另有 HEX 输入、8 个快捷色和系统取色器;开启后盖住风格背景与图片,关掉即恢复。选择任一风格或重新启用图片会自动退出纯色模式
- 每套配色都有深色与浅色两版,随 DSH 外观模式自动切换
- 光晕强度:轻 / 标准 / 浓
- 背景不透明度:0–100% 滑块,100% 时背景完全可见,调低会逐渐淡出,0% 回到 DSH 原生外观。设置页顶部的预览会同步变淡,拖动时立刻能看到效果
- 「面板透出」开启时,侧栏、主画布和 Windows 标题栏会透出背景:侧栏不再叠半透明主题色,也没有毛玻璃模糊,直接显示底图;关闭后回到实色面板
- 开启「面板透出」时,菜单、下拉、提示气泡等浮层改用不透明的主题面板色(浅色
#fff/ 深色#2c2c2e),不再叠加毛玻璃。DSH 原生浮层是半透明的(浅色约 58%、深色约 43%),背后一旦是图片,深色主题会把明亮的壁纸混进自己的面板,浮层变成浅色块,浅色文字在上面几乎看不见 - 原生
<select>下拉(如 Git 面板的分支筛选)会把color-scheme与选项文字色锁定到当前主题:浏览器用color-scheme决定弹层底色、用color决定文字颜色,两者一旦错配,深色主题会画出白色弹层配近白色文字(实测对比度 1.05:1,选项完全不可见)。锁定后深色 15.0:1、浅色 18.9:1 - 背景层由渐变光晕、网格、噪点、缓慢漂移组成,
prefers-reduced-motion下停止动画 - 不替换原生设置页,不修改 DSH 组件,只在
html上挂data-dsh-qbg*属性并覆盖少量主题 token

从 0.2.0 升级:旧版「背景透明度」的方向是反的(100% = 完全隐去),所以 85% 这类取值会让背景只剩百分之几、看起来像没生效。0.2.1 改成「背景不透明度」,旧配置文件里的
transparency会在读取时视为opacity: 100,即升级后先完全显示背景。0.3.1:透明表面变量从
body收窄到#root,弹层不再继承--dsw-alias-bg-base: transparent;同时给浮层材质一个不透明底色并关闭它的backdrop-filter。修复深色主题下菜单/下拉变成浅色块、文字看不清的问题。0.3.2:把原生
<select>/<option>的color-scheme与颜色一起锁定到当前主题。此前浏览器可能按浅色绘制下拉弹层白底,而选项文字仍是深色主题的近白色,打开后是一块空白白板(对比度 1.05:1)。0.4.0:「背景颜色」新增页面内颜色面板——饱和度/明度方块加色相条,点选或拖动即改色,不必再打开系统取色对话框或手输 HEX;支持方向键微调(Shift 加速),面板与 HEX 输入框、快捷色双向同步。
设置存在哪里
桌面版每次启动都会换一个本地端口,页面的 origin 随之改变,localStorage / IndexedDB 在那个 origin 下等于被清空。所以设置和图片都存在宿主侧:
~/.dsh/background-studio/
settings.json 主题、纯色、不透明度、面板透出、填充方式等
image.json 图片元数据(名称、尺寸、类型、版本号)
background.<ext> 图片本体
页面启动时先读本地镜像立即上色,再向 /dsh-background-studio/api/state 拉取权威值并覆盖。图片超过 2560px 或 1.2 MB 会先在浏览器里压缩成 WebP(失败回落 JPEG),再交给宿主写入磁盘;图片只留在本机,不发往任何网络服务。
安装
dsh plugin --profile desktop add github:SoulZhou/dsh-background-studio
这条命令会同时把包写进 profile 的 dependencies 和(因为声明了 dsh.bundle.patch)dsh.profile.bundles。
本地开发时也可以直接链接源码目录:
dsh plugin --profile desktop add "D:\Documents\deepseek-harness\default-workspace\dsh-background-studio"
安装后需要完全退出并重新打开 DeepSeek Harness:桌面 profile 由 Electron 管理,运行中的窗口不会热加载新的 bundle,宿主端的 API 路由也要随进程重启才注册。重启后打开 设置 → 背景。
从其他机器安装可以先用打包文件:
pnpm pack
dsh plugin --profile desktop add .\dsh-background-studio-0.4.0.tgz
卸载
dsh plugin --profile desktop remove dsh-background-studio
卸载后 ~/.dsh/background-studio/ 会保留,可手动删除。
实现
client.js 是手写的 DSH ModuleLoader bundle,无需构建,只依赖宿主已有的 React:
- 在
document.body首位插入#dsh-qbg-layer(纯色 → 自定义图 → 压暗罩 → 光晕 → 网格 → 噪点 → 暗角),并注入样式 - 把当前配色与纯色写到
document.documentElement的--qbg-*变量上;纯色开启时隐藏光晕、网格与压暗罩,只保留轻微暗角 - 不透明度直接写
--qbg-layer-opacity(opacity / 100),配合html上的--qbg-surface露出 DSH 原生底色;同时按比例降低饱和度 - 在
html[data-dsh-qbg="on"][data-dsh-qbg-glass="on"]下把--dsw-alias-bg-base与--dsw-specific-sidebar-fill置为透明,作用于#root而非body,并强制[class*="sidebarCol"]透明,让侧栏和主画布直接显示底图 - 同一条件下把
--dsw-menu-surface-fill/--dsw-specific-menu指向--dsw-alias-bg-layer-2,并把--dsw-menu-backdrop-filter置为none:菜单、下拉、气泡这类浮层挂在body下、与#root同级,会继承body上的变量,必须给它们不透明表面,否则壁纸会被采进浮层 - 深色主题下把原生
select的color-scheme锁为dark,并显式给option/optgroup设--dsw-alias-bg-layer-1底色与--dsw-alias-label-primary文字色:浏览器用前者决定弹层底色、用后者决定文字颜色,两者错配就会出现白底白字 - 颜色面板用
hexToHsv/hsvToHex在页面内做 HSV 换算:方块画linear-gradient(to top, #000, transparent)叠linear-gradient(to right, #fff, 色相),指针按下后挂pointermove持续取点,方向键按 2%/4° 步进(Shift 加速) - 用
ctx.slots.register({ name: 'settings.section', ... })注册「背景」页
index.js 是宿主端,通过 ctx.inject(['webServer']) 注册三条同源路由:
| 方法 | 路径 | 作用 |
|---|---|---|
GET | /dsh-background-studio/api/state | 读取设置与图片元数据 |
PUT | /dsh-background-studio/api/settings | 保存设置(白名单字段) |
GET/POST/DELETE | /dsh-background-studio/api/image | 读取 / 上传 / 删除图片 |
图片按文件头嗅探类型,只接受 JPEG / PNG / WebP / GIF,单张上限 24 MB。
apply() 返回的 disposer 会移除背景层、样式、文档属性和 --qbg-* 变量,宿主路由也会随插件上下文一起注销。
Comments
Loading…
Similar plugins
by goatbroai
DeepSeek Harness web background settings plugin with solid color, image, and opacity controls.
★ 10
↓ 8/wk
MIT
JavaScript
Aug 17, 2026
dsh plugin --profile web add web-backgroundby zuoyunlai
DSH 主题配色插件:4 套配色 × 明暗两模式,OKLCH 色域钳位 + 真实承载面对比度求解
★ 2
MIT
JavaScript
Oct 31, 2026
dsh plugin --profile web add dsh-theme-paletteby TQSY114514
Appearance customization plugin for DeepSeek Harness: theme color palette, background image, opacity/blur, glass effect
★ 26
↓ 1.1k/wk
MIT
TypeScript
Oct 31, 2026
dsh plugin --profile web add dsh-ui-appearanceby Tkingxiao
Deepseek Harness 自定义主题插件,支持自定义图片/视频壁纸,对话框,侧边栏等透明度模糊度调整,全局主题色的色轮调整插件
★ 54
↓ 2.5k/wk
MIT
TypeScript
Nov 2, 2026
dsh plugin --profile web add dsh-any-backgroundby Au1314
Theme studio for the DeepSeek Harness web GUI: eight switchable preset styles, accent and panel-translucency fine-tuning, host-side wallpapers painted on the first frame, and a one-click fix when the
★ 0
MIT
TypeScript
Sep 26, 2026
dsh plugin --profile web add dsh-style-hubby zoyluoblue
Wallpaper theming plugin for DeepSeek Harness (dsh): upload images in Settings and use one as the web UI background, with readability veil, blur, and fill controls
★ 0
MIT
TypeScript
Aug 18, 2026
dsh plugin --profile web add @zoytown/dsh-avatar


