前言¶
在 DeepSeek Harness(DSH)里用 Web 端长时间对话时,界面往往只有纯色底。若想在对话正文区铺一张壁纸又不牺牲可读性,常见做法是手动调亮度或叠一层半透明蒙版,深浅主题切换后还要重新试参数。社区插件 dsh-chat-wallpaper(维护者 wangjiaxi)面向 DSH Web:本机选图、只画在会话正文区,并按当前主题自动校正曝光与对比度,再按正文颜色反解不透明度,使估算对比度不低于 4.5:1。图片仅存 localStorage,不上传、不发网络请求。
下面介绍插件定位、能力与安装用法;安装命令与配置均以仓库 README 与 package.json 为准。
这是什么¶
dsh-chat-wallpaper 是 DSH Web 侧插件(npm 包名 dsh-chat-wallpaper,当前版本 0.1.0,MIT 许可)。它在侧边栏提供 设置 → 聊天背景 入口,给聊天对话区加背景图,并保证正文始终看得清。Host 半边(index.js)为空实现,功能在浏览器端的 client.js 完成;仓库提交物即为运行产物,不需要构建步骤。
核心功能¶
- 作用范围:背景只画在对话正文区,不覆盖消息气泡、输入框、侧边栏和标题栏;标题栏与输入框保持不透明,可读性优先。
- 主题适配:深浅主题自动适配;切换主题后立刻重算。颜色走主题令牌(如
--dsw-alias-bg-base、--dsw-alias-label-primary),不写死深浅色。 - 自动校正:默认开启「自动校正」。插件分三层收敛背景与文字的相对亮度:
brightness(曝光)、contrast(对比度)、opacity(不透明度,兜底满足 WCAG 估算对比度 ≥ 4.5:1),另有blur/saturate降低细节与饱和色块对字迹的干扰。 - 本机存储:图片与五个参数状态写在
localStorage['dsh-chat-wallpaper/v1']。 - 实现锚点:背景画在
[data-conversation-region="chat"]::before;设置页有「已检测到聊天区域」提示,可判断上游 DOM 是否仍匹配。
安装与启用¶
包声明了 dsh.bundle.patch,执行 dsh plugin add 时会自动写入 dsh.profile.bundles,一般无需手改 cordis.patch.yml。
在 Web UI 插件页安装时,dsh-web 进程的 PATH 里需要有 pnpm;若出现 spawn pnpm ENOENT,请在本机 shell 中用下列命令安装(自行保证 PATH):
# 从 GitHub(推荐先这样试)
dsh plugin --profile web add github:wangjiaxi/dsh-chat-wallpaper
# 从本地目录(开发时用,link 方式,改文件即时生效)
dsh plugin --profile web add /path/to/dsh-chat-wallpaper
# 从 npm(发布之后)
dsh plugin --profile web add dsh-chat-wallpaper@latest
装完后刷新一次页面,设置 → 聊天背景 会出现。
兼容性:peerDependencies 声明了 @deepseek-ai/dsh-client-ui-slots、@deepseek-ai/dsh-client-locale、@deepseek-ai/dsh-client-ui-conversation,当前对应 dsh 0.2.0-rc.2。DSH 装载 bundle 时会校验 peer 范围,不匹配会静默跳过整个 bundle(插件不出现)。DSH 升到 0.3 前需按 README 同步更新 peer 版本范围。
插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 MIT 许可证,确认符合你的环境策略。
典型用法¶
- 打开 设置 → 聊天背景。
- 点击 选择图片(支持 PNG / JPEG / WebP,12MB 以内;宽或高超过 1800px 会先缩小再存)。
- 默认开启「自动校正」,五个滑杆显示解算出的值。
- 若仍不满意,可关闭自动后手动调节;页面会实时显示「估算正文对比度 x.x:1」。
- 清除背景 可一键恢复默认。
开发时若以 link: 方式安装,改 client.js 保存即可,页面侧 HMR 会重新拉取;改 package.json 的 dsh.client 段通常需重启 dsh-web。
适用场景与注意¶
适合:希望在 DSH Web 对话正文区使用本机壁纸、且需要随主题自动保证正文可读性的用户。
注意:
- 依赖
data-conversation-region="chat";若上游改名,背景会静默失效,可通过设置页检测提示判断。 - 视觉与交互无浏览器自动化测试,仓库仅做清单、bundle 分发与插槽注册验证(
npm run validate)。 - DeepSeek Harness 生态强调「一切皆插件」;社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-chat-wallpaper 把壁纸限制在会话正文区,用主题令牌与多层参数(曝光、对比度、不透明度等)把估算对比度压在 4.5:1 以上,数据只留在本机。需要试用或贡献代码时,可访问 GitHub 仓库 与 SkillHub 目录页。