vonPaulison/deepseek-harness-custom-background ↗★ 1
dsh-ui-customizer
DeepSeek Harness Web 界面自定义背景插件:主界面/边栏/顶栏三区域独立背景、拖拽定位、不透明度 0-100、主题色、圆角、缩放,附健壮定位与内置诊断
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗DeepSeek Harness 自定义背景插件(dsh-ui-customizer)
一个用于 DeepSeek Harness (DSH) Web 界面的外观自定义插件。它让你可以给主界面、边栏、顶栏三个区域分别上传背景图片,并自由拖拽定位、调节不透明度,还支持主题色、圆角和界面缩放。
✨ 功能特性
- 三区域独立背景:主界面、边栏、顶栏各自上传图片(自动压缩到 1920px、转 WebP),支持 填充 / 完整显示 / 平铺 三种显示方式
- 自由拖拽定位:在预览图上按住拖拽即可平移图片,展示你想展示的部分;也提供水平/垂直位置滑杆(0–100%)精确控制
- 不透明度语义:0% 完全不可见(显示背景色)、100% 全部可见、值越大越清晰
- 模糊 / 暗化:每个区域可单独加高斯模糊与暗化遮罩(提升可读性)
- 主题色:5 个预设 + 自选颜色,作用于品牌色 token,明暗模式同步生效
- 圆角 / 缩放:全局圆角(0 = 跟随默认)、界面整体缩放
- 无需任何「表面透明度」设置:背景直接绘制在界面表面层上,上传即见
- 健壮定位 + 半透明兜底:运行时定位真正盖住背景的布局元素;定位失败时自动降级为 token 半透明 + body 分层背景,任何结构下都可见
- 内置诊断:一键输出插件版本、各元素定位结果、已绘制元素数、持久化状态等,方便排障
- 配置 JSON 保存在浏览器
localStorage,图片本体存入 IndexedDB(不再受 5MB 配额限制);刷新不丢、多标签页自动同步、可一键重置;IDB 不可用时自动回退内嵌存储
🔧 工作原理
接入方式(标准 DSH 客户端插件)
一个 DSH 客户端插件是一个 npm 包,通过三个约定接入:
| 约定 | 本包实现 |
|---|---|
package.json 声明 "dsh": { "client": { "platform": "web", "inject": [...] } } | 声明浏览器插件及其依赖 |
exports["./client"] 指向成品 bundle | lib/client.js(手写、零构建) |
bundle 通过 window.__ModuleLoader__.load({ id, factory }) 注册,工厂返回 { apply, inject } | 标准 Cordis 插件 |
宿主侧的 dsh-client-modules 扫描已启用插件行,把 bundle 发布到 /plugins//client.js 并注入 window.__DSH_BOOT__;Web 外壳内核据此挂载插件。
背景绘制
界面真正「盖住背景」的层是几个布局元素,它们的 background 都是 var(--dsw-alias-bg-*):
- 主界面:布局 frame(
.pI_x6G_frame)+ 会话根(.wSkVaW_root) - 边栏:边栏列(
.pI_x6G_sidebarCol)+ 侧栏壳(.hHd-Xa_root) - 顶栏:会话区 `` 元素
本插件在运行时用 [class*="sidebarCol"] 等选择器定位这些元素,把背景复合值直接设为它们的内联 background,从而绕过「表面透明度」依赖、获得 100% 清晰度。