dsh-chat-wallpaper:为 DSH Web 聊天区加背景图且保证正文可读

前言

在 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 许可证,确认符合你的环境策略。

典型用法

  1. 打开 设置 → 聊天背景。
  2. 点击 选择图片(支持 PNG / JPEG / WebP,12MB 以内;宽或高超过 1800px 会先缩小再存)。
  3. 默认开启「自动校正」,五个滑杆显示解算出的值。
  4. 若仍不满意,可关闭自动后手动调节;页面会实时显示「估算正文对比度 x.x:1」。
  5. 清除背景 可一键恢复默认。

开发时若以 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 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye