dsh-skin-keymark:DSH 全窗壁纸皮肤与纯字体颜色标注

前言

DeepSeek Harness(DSH)桌面端默认是纯色或主题 token 铺底,侧栏和面板往往不透明,换背景通常只动主画布。若你希望壁纸从侧栏到各面板一起透出,又不想让 Markdown 标注再叠一层方框底色,需要在客户端注入一层专门的皮肤逻辑。社区插件 dsh-skin-keymark(维护者 Wizoiz,MIT 许可证,当前版本 0.1.10)就是面向 DSH Desktop 的「趣味换装」类皮肤:静态图、视频、生成式渐变作壁纸,配合全窗铺开与六类纯 color 标注,且不改动边框与阴影。

这是什么

dsh-skin-keymark 在浏览器半注入 DSH 客户端(依赖 @deepseek-ai/dsh-client-ui-slots 与 @deepseek-ai/dsh-client-ui-theme,immediately: true),为宿主提供四类能力:壁纸层、自动文字可读性、标注字体颜色、界面主题与预设。Host 半提供状态与本地视频媒体库的回环 HTTP API;没有 host tool。

与只改聊天区背景的做法相比,它把透明层和 --dsw-alias-* 主题 token 写进 <body> 内联,让侧栏、菜单、面板在可控不透明度下透出同一壁纸,气泡与输入卡仍可保持不透明以保证可用性。

核心功能

下面按 README 职责划分,只列已在文档中写明的行为。

壁纸层

  • 来源:远程 URL、本地图片(可压缩为 data URL)、本地或远程视频(mp4 / m4v / webm / ogv / ogg / mov / mkv / avi / ts);面板选文件或拖拽导入,视频经宿主媒体库同源回放,单文件上限 512 MB。
  • 显示:铺满 / 完整 / 居中 / 拉伸 / 平铺 五种 fit;模糊、暗化、对比度、饱和度、面板不透明度、颗粒噪点六个滑条,数值框可键入,双击标签恢复默认。
  • 视频:播放倍速 0.25×–4×、水平镜像;遮挡暂停(最小化/切标签自动,失焦与用电池可选,默认开后两项)。
  • 切换:六档过场(硬切 / 淡化 / 推移 / 擦除 / 光圈 / 缩放)与速度、方向;自动轮播(每行一个地址,间隔 0.5–720 分钟,顺序或随机)。
  • 生成式渐变(v0.1.8 起):8 套预设,与 wallpaper.url 互斥;可选缓慢漂移与构图缩放/平移(100–250% 缩放,±50% 平移)。

全窗铺开与分部位透明

主画布与侧栏按「面板不透明度」等参数半透明;七组表面(气泡、输入卡、菜单与面板、代码块、侧栏行等,覆盖 26 个令牌)各有 0.2–1 的系数滑条。系统 prefers-reduced-transparency 生效时会停用全窗铺开层,面板回到不透明底板,壁纸仍可按不透明度显示。

可读性与选图自动调优

对壁纸做 12×8 网格采样,按 WCAG AA 评估「浅底深字 / 深底浅字」,必要时运行时叠底板(有上限,不整屏盖住壁纸)。选定壁纸时会自动写适配方式、暗壁纸下的表面配色、以及 deriveMarkColours() 六类字色(目标对比度高于 AA 底线,且六类互异)。面板有「自动保证可读性」「字色随壁纸自动调优」等开关;手改字色或选预设后会清除自动推导许可(ui.marksAuto)。

标注颜色与界面主题

六类标注(正文、强调、链接/文件、行内代码、标题、列表标记)只写 color,不写 background/border。八套色相预设(原生 / 冷调 / 暖调 / 森野 / 樱霞 / 墨韵 / 霓虹 / 深海),支持 JSON 导入导出。界面主题三套:跟随原生、Codex、经典,各含浅/深两张 token 表。另有强调色、面板毛玻璃(与壁纸「画面模糊」分开存储)等控件。

入口与快捷键

侧栏底部调色盘按钮打开右侧抽屉。Alt+W 开关面板;Alt+[ / Alt+] 调节视频倍速;Alt+0 回到 1×。光标在输入框内时不抢键。

安装与启用

DSH 生态里插件通常通过 profile 依赖与 bundle 注入,而不是在插件目录里单独 npm install(README 明确:不得在插件根执行 npm install)。

社区目录 SkillHub 给出的安装话术是交给 Harness 执行(需让宿主先读取插件说明再操作):

请安装 DSH 插件 Wizoiz/dsh-skin-keymark。先读取..

README 中的手工接入步骤如下,适用于已将插件目录放到本地的 profile:

# 1. 在 profile 的 package.json 中:
#    - dependencies 增加 dsh-skin-keymark,link: 指向插件目录
#    - dsh.profile.bundles 包含该包
# 2. 在 profile 的 node_modules 下建立指向插件目录的 Junction(同名 dsh-skin-keymark)
# 3. 重启 profile 或热重载 patch;校验 node_modules/dsh-skin-keymark 为 Junction 且插件 active
# 插件自带 cordis.patch.yml,由 bundle 机制自动应用,无需改 profile 的 patch 文件

安装前请自行阅读 GitHub 仓库 源码与 MIT 许可证。插件以当前 DSH 进程权限运行,并暴露 loopback 上的状态与媒体 API(带同源/受信 host 栅栏,不是用户认证)。

典型用法

  1. 安装并重启 profile 后,点击侧栏底部调色盘,在「壁纸」分区填入图片或视频 URL 并应用,或拖拽本地文件;视频会写入 $DSH_HOME/dsh-skin-keymark-media/ 并通过同源 URL 播放。
  2. 调整 fit 与模糊/暗化等滑条,按需开启自动轮播(文本域每行一个地址)。
  3. 在「界面透明 / 文字配色」中查看可读性读数,按需关闭自动守卫或保留「字色随壁纸自动调优」。
  4. 在「标注颜色 / 预设 / 界面主题」中手调或使用预设;需要备份时用导入导出 JSON。
  5. 状态三层持久化:localStorage 键 dsh-skin-keymark:state 与权威文件 $DSH_HOME/dsh-skin-keymark.json(Desktop 随机端口导致 origin 变化时,以宿主文件为准)。

Host 侧也可通过 API 读写状态(仅 loopback / 受信场景):

POST /dsh-skin-keymark/api
Content-Type: application/json

{"method":"get"}
POST /dsh-skin-keymark/api
Content-Type: application/json

{"method":"set","patch":{"state":"<string 或 null 的键值合并>"}}

适用场景与注意

适合:长期在 DSH Desktop 上工作、希望统一壁纸氛围(含动态视频或渐变)、又需要 Markdown 结构色清晰、且接受面板半透明的人。

注意:

  • 分类为社区「趣味换装」,SkillHub 为独立社区目录,与 DeepSeek / 幻方无官方从属关系。
  • 跨域壁纸可能导致可读性采样或过场抓帧失败,文档说明会退回硬切或保留当前设置。
  • 电池暂停依赖 Chromium Battery Status API,缺失时该档自动关闭。
  • 媒体与状态体积受 API 限制(例如媒体 512 MB,状态请求体 32 MiB);换壁纸后宿主会回收未引用的媒体文件。

结尾

dsh-skin-keymark 把壁纸、全窗透明、WCAG 导向的可读性守卫和纯字体标注收进一个客户端皮肤插件,适合在 DSH「一切皆插件」的思路下按需启用。

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

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

小夜