前言¶
DeepSeek Harness(DSH)自带浅色、深色与跟随系统三种外观,主题 token 主要管颜色,没有内置壁纸,也没有开放自定义 CSS 的入口。若希望侧边栏、对话区与输入框背后是同一张图,并把界面表面做成半透明玻璃以便透出照片,需要靠插件扩展。下面介绍社区插件 dsh-wallpaper(维护者 fl0-0wer,分类:趣味换装),它在不改变强调色与文字配色的前提下,为整个 Web GUI 增加可配置的 photo wallpaper。
这是什么¶
dsh-wallpaper 是面向 DSH Web 界面的壁纸插件:在设置里选图后,照片作为固定背景铺满窗口,并通过调整若干背景 surface token 的透明度,让壁纸从侧边栏、会话与 composer 下方透出来。插件以 MIT 许可发布,当前 package 版本为 1.1.1(以 GitHub release 与 package.json 为准)。
核心功能¶
插件分为宿主端与客户端两半,职责在 README 中有明确划分。
宿主端(lib/index.js)在 DSH Web 服务器上注册路由:
GET /dsh-wallpaper/config.json:返回设置文件及图片修改时间;GET /dsh-wallpaper/image:返回壁纸文件(支持 jpg / jpeg / png / webp / avif / gif / svg);POST /dsh-wallpaper/config:合并补丁到设置(数值会 clamp 到合理范围);POST /dsh-wallpaper/upload:上传图片(magic-byte 校验,上限 40 MB)并写入配置。
客户端(lib/client.js)注入一个 <style>,把照片画在 <html> 固定背景上,并用中性色系的半透明值覆盖五个 surface token:--dsw-alias-bg-base、--dsw-alias-bg-layer-1 至 layer-3、--dsw-alias-bg-module-platform。遮罩与弹层相关 token(如 --dsw-alias-bg-overlay、--dsw-alias-bg-mask-*) intentionally 不改动,以保证对话框可读。客户端还注册 设置 → 背景壁纸 页面,从 GUI 驱动开关与滑块。
实现上全程包在 try/catch 中:客户端入口若抛错会导致整个 Web 启动失败,桌面端会禁用所有第三方插件,因此该插件设计上不能 throw。
明暗主题方面,插件内置两套中性 palette,随 body[data-ds-dark-theme] 切换,与 设置 → 通用 → 外观(浅色 / 深色 / 跟随系统)一致;强调色、语法高亮、边框与文字颜色不动。若同时启用玻璃类主题(如 Catppuccin),壁纸接管 surface,主题仍保留 accent 与文字配色。
安装与启用¶
前提:DSH 构建需支持 client plugin(桌面应用或 dsh web),并使用插件 profile(默认 desktop)。
推荐两种方式:
- 在 Plugins → Add plugin 中粘贴预构建 tarball 的 URL;
- 使用 CLI(profile 名按实际替换):
dsh plugin --profile desktop add https://github.com/fl0-0wer/dsh-wallpaper/releases/download/v1.1.1/dsh-wallpaper-1.1.1.tgz
包内已含预构建客户端 JavaScript、bundle patch 与默认壁纸,无需本地构建。
手动安装时,需把包复制到 profile 的 node_modules/dsh-wallpaper,并把设置与图片放到壁纸目录 $DSH_HOME/wallpaper(未设置 DSH_HOME 时为 ~/.dsh/wallpaper),并在 $PROFILE/cordis.patch.yml 追加 dsh-wallpaper 的 insert 块;仓库提供 tools/install-wallpaper.sh 可完成上述步骤并备份 patch 文件。按 README 说明,loader 热应用新条目,无需重启。
卸载:从 $PROFILE/cordis.patch.yml 删除 dsh-wallpaper 的 insert 块,并删除 $PROFILE/node_modules/dsh-wallpaper/;壁纸目录可保留,单独存在时不生效。
典型用法¶
图形界面¶
打开 设置 → 背景壁纸:用 选择图片… 选照片,开关壁纸,拖动滑块。每次变更立即保存,运行中的应用会在面板后方重绘,无需重启或整页刷新。
配置文件¶
也可在壁纸目录放置图片,并在 config.json 中指向文件名,例如:
{
"enabled": true,
"image": "my-photo.jpg",
"scrim": 0.45,
"blur": 0,
"saturation": 1,
"translucency": 0.5
}
切到其他窗口再回来时,插件会在窗口重新获得焦点时重读设置;图片 URL 用 mtime 做 cache bust,一般不必手动 reload。
| 键 | 默认值 | 含义 |
|---|---|---|
enabled |
true |
false 时移除壁纸层与样式,相当于临时关闭 |
image |
current.jpg |
壁纸目录内文件名;无扩展名时会依次尝试 jpg → jpeg → png → webp → avif |
scrim |
0.45 |
照片上的黑色蒙层,0–1;文字发虚时可调高 |
blur |
0 |
模糊半径(px),8–24 偏毛玻璃;大于 0 时照片移到 filtered 层 |
saturation |
1 |
约 0.6 偏灰,约 1.4 更饱和 |
translucency |
0.5 |
UI 表面对壁纸的透出程度;0 接近不透明,1 最强 |
适用场景与注意¶
适合已在 DSH 桌面或 dsh web 中长期使用、希望界面有个人照片背景、又需要保持对话框与 overlay 可读性的用户。不适合期望仅改 accent 或完全自定义 CSS 的场景——本插件只动 surface 与全屏背景。
DSH 生态强调「一切皆插件」;社区目录站点与 DeepSeek / 幻方无官方从属关系,安装前请自行查看源码与 MIT 许可证,并理解插件以当前 DSH 进程权限运行,上传与读写壁纸目录均在该权限范围内。
链接¶
- 社区目录:https://www.skillhub.cn/plugins/fl0-0wer/dsh-wallpaper
- 源码与文档:https://github.com/fl0-0wer/dsh-wallpaper
经过上面的步骤,即可在不大改主题配色的前提下,为 Harness 全 GUI 加上可开关、可调 scrim / blur / 饱和与透明度的照片壁纸。