Skip to content

Releases: Ebony-Vinyl/EAC-skin-loader

v1.2.0 — Git 分发入口 + 皮肤自动补齐

Choose a tag to compare

@Ebony-Vinyl Ebony-Vinyl released this 04 Oct 17:54

v1.2.0 — Git 分发入口 + 皮肤自动补齐

安装

默认路径(Git 安装,零构建、零 prepare 脚本):

dsh plugin --profile web add github:DSH-EAC/EAC-skin-loader

安装后加载器自动启动,并按固定版本制品清单(packages/loader/skin-manifest.json,逐包 SHA256 + 字节数)在后台补齐缺失的 13 款公约皮肤——不会切换你当前使用的观感,也不会覆盖已有皮肤或启用状态。逐包状态、失败重试与总开关见控制台「设置 → 皮肤」底部的「皮肤自动补齐」分区。

离线回退:本页资产提供 dsh-eac-ui-skin-loader-1.2.0.tgz 与全部 13 款皮肤 tarball,可手动 dsh plugin add <tgz> 安装;校验和见 SHA256SUMS-v1.2.0.txt。

本版亮点

  • Git 分发入口:仓库根改为可安装组合包 @dsh-eac/skin-loader-pack——github: 默认安装不再落到没有 dsh.bundle 的开发清单;加载器构建产物 packages/loader/lib 随仓内嵌,CI 核对提交制品与重新构建逐字节一致(分发契约与宿主安装机制实测:docs/git-distribution.md)。
  • 皮肤自动补齐器(host 半):字节数 + SHA256 双校验、临时文件原子落盘、经宿主 pluginManager 串行安装;不自行执行 pnpm、不直写 profile 清单;失败如实透传原因、累计尝试有上限、断网不阻断加载器启动。
  • 六态补齐状态:已就绪 / 安装中 / 待安装 / 失败 / 已有其他版本(不覆盖,展示差异)/ 不再自动补回(用户卸载后不强制补回);与 activeSkin 分字段存储,reload/重启/多窗口不产生重复安装任务。
  • 宿主深合并语义适配:retry 指令消费改为可覆盖标记(宿主 settings.update 为 mergeLayers 深合并,空对象写不掉旧键)、状态字段空串复位、显式重试与自动补齐开关的例外语义对齐——契约记录见 docs/git-distribution.md §2。

兼容性

  • 加载器与全部 13 款皮肤声明支持 DSH 0.1.7-rc.2 与 0.2.0-rc.2,未扩大到其他预发布版本。
  • 首版锁定发布集合 v1.2.0:不运行时追踪「最新版」;宿主已有不同版本的皮肤不会被覆盖。

验收边界(如实声明)

  • 本地实现与自动化验证已完成:231 项测试(含补齐策略矩阵与清单 fail-closed 校验)、typecheck / lint / build、CI 制品逐字节一致性检查。
  • Desktop 实机验收尚未执行:首次补齐、断网重试、卸载不补回、多窗口等场景需在官方 Desktop 上验证;隔离 CLI 环境下的安装挂载链路验证记录见 docs/git-distribution.md §5。
  • 新版 Desktop 实机验证与历史 0.1.7-rc.2 验证的区别及复跑方式见 docs/api-notes.md 与 docs/verification.md。

资产

  • dsh-eac-ui-skin-loader-1.2.0.tgz — 加载器(手动安装回退;Git 安装不需要)
  • dsh-eac-skin-*-1.2.0.tgz × 13 — 自动补齐的下载源,逐包 SHA256 见 packages/loader/skin-manifest.json 与 SHA256SUMS-v1.2.0.txt

dsh-ui-skin-loader v1.0.0

Choose a tag to compare

@Ebony-Vinyl Ebony-Vinyl released this 26 Sep 01:32

dsh-ui-skin-loader v1.0.0

弱约束公约 dsh.ecosystem.ui-skin-loader/v1 的参考实现首个发布版:一个加载器加五款皮肤(2 款内置示例 + 3 款公约化迁移),装入 DSH 0.1.7-rc.2 后即可在设置里一键换肤、随时彻底还原。

特性

  • 发现不启用:皮肤插件未激活时零副作用——只登记元数据(discovered),不注入任何样式/DOM/favicon;激活后才产生可见副作用,被换走或停用时彻底关闭,宿主观感与它从未激活时逐像素一致。
  • 全局互斥切换:任意时刻至多一款皮肤生效;切换状态机先彻底关闭旧皮肤再激活新皮肤;hero 区「恢复默认」一键回到宿主原生观感。
  • 换肤控制台:设置页内的卡片墙控制台(settings 分区 + 侧栏入口 + shell 浮层三席位),亮暗双案自适应,主按钮前景色按 accent 实际亮度推导(WCAG AA);含封面/作者/版本/状态徽标。
  • 持久化与跨标签页同步:激活选择落盘、跨重启恢复重放;多标签页操作秒级收敛。
  • 故障隔离:激活抛错自动回滚(零残留),关闭异常如实标记「疑似残留」,错误原文在卡内呈现;故障不具传染性,皮肤保持可再激活。

安装

见仓库 README · 安装:构建(pnpm install && pnpm build + 逐包 npm pack)后对每个 tarball 执行 dsh plugin --profile web add <tarball>(先装加载器)。本页 6 个资产即 README 命令所用的 tarball——已装好 DSH 的用户可直接下载资产、跳过构建步骤,从第 2 步「逐包装入 DSH」开始。

资产(6 个 tarball,均为 1.0.0)

文件 包
dsh-eac-ui-skin-loader-1.0.0.tgz @dsh-eac/ui-skin-loader 加载器
dsh-eac-skin-aurora-1.0.0.tgz 极光之夜(内置示例,带设置面)
dsh-eac-skin-inkwash-1.0.0.tgz 水墨青烟(内置示例,无设置)
dsh-eac-skin-trading-1.0.0.tgz 交易终端(迁移)
dsh-eac-skin-dragon-heir-1.0.0.tgz 龙的传人(迁移)
dsh-eac-skin-whale-song-1.0.0.tgz 鲸吟(迁移)

五皮肤清单

皮肤 包 一句话
极光之夜 @dsh-eac/skin-aurora 内置示例:深色玻璃拟态 + 极光渐变,带自定义设置(背景图/透明度)
水墨青烟 @dsh-eac/skin-inkwash 内置示例:浅色纸质感 + 水墨氛围,无设置面的最小先例
交易终端 @dsh-eac/skin-trading 迁移:实时行情跑马灯 + 交易时段状态栏 + 红涨绿跌
龙的传人 @dsh-eac/skin-dragon-heir 迁移:不屈龙魂/万里长城双主题 + 朱砂龙印
鲸吟 @dsh-eac/skin-whale-song 迁移:深海氛围背景 + 冰蓝海洋调色板

迁移皮肤来源与署名:三款迁移皮肤(交易终端 / 龙的传人 / 鲸吟)的观感与行为内容原样迁移自第三方皮肤工程 dsh-web-ui(@linxin666/dsh-client-ui-skin-* 0.1.11,BSD-3-Clause © zhu1090093659),经 DSH-Desktop-EAC@26841f5 取材;来源、改动与许可全文随包落档于各包 THIRD-PARTY-NOTICES.md。仓库工程骨架(加载器、皮肤接线、构建与测试)以 MIT 许可发布(© 2026 DSH EAC · 揽尽万象)。

IP 处理声明:

  • 鲸吟:上游具象人物插画(蓝发女神与鲸群,来历不明的 CC BY-NC-SA 角色链同一视觉宇宙)已按 IP 审慎裁定(R13)移除,替换为皮肤原色板派生的非具象水彩式 CSS 处理;包内不含任何具象人物/角色/剪影素材。
  • maid-atelier(深海女仆工坊)与 blue-fantasy(蓝色幻想):上游同源皮肤的另外两款,因权属/许可审慎评估未纳入本发布(不随 v1.0.0 分发)。

验证

验证矩阵 V1-V11(干净 boot / tarball 安装链 / 单元测试 / 控制台亮暗渲染 / 热切换零残留 / 持久化 / 跨标签页 / 故障隔离 / 卸载回归与路径审计 / 视觉验收 / 公约 §9 符合性)在 0.1.7-rc.2 隔离环境全量实跑通过;171 个单元测试(6 包:103 + 21 + 9 + 13 + 13 + 12)全部通过;五皮肤全景、互斥混切与逐款公约 §9 六问自检全部通过。全过程与证据见 docs/verification.md;宿主 API 实测依据见 docs/api-notes.md。

Known limitations

  • 卡片灰显诊断降级(installedButInactive 灰显)为 deferred 功能:未激活皮肤不以灰显呈现,状态经卡片状态徽标与 hero 区传达。
  • 皮肤设置入口为文本提示:控制台不内嵌皮肤设置界面;带设置的皮肤(极光之夜)经卡片上的「设置 → 极光之夜」文本提示跳转到其自治设置分区,无设置皮肤不显示该提示(不被区别对待)。

支持