Skip to content

Releases

dsh-wx-skin v0.2.1 — DSH 0.1.7-rc.2 适配 / 官方桌面端支持

Choose a tag to compare

@wangxilhy23 wangxilhy23 released this 27 Sep 02:06

🔧 变更

  • DSH 0.1.7-rc.2 兼容补齐:0.1.7-rc 把两批表面从令牌/半透明混色改成了别的东西,皮肤跟着补上。
    • 所有下拉 / 右键菜单 / 列表框迁到了新的 MenuSurface 原语,材质层改用 --dsw-menu-surface-fill(菜单内吸顶分组标题仍读 --dsw-specific-menu,两个都绑定,菜单头尾才不会深浅不一)。
    • 「改动文件」的 diff 行从 8%/12% 的 color-mix 换成不透明字面量,现补上 --dsw-alias-file-diff-{added,deleted}-{bg,gutter} 四个令牌;-marker 是前景色,有意不动。
    • 表面令牌覆盖数 20 → 25,明暗两套同步覆盖。
  • 修正过时注释:darwin 近乎不透明的 --dsw-specific-menu 覆盖已从 shell 的 base.css 移到 ui-theme 的 design-platform.css(值不变,!important 照旧胜出)。

🖥️ 官方桌面端支持

官方桌面端(apps/desktop)就是同一个 Web 客户端套一层 Electron 壳,插件不需要独立构建;这次把两处载体差异处理掉了:

  • 目录选择器双载体择优:桌面端由渲染进程 preload 在页面脚本执行前装好 globalThis.__DSH_DIRECTORY_PICKER__,打开的是绑定应用窗口的 Electron 文件夹对话框(harness 自己的原生目录流程也优先用它)。插件现在优先走它,只有在没有它的 Web 部署里才回落 uiWorkspace.pickDirectory()——否则桌面端同一次点击会另开一个不受窗口约束的宿主侧 OS 选择器。
  • 宿主路由接受桌面端文档来源 dsh-app://app(与回环 authority 同列白名单)。Electron 转发时本就删掉 origin / sec-fetch-site,这一步让两种 Electron 行为下都成立;Origin 对脚本是禁止修改的请求头,网页无法借用桌面端来源,因此没有放宽「跨站浏览器」这道围栏。
  • 两端共用同一份 $DSH_HOME/dsh-wx-skin.settings.json,浏览器 GUI 里换的壁纸,桌面端打开是同一张。

桌面端安装(该 profile 由 Electron 独占,按官方约定不经 CLI):应用内 设置 → 插件 → 安装,粘贴本插件的绝对路径(安装向导里的「本地插件目录」形态),再用开发菜单的「重启应用与 Host」。详见 README 方式四。

✅ 质量

  • 192 个单元测试全绿(原 182),新增:host-routes 的 desktop carrier 用例(删除 origin/sec-fetch-site 的转发请求、带 dsh-app://app 来源、远程来源仍 403)与 skin-picker 的双载体用例(桌面优先且只开一个对话框、无 uiWorkspace 也可用、取消/失败语义、全局消失后回落)。
  • tsc 类型检查(宿主 + 客户端)与构建全部通过。

📦 安装

# npm(推荐)
pnpm dsh plugin --profile web add dsh-wx-skin@0.2.1

# 或本 Release 附件
pnpm dsh plugin --profile web add file:<下载目录>/dsh-wx-skin-0.2.1.tgz

安装后重启 dsh web(本次同时改了宿主半区),刷新页面,打开 设置 → 皮肤。

📋 兼容基准

DSH 0.1.7-rc.2(checkout tag dsh-v0.1.7-rc.2,commit 477b4f4205);上一基准 0.1.7-alpha.2(00102833df)。

dsh-wx-skin v0.2.0 — 设置页重做 / DSH 0.1.7 适配 / 壁纸适合度

Choose a tag to compare

@wangxilhy23 wangxilhy23 released this 23 Sep 04:51

⚠️ 破坏性变更:设置界面重做——移除「背景来源」下拉框与整套预设色板。旧设置会自动迁移(source: 'preset' 读作未设置),文件夹缓存与其它设置原样保留。

✨ 新增

  • 设置进官方面板:皮肤设置作为独立一页挂进 harness 设置面板(官方加法页位 settings.section),由面板自己负责位置、内边距与滚动——彻底解决此前浮层在侧栏底部被窗口边缘裁切的问题。
  • 以路径为中心的背景模型:设置页只有「文件夹」和「本地文件」两行。
    • 「文件夹」显示当前文件夹路径(可用 harness 宿主目录选择器,也可手填)。
    • 「本地文件」显示当前背景图片的完整路径(URL 背景显示 URL)。
    • 在「本地文件」行粘贴图片绝对路径 → 「应用」,即自动切到它所在文件夹,并从这张图继续切换。
    • 用系统文件对话框选图时,若已加载文件夹里有唯一同名图片,也会定位到它并从它继续(同名歧义时不做猜测,退回编码图并提示)。
  • 适合度:填充 / 适应 / 拉伸 / 平铺 / 居中(Windows 壁纸同款语义)。
  • 预览框放大:高度 min(36vh, 340px) 并改用 contain,完整显示整张图不再裁切。

🔧 变更

  • 顺序切换改为目录顺序:按文件名自然排序 ±1、两端回绕——选到第 10 张,「下一张」是第 11 张、「上一张」是第 9 张。随机模式仍保留「一轮内不重复」。
  • 侧栏入口迁移到官方 sidebar.footer.action 插槽:不再查询 shell 内部类名、不再注入 DOM、不再挂 MutationObserver;保留「上一张 / 下一张」快捷键,56px 图标轨下退化为两个图标。
  • 自动重扫、host 持久化(~/.dsh/dsh-wx-skin.settings.json)、明暗主题适配等行为不变。

🧩 DSH 兼容

  • 适配基准 DSH 0.1.7-alpha.2(commit 00102833df):浏览器侧路由改为文档相对(<base href="./">)、补齐 --dsw-specific-menu 覆盖、平台模块表与插槽契约逐项核对。
  • 不再依赖 sidebarCol / logoRow / newSession 等 shell 内部类名,全部改为官方插槽(settings.section + sidebar.footer.action)。

✅ 质量

  • 182 个单元测试(新增 route-resolution 路由守卫、global-skin-css 配色守卫、skin-path 路径词汇)、tsc 类型检查、构建全部通过。

📦 安装

# npm(推荐)
pnpm dsh plugin --profile web add dsh-wx-skin@0.2.0

# 或本 Release 附件
pnpm dsh plugin --profile web add file:<下载目录>/dsh-wx-skin-0.2.0.tgz

安装后重启 dsh web,刷新页面,打开 设置 → 皮肤。

v0.1.5 — 上一张回退 / 文件夹自动同步

Choose a tag to compare

@wangxilhy23 wangxilhy23 released this 17 Sep 04:34

dsh-wx-skin v0.1.5

新增:上一张

  • 侧栏与面板「文件夹路径」分组都新增「上一张」入口
  • 顺序模式:按文件名回退,首张回绕到末张
  • 随机模式:回到上一次显示过的那张(新增浏览历史,上限 64 条)
  • 无路可退时按钮与侧栏入口置灰,点击不切换、不弹框

修复:新加入文件夹的图片读不到

  • 新增文件夹自动同步:页面重新获得焦点 / 切回标签页、每 60 秒、打开面板、启动后各触发一次重扫
  • 合并式更新:按路径保留当前图片(文件被删则按原序号就近落位)、按路径过滤本轮记录与历史;新文件不被标记为已用,自然进入未切换队列
  • 重扫不会改变当前来源(用着预设时不会被切回文件夹),列表无变化时不写设置
  • 「重新加载」仍可手动立即重扫;同一文件夹的增删不再重置本轮

构建

  • 修复 tsdown 中 CSS Modules 类名映射顺序导致构建不可字节复现的问题(与官方 client 预设一致地排序),
    发布附件与 npm tarball 从此内容一致

安装

pnpm dsh plugin --profile web add dsh-wx-skin@0.1.5
# 或使用下方 tarball 附件
pnpm dsh plugin --profile web add file:<dsh-wx-skin-0.1.5.tgz 的绝对路径>

若从 0.1.3 及更早版本升级,需重启一次 dsh web(宿主路由是 0.1.4 引入的)。

测试

147 例 vitest 全绿,含宿主路由回环集成测试、面板调色板对比度守卫、生命周期契约、切换/回退算法与合并式重扫单测。

v0.1.4 — 文件夹轮播壁纸 / DSH 0.1.6 适配

Choose a tag to compare

@wangxilhy23 wangxilhy23 released this 17 Sep 03:35

dsh-wx-skin v0.1.4

适配基准:deepseek-harness dsh-v0.1.6-alpha.1

新增:文件夹轮播壁纸

  • 面板顶部「背景来源」下拉框在「图片」与「文件夹」之间切换,只显示该分组对应的控件
  • 文件夹分组:手填绝对路径,或调用宿主原生目录选择器;可选「包含子文件夹」
  • 宿主扫描文件夹(位图白名单、跳过隐藏项与符号链接;上限 2000 张 / 20000 项 / 递归深度 6)
  • 「下一张」按顺序(文件名自然序)或随机切换,一轮内不重复;整轮走完后重置,且不会立即回放当前这张
  • 侧栏常驻「下一张」入口,不打开面板也能换图;图片列表 / 当前序号 / 本轮已用记录持久化(只存路径,不占 localStorage 图片配额)

修复

  • 兼容 DSH 0.1.6-alpha.1:逐项核对闭包工厂产物、模块表种子词、combo 端点、webServer 路由、主题令牌、侧栏 DOM 锚点
  • 生命周期:通过 ctx.effect 归还副作用,client-hmr 重载/插件行停用后不再残留或重复侧栏入口
  • 「选择文件夹」按钮修复(目录选择器服务晚于本插件挂载才 provide,改为作用域可选依赖 + 懒解析桥)
  • 未加载文件夹时点「下一张」不切换、不弹面板/对话框(侧栏入口置灰并提示)
  • 面板配色跟随明暗主题(--wx-panel-* + color-scheme),修复暗色主题下「浅底浅字」
  • 面板显示当前图片名称:文件夹=文件名 / 本地图片=所选文件名 / URL=路径末段 / 预设=预设名,悬停显示完整路径或 URL

安装

# npm
pnpm dsh plugin --profile web add dsh-wx-skin@0.1.4
# 或使用下方 tarball 附件
pnpm dsh plugin --profile web add file:<dsh-wx-skin-0.1.4.tgz 的绝对路径>

升级后需重启一次 dsh web(本版新增了宿主路由)。

测试

127 例 vitest 全绿,含宿主路由真实回环集成测试(扫描/路径收敛 403/HEAD/缓存头/跨站拒绝)、面板调色板对比度守卫、生命周期契约与切换算法单测。

dsh-wx-skin v0.1.3

Choose a tag to compare

@wangxilhy23 wangxilhy23 released this 12 Sep 08:04

dsh-wx-skin v0.1.3

适配 DeepSeek Harness 0.1.5-rc.2(2026-09-10 官方最新版):

  • 侧栏「皮肤」入口挂载选择器同步新版 shell(data-pane 属性已下线,改用 sidebarCol / logoRow / newSession 锚点)
  • tsdown 构建契约对齐官方 platform.ts / tsdown.client.ts(补 dsh-client-ui-dockkit 模块行,迁移至 deps.neverBundle/alwaysBundle)
  • 其余机制在新版上均保持兼容,已实机验证:插件加载、/plugins combo 路由、宿主持久化(~/.dsh 跨端口恢复)、18 个 --dsw-* 半透明表面令牌、明暗主题适配

安装

dsh plugin --profile web add dsh-wx-skin@0.1.3

或下载下方 dsh-wx-skin-0.1.3.tgz 离线安装:

dsh plugin --profile web add file:<tgz 绝对路径>

dsh-wx-skin v0.1.1

Choose a tag to compare

@wangxilhy23 wangxilhy23 released this 15 Aug 04:33

dsh-wx-skin v0.1.1

  • 「透出」滑杆下限从 50% 放宽到 0%(表面可完全透出背景,可读性由「暗化」控制)
  • 构建产物同步更新(npm / GitHub 双渠道)

dsh-wx-skin v0.1.0

Choose a tag to compare

@wangxilhy23 wangxilhy23 released this 14 Aug 13:05

dsh-wx-skin v0.1.0

DeepSeek Harness (DSH) Web GUI 皮肤插件 —— 侧栏「皮肤」面板,自选本地图片 / URL 作为全屏磨砂背景。

功能

  • 侧栏「皮肤」入口 + 弹出设置面板
  • 选择本地图片(不限文件大小,≤4096px 保原分辨率)或图片 URL
  • 6 款预设(纯色 / 渐变)
  • 暗化 0–80%、模糊 0–24px、透出 50–100% 滑杆
  • 明暗主题自动适配,设置持久化(localStorage)
  • 纯浏览器端 client 插件,不修改 DSH 仓库

安装

# 方式一:使用本 Release 的 tarball(在 DSH 源码 checkout 目录)
pnpm dsh plugin --profile web add file:<本文件绝对路径>

# 方式二:从 npm 安装(发布后)
pnpm dsh plugin --profile web add dsh-wx-skin@0.1.0

重启 dsh web 后刷新 http://127.0.0.1:3080,侧栏出现「皮肤」入口。

附