dsh-chat-skin:给 DSH 聊天区换一层真正属于你的背景

前言

DeepSeek Harness(DSH)的聊天界面默认样式由客户端主题决定,长时间对着同一套背景工作时,不少人希望在不改 DSH 核心主题 token 的前提下,单独调整聊天区的氛围、可读性和一点个性化细节。社区插件 dsh-chat-skin(聊天外观工坊)面向 Web / Desktop 客户端,通过 bundle + client 双半结构注入样式与配置界面:背景、遮罩、毛玻璃、动画、字体和 emoji 图标均可实时预览,配置写在本机,重启后仍保留。

下面介绍插件定位、能力与安装方式,并给出文档中的可复现用法与使用注意。

这是什么

dsh-chat-skin 由维护者 huangyuanhu3-dev 发布,在 SkillHub 社区目录中归类为「趣味换装」。插件不依赖第三方运行时包,Host 半边仅使用 Node 内建模块;客户端通过 Cordis patch 挂载,自带 cordis.patch.yml,无需手写 Host/Client 行。

一句话:给 DSH 聊天区(可选整个应用界面)换背景并微调玻璃质感、字体与图标,所有改动本地持久化,不进入对话或模型上下文。

核心功能

背景

  • 8 套内置氛围:深海鲸歌、极光夜航、樱花微光、赛博霓虹、纸感留白、苔原森林、落日航线、极夜极简。
  • 支持自定义 CSS 渐变、纯色、图片 URL;可上传本地壁纸(PNG / JPEG / WebP / GIF / AVIF,最大 12 MiB),文件只保存在本机。
  • 铺法(铺满 / 完整 / 平铺)、位置、不透明度、亮度、饱和度、对比度、模糊、暗角均可调。

作用范围与全局玻璃

  • 作用范围可在「聊天区」与「整个应用」之间切换。
  • 「整个应用」模式下,侧边栏、设置面板、右侧栏共用可调玻璃材质:色调、侧栏透明度、设置面板透明度、模糊、描边、阴影;面板色调可跟随背景自动取色或单独指定。聊天区透明后,壁纸可铺到侧栏和设置页背后。

深浅、文字与气泡

  • 遮罩深浅 0–95%,遮罩颜色可调。
  • 文字明暗可随背景亮度自动切换,也可强制浅色字 / 深色字。
  • 聊天气泡与输入框支持毛玻璃,以及气泡不透明度、描边、阴影。

CSS 动画与高级样式

  • 内置缓慢漂移、呼吸缩放、横向移动、轻轻起伏、极光流动等效果;周期、幅度、缓动可调,并尊重系统「减少动态效果」。
  • 「高级 → 自定义 CSS」可写 @keyframes 与任意选择器,样式追加在插件规则之后,可覆盖内置规则。

字体与图标

  • 字体:系统 / 微软雅黑 / 宋体 / 楷体 / 圆体 / 等宽,或自定义 font-family;字号、行高、字间距、字重可设,代码字体可单独指定。
  • 图标:助手 / 用户 / 运行中三个 emoji;可选消息头像(窄屏自动隐藏);运行中图标可替换为任意 emoji。

入口

  • 设置 →「聊天外观」完整页面。
  • 右上角快捷面板:开关、4 套预设、遮罩、模糊、动画、字体。

安装与启用

README 未给出 dsh plugin add github:… 一类远程一键命令;安装方式为将包目录纳入当前 profile 的 bundle 列表。先做目录放置,再在 profile 中声明依赖并加入 bundles,最后重启或热加载。

  1. 把 dsh-chat-skin 目录放到 profile 可解析的位置,例如:
$DSH_HOME/profiles/<profile>/vendor/dsh-chat-skin
  1. 在该 profile 的 package.json 中加入依赖:
"dsh-chat-skin": "file:./vendor/dsh-chat-skin"
  1. 将 "dsh-chat-skin" 写入 dsh.profile.bundles。

  2. 重启 DSH,或通过插件管理器热加载 bundle。

package.json 中声明 Node >= 22.12.0;当前包版本为 1.0.0,许可证 MIT。

数据与 Host 路由

  • 配置:$DSH_HOME/dsh-chat-skin/config.json
  • 上传壁纸:$DSH_HOME/dsh-chat-skin/assets/
  • 浏览器即时缓存:localStorage["dsh-chat-skin:v1"]

Host 注册三条同源路由:GET/POST /dsh-chat-skin/api(读写配置)、POST /dsh-chat-skin/upload?name=…(上传壁纸)、GET /dsh-chat-skin/asset/<file>(读取壁纸)。写请求带同源检查;上传仅接受白名单图片类型。

典型用法

快捷预设与完整页

日常可在右上角 🎨 面板快速开关皮肤、套用 4 套预设并微调遮罩、模糊、动画与字体;需要细调背景铺法、全局玻璃或高级 CSS 时,进入设置 →「聊天外观」。

自定义 CSS 示例

在「高级 → 自定义 CSS」中粘贴 README 示例即可本地验证效果:

/* 让背景缓慢左右流动 */
[data-conversation-region="chat"]::before {
  animation: myFlow 22s ease-in-out infinite alternate !important;
}
@keyframes myFlow {
  from { transform: scale(1.08) translate3d(-2%, 0, 0); }
  to   { transform: scale(1.12) translate3d(2%, 0, 0); }
}

/* 给助手消息加一条左侧光线 */
[data-chat-flow-kind="assistant"] {
  border-left: 1px solid color-mix(in srgb, #22d3ee 38%, transparent);
  padding-left: 14px;
}

插件依赖稳定 DOM 钩子(如 data-conversation-region="chat"、data-chat-flow-kind),不绑定构建时哈希类名;气泡玻璃通过 [class*="_bubble"] 等子串探针做渐进增强,选择器不匹配时仅少一层玻璃,不会抛错。

适用场景与注意

适合谁: 长期在 DSH Web / Desktop 上对话、希望本地个性化聊天背景与可读性,且接受配置与壁纸不同步到其他设备的用户。

生态说明: DSH 奉行「一切皆插件」;SkillHub 目录页(https://www.skillhub.cn/plugins/huangyuanhu3-dev/dsh-chat-skin)是社区站点,与 DeepSeek / 幻方无官方从属关系。

权限与安全: 插件以当前 DSH 进程权限运行,安装前建议阅读仓库源码与 MIT 许可证,确认上传与静态文件路由行为符合你的环境策略。

已知限制(来自 README):

  • 玻璃效果依赖 DSH 现有的 _bubble / _composer 类名片段;大改版后背景、字体、图标仍可用,玻璃可能失效。
  • 「整个应用」实验模式会把背景铺到 #root,不透明面板仍可能遮住部分背景。
  • 未修改 DSH 主题 token,light / dark 仍由 DSH 自身切换;建议在两种主题下各检查一次对比度。

结尾

dsh-chat-skin 把聊天背景、遮罩、毛玻璃、动画、字体和 emoji 图标收进同一套本机配置,实时生效且重启保留,适合作为 DSH 客户端侧的「趣味换装」类插件使用。

  • 社区目录:https://www.skillhub.cn/plugins/huangyuanhu3-dev/dsh-chat-skin
  • 源码与完整说明:https://github.com/huangyuanhu3-dev/dsh-chat-skin
羽毛球分组比赛记分
小程序二维码

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

小夜