在 DeepSeek Harness (DSH) 的 web profile 中,用户经常需要调整面板区域的透明度以适配壁纸或优化阅读体验。特别是使用 Wallpaper Engine (WE) 模式时,皮肤通常自带强制透明的规则,难以覆盖。dsh-panel-tint 插件通过提供独立的滑块控制,解决了侧边栏、正文框和输入框底色不透明度的问题,同时兼容普通皮肤与 WE 模式。
插件定位¶
这是由 abbccdd 维护的一个 DSH 插件。它的核心作用是给 DSH web 增加 侧边栏 / 正文框 / 输入框 三个区域的“底色不透明度”独立滑块。
插件默认值为 0,即完全保持皮肤原样。当滑块值大于 0 时,会通过内联 !important 样式覆盖皮肤或 WE 的中性化规则,实现对背景色的可控调节。
核心功能¶
-
三个独立滑块
分别控制侧边栏、正文框和输入框的底色不透明度(范围 0-100%)。- 侧边栏:保留皮肤自带的背景(含渐变层次),只缩放透明度。
- 正文框:控制每条“正文”(助手回答 / 用户消息)的文本框底色。注意:
thinking区域不参与此调节。 - 输入框:保留皮肤原色,0 为全透明透出壁纸。
-
智能读色与格式保留
插件在检测到皮肤元素时,会读取其原始背景色(支持渐变)和格式(圆角、边框、阴影等)。- 输入框 / 侧边栏:保留原色相,只调整透明度。
- 正文框:若皮肤自带文本框,则完整保留其格式与颜色,仅调整底色透明度;若皮肤未设置文本框,则使用插件自带的 Word 风格文本框样式。
-
自适应与持久化
- 当皮肤或主题切换时,插件会自动重读原色与格式。
- 设置会持久化存储在
settings.yaml的panel-tint命名空间下。
-
Wallpaper Engine 兼容
在 WE 模式下,插件能压过皮肤中心的background-color: transparent !important中和规则,为全透明面板补上可读底色。
安装与启用¶
安装后需要重启 DSH web 才能生效。
# 从 GitHub 安装
dsh plugin --profile web add github:abbccdd/dsh-panel-tint
安装完成后,进入 DSH web 的 设置 -> 面板底色,即可看到新增的调节选项。
典型用法¶
- 打开设置面板底色。
- 根据当前皮肤或壁纸风格,拖动对应的滑块。
- 拖动操作即时生效,无需刷新页面。
技术细节与注意事项¶
-
依赖项
插件依赖宿主端(host)的 peerDependencies:@deepseek-ai/dsh-settings和@deepseek-ai/schemastery。这些依赖在安装时由宿主 profile 自动解析,插件本身不直接包含。 -
正文框逻辑
正文框在滑块大于 0 时,通过纯色/缩放透明度的方式控制皮肤自带框的底色。这意味着如果皮肤原本的文本框样式比较复杂,插件会尽量保留其外框和内边距,只改变底色透明度。 -
已知边界
个别皮肤的复杂多图层背景(如多层渐变叠加),在经过插件处理后可能呈现为单层效果。这是由于插件在读取和重应用样式时的技术限制所致。
总结¶
dsh-panel-tint 为 DSH web 提供了一种轻量级的底色控制方案,无需修改皮肤源码即可快速调整面板的可读性。通过独立的滑块和智能读色功能,它能够较好地兼容不同风格的皮肤与 WE 壁纸。
插件仓库:https://github.com/abbccdd/dsh-panel-tint