Back to home@realMisakaMikoto

dsh-skin-studio

DeepSeek Harness 自定义皮肤工作室,支持全界面配色、组件图片/视频背景与皮肤包分享

Stars
1
Language
TypeScript
Created
Aug 17, 2026
Updated
Aug 17, 2026
GitHub repo

Introduction

dsh-skin-studio

为 DeepSeek Harness Web UI 创建、管理和分享可移植皮肤。

dsh-skin-studio 保留 DSH 原生的浅色、深色和跟随系统行为,并通过官方 --dsw-* Theme Token 叠加用户皮肤。每套皮肤可包含两套可编辑配色、主背景、组件媒体背景、界面/代码字体、受控的 DSH 内置视觉素材替换,以及中英文界面文案覆盖。

皮肤工作室编辑器

安装

dsh plugin --profile web add dsh-skin-studio
dsh web

打开 设置 → 通用 → 自定义皮肤

功能

  • 多皮肤库:新建、复制、编辑、启用、删除和恢复 DSH 默认。
  • 浅色/深色各有六个易懂的语义颜色。
  • “界面组件”按输入框、按钮、侧边栏、消息、代码、边框和状态色分组编辑。
  • “全部 DSH Token”覆盖运行时公开颜色和插件验证过的组件颜色白名单。
  • 用 OKLCH 生成另一模式,生成后仍可独立微调。
  • 整页实时预览,并明确区分“应用”和“取消”。
  • PNG、JPEG、WebP、MP4、WebM 背景,可分别调整浅深模式的背景透明度、界面遮盖强度和明暗遮罩;视频始终静音并自动循环。
  • 背景媒体使用居中覆盖裁切,并跟随右侧主对话区域自适应,不会铺到左侧会话列表下方。
  • 支持鼠标和键盘操作的组件点选器可选择侧边栏、输入框、按钮、消息气泡、菜单、面板或任何其他可见 DSH 组件类型;每类可使用独立图片或静音循环视频,并分别调整浅深模式的透明度和遮罩。
  • 独立“素材替换”页可替换空状态鲸鱼、Hero 背景插图、侧边栏品牌标志和工作区文件夹图标;替换图按比例放大到至少覆盖 DSH 原素材尺寸,一个方向对齐,另一个方向允许超过。
  • 独立“文案”页可分别设置中英文欢迎标题、版本标记、欢迎输入提示、工作区选择、新会话和设置标题。
  • 每个语义 slot 会显示当前 DSH 视图中的兼容状态;定位失败只保留官方原素材或原文案,不影响整套皮肤。
  • 组件视频仅在可见时播放,同时播放数量有上限;系统启用“减少动态效果”时会停在静态帧。遮罩过弱时必须确认可读性后才能应用。
  • 可选 WOFF2 界面字体与代码字体。
  • 高级模式只开放 DSH Theme Runtime 可接受、且插件明确列入白名单的颜色 Token。
  • 内置更明亮的 Bright Studio 默认皮肤,同时保留较有色彩倾向的示例皮肤。
  • IndexedDB 版本化存储、轻量启动快照和同源标签页同步。
  • .dshskin 皮肤包完整携带 manifest.json 与经过校验的本地资源。
  • 中英文界面。

视觉素材缩放

视觉 Slot 会保持素材原始长宽比,并选择能让最终图片至少覆盖 DSH 原素材宽高的较大缩放倍数:

scale = max(DSH 宽度 ÷ 素材宽度, DSH 高度 ÷ 素材高度)

例如 DSH 原素材为 1000 × 1000 时:

  • 200 × 300 的素材显示为 1000 × 1500
  • 600 × 500 的素材显示为 1200 × 1000

一个方向与 DSH 原素材对齐,另一个方向允许超过。标题鲸鱼、品牌标志和文件夹优先使用 DSH SVG 自带的固定宽高;响应式背景会在父容器、窗口或字体布局变化后重新计算,避免刷新时尺寸漂移。

皮肤包安全

导入采用严格拒绝策略:必须符合 v4 schema、使用安全资源路径、声明正确大小,并通过文件签名和 SHA-256 校验。组件目标只保存点选器生成的标签、角色和类名结构;Visual/Copy Slot 只保存插件公开的语义 ID。SVG、GIF、网络 URL、任意 selector、CSS、HTML、JavaScript 和路径穿越都会被拒绝。单包上限 128 MB,背景图片上限 15 MB,视频上限 100 MB,替换素材和字体各上限 5 MB;已有 v1、v2、v3 皮肤会自动迁移。

完整字段、迁移和 slot 目录见 dshskin v4 格式

应用前会报告低对比度问题;如果是有意设计,用户仍可确认后应用。

开发

pnpm install
pnpm check
pnpm pack

插件的 Host 半部为空实现,功能位于浏览器 Client bundle。运行时只使用 DSH 官方 Theme 与 Slot API,不需要自定义 Host 设置命名空间或服务器路由。

兼容性与边界

测试基线为 @deepseek-ai/dsh 0.1.0-rc.6,同时按 DSH 当前官方源码维护内部 compatibility layer。配置只保存在当前浏览器 origin。v4 不包含跨浏览器 Host 同步、在线市场、任意 CSS/JS、任意 DOM selector、布局修改或全局圆角修改。DSH 尚未为内部视觉元素和既有 locale 命名空间提供覆盖 API,因此这些能力使用插件内置语义 slot;DSH 更新后无法定位的 slot 会安全跳过。

许可证

MIT。请只导出你有权分享的背景媒体和字体文件。