{"_id":"@dsh-suite/themes","_rev":"4-13103098c3e5b93587e72e0fc59c28ab","name":"@dsh-suite/themes","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.0":{"name":"@dsh-suite/themes","version":"0.1.0","keywords":["deepseek-harness","dsh-plugin","themes","skin","aionui","skin-center"],"license":"Apache-2.0","_id":"@dsh-suite/themes@0.1.0","maintainers":[{"name":"slszqzp","email":"slszqzp@outlook.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-locale"],"platform":"web"}},"dist":{"shasum":"4669470dd01896f5e15df4827d5f6e9b8082a7ef","tarball":"https://registry.npmjs.org/@dsh-suite/themes/-/themes-0.1.0.tgz","fileCount":309,"integrity":"sha512-x+SmLwU8anedjdsUm8oPcoOl4TM7w9pkS03UP24Ai5Vdydq777SsK1ej8pHLjFJaLM1MSESalfZQFg//ozmrqg==","signatures":[{"sig":"MEYCIQCC32YeXvk1BgZXkJACjlXbURBJRnoYBvX03JLNfHFdLQIhAKOI/O9TbTccOtv9LTJS90GEhlaurchM6C2RXyjKh9dD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4235146},"main":"lib/index.js","type":"module","engines":{"node":"^22.19 || >=24"},"exports":{".":"./lib/index.js","./client":"./lib/client.js","./package.json":"./package.json"},"gitHead":"7cf4bb7f859d04d9b69ca94f435a695f4cc48a9b","scripts":{"generate":"node scripts/generate.mjs"},"_npmUser":{"name":"slszqzp","email":"slszqzp@outlook.com"},"_npmVersion":"11.19.0","description":"151 款 AionUi 皮肤聚合 + 皮肤中心试穿面板 / A 151-skin pack with a try-on panel for DSH Web UI.","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/themes_0.1.0_1786731249649_0.17246880269936438","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dsh-suite/themes","version":"0.2.0","keywords":["deepseek-harness","dsh-plugin","themes","skin","aionui","skin-center"],"license":"Apache-2.0","_id":"@dsh-suite/themes@0.2.0","maintainers":[{"name":"slszqzp","email":"slszqzp@outlook.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-locale"],"platform":"web"}},"dist":{"shasum":"a13ddc7fe08cefc0495dd780d5aeeedfadf77329","tarball":"https://registry.npmjs.org/@dsh-suite/themes/-/themes-0.2.0.tgz","fileCount":309,"integrity":"sha512-e2Z0C3xCnOVkxLsYtLsN9MQC2grnRqAbNpzZ4A1paAOMYQDXNxDWwYKEUIEQ5H1wPLSEyMiV0rEIgM8cb5SxOA==","signatures":[{"sig":"MEUCIAmW5xaoZ+ZCtTft5OrvPkzlHCl2zQPdqLNORl3DTQerAiEAh9gaWmq+Qsy22IlcCm+z3OPEPIOmnLcQUQLs0bOb8N0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4239487},"main":"lib/index.js","type":"module","engines":{"node":"^22.19 || >=24"},"exports":{".":"./lib/index.js","./client":"./lib/client.js","./package.json":"./package.json"},"gitHead":"724d0dce4a1b398bcd76d5c8aa2f734eda1feec0","scripts":{"generate":"node scripts/generate.mjs"},"_npmUser":{"name":"slszqzp","email":"slszqzp@outlook.com"},"_npmVersion":"11.19.0","description":"151 款 AionUi 皮肤聚合 + 皮肤中心试穿面板 / A 151-skin pack with a try-on panel for DSH Web UI.","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/themes_0.2.0_1786762222277_0.13872888133932126","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dsh-suite/themes","version":"0.3.0","keywords":["deepseek-harness","dsh-plugin","themes","skin","aionui","skin-center"],"license":"Apache-2.0","_id":"@dsh-suite/themes@0.3.0","maintainers":[{"name":"slszqzp","email":"slszqzp@outlook.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-locale"],"platform":"web"}},"dist":{"shasum":"12e463703fe2d42f72686a2cbb8ebac52e130ab3","tarball":"https://registry.npmjs.org/@dsh-suite/themes/-/themes-0.3.0.tgz","fileCount":611,"integrity":"sha512-/JGaBl+vfjAmSOp+EhVkBoOeqyMw460MDUqZTT+z817KCchAi8DdegpQ75ErlDM9ZyxNLghs2SvrvZHym15h3A==","signatures":[{"sig":"MEUCIQD8QXas7usC1d9Wtq3/KyTA811iGeWhZTWmGT0dSN+z4AIgOy4REe5iOsxASvn9MzVKZzHz9wVAD415A7Q3nGgh2sk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7515707},"main":"lib/index.js","type":"module","engines":{"node":"^22.19 || >=24"},"exports":{".":"./lib/index.js","./client":"./lib/client.js","./package.json":"./package.json"},"gitHead":"c4914104721698d50f6a28ef8cb00141d7cac7e7","scripts":{"generate":"node scripts/generate.mjs"},"_npmUser":{"name":"slszqzp","email":"slszqzp@outlook.com"},"_npmVersion":"11.19.0","description":"151 款 AionUi 皮肤聚合 + 皮肤中心试穿面板 / A 151-skin pack with a try-on panel for DSH Web UI.","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/themes_0.3.0_1786874373176_0.18357453720586925","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@dsh-suite/themes","version":"0.3.1","description":"151 款 AionUi 皮肤聚合 + 皮肤中心试穿面板 / A 151-skin pack with a try-on panel for DSH Web UI.","type":"module","main":"lib/index.js","exports":{".":"./lib/index.js","./client":"./lib/client.js","./package.json":"./package.json"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-locale"],"platform":"web"}},"scripts":{"generate":"node scripts/generate.mjs"},"engines":{"node":"^22.19 || >=24"},"license":"Apache-2.0","keywords":["deepseek-harness","dsh-plugin","themes","skin","aionui","skin-center"],"gitHead":"e5bc0d953fe38ee26ee749618a3d7ee3b17464da","_id":"@dsh-suite/themes@0.3.1","_nodeVersion":"22.17.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-cFWfcVBKSQy4/Jbdr2Bg/qoFA/rTIcoR/cWCszRhVQMbcWZ9G9RMtpCSJI9LiMrV8M8kFAyV0+03eq5T6ibnBw==","shasum":"b06da0411ee06cd39007836d74d6c536b19d1068","tarball":"https://registry.npmjs.org/@dsh-suite/themes/-/themes-0.3.1.tgz","fileCount":611,"unpackedSize":7531814,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDAHm2Eiu3s9bBAMBPd7PbBqvo4wysN9MJVwS/dCUOcXwIgcDyVD6ij0ASZEkrOQ0ZX9QpFOkyYQlZTS8/gCnZD/cc="}]},"_npmUser":{"name":"slszqzp","email":"slszqzp@outlook.com"},"directories":{},"maintainers":[{"name":"slszqzp","email":"slszqzp@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/themes_0.3.1_1788058291342_0.72062572099336"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-14T18:14:09.468Z","modified":"2026-08-30T02:51:31.767Z","0.1.0":"2026-08-14T18:14:09.840Z","0.2.0":"2026-08-15T02:50:22.476Z","0.3.0":"2026-08-16T09:59:33.433Z","0.3.1":"2026-08-30T02:51:31.564Z"},"license":"Apache-2.0","keywords":["deepseek-harness","dsh-plugin","themes","skin","aionui","skin-center"],"description":"151 款 AionUi 皮肤聚合 + 皮肤中心试穿面板 / A 151-skin pack with a try-on panel for DSH Web UI.","maintainers":[{"name":"slszqzp","email":"slszqzp@outlook.com"}],"readme":"# @dsh-suite/themes — 151 款 DSH 皮肤聚合 / 151-skin pack for DSH Web UI\n\n[💬 问题反馈](https://github.com/whyihaveyou/dsh-suite/issues/new?template=plugin-feedback.yml&labels=feedback&plugin=skin-center)\n\n> 把 dsh-themes 的 151 个皮肤包**一包打尽**：一个 npm 包 + 一个「皮肤中心」试穿面板。\n\n## 安装 / Install\n\n```sh\ndsh plugin --profile web add @dsh-suite/themes\n```\n\n重启 `dsh web` 后，Settings → **皮肤中心 / Skin Center** 即可用。\n\n## 功能 / Features\n\n- **试穿**: 点卡片即写 `body[data-dsh-<id>]` 属性切肤（CSS 变量实时生效），再次点击其他卡片切换，✖ 清除皮肤。\n- **151 款皮肤**: 分组（绝区零 / 原神 / 经典配色 / 节日限定 …，游戏系按品牌分组）、搜索（中文名/英文名/分组/标签）。\n- **昼夜三态 (v0.3)**: 工具条「☀️ 昼 / 🌙 夜 / 🖥 跟随系统」——昼/夜手动切换预览与实际主题（`data-ds-dark-theme`）；「跟随系统」监听 `prefers-color-scheme`，系统深浅色切换时预览与已应用皮肤自动跟随。\n- **皮肤详情卡 (v0.3)**: 点击卡片除试穿外，网格上方展示详情——作者 / 标签 / 令牌数（CSS 体积估算）/ 分组 / 宣传语 + 昼·夜两张 640px 大图预览。\n- **懒加载**: 缩略图经 IntersectionObserver 视口按需加载，151 卡不全量拉图。\n- **收藏**: 卡片 ♡/♥ 收藏按钮，localStorage 持久化（重开面板/重启 DSH 仍在），网格顶部「♡ 只看收藏」开关。\n- **最近试穿**: 最近试穿的 8 款皮肤在网格上方横向展示，点击可再次应用。\n- **随机一款**: 工具条「🎲 随机试穿」从当前筛选结果（无筛选则全部 151 款）随机应用一款。\n\n## 体积 / Volume\n\n| 内容 | 体积 |\n|---|---|\n| 原始预览图（151×2 PNG, 1280×800） | ~67 MB |\n| 打包后 assets（320×200 WebP 缩略图 + 640px WebP 大图 + manifest + 全量 CSS） | **~7.1 MB**（压缩 ~10×） |\n| skins.css（151 皮肤全量 CSS，试穿时经宿主 gzip 按需拉取） | 3.2 MB raw / 0.44 MB gzip |\n\n## 生成 / Regenerate\n\n皮肤清单、CSS、缩略图全部由脚本从 `skins/` 扫描生成，**不手写**：\n\n```sh\ncd packages/skin-center && node scripts/generate.mjs   # 需要系统 python3 + Pillow（缩略图）\n```\n\n产物 `assets/manifest.json`、`assets/skins.css`、`assets/thumbs/*.webp` 随包发布。\n\n## 宿主路由 / Host routes\n\n`/skin-center/manifest`（gzip JSON）、`/skin-center/css`（gzip CSS）、`/skin-center/thumbs/*`（缩略图）。\n\n## 关系 / Architecture\n\n- 单皮肤包（`skins/*`）：cordis.patch.yml 插入 `ui-skin-<id>` roster + client.js 注入 `body[data-dsh-<id>]` CSS。\n- 本聚合包：**不等价替换**单包，而是宿主半批量服务全部皮肤资产 + 浏览器半统一试穿面板；已装单包与聚合包共存互不干扰（CSS 同选择器幂等）。\n\n\n---\n\n## Theme & Skin Compatibility / 主题与皮肤兼容\n\nThe **panel itself** follows the DSH Web styling contract\n([`docs/web-styling.md`](https://github.com/deepseek-ai/deepseek-harness/blob/main/docs/web-styling.md)):\nall colors come from `--dsw-alias-*` design tokens, no hardcoded color literals.\nIt also implements the dsh-web Skin Center compatibility contract\n**L1 (token coverage) + L2 (semantic attributes)** — root node\n`data-dsh-plugin=\"skin-center\"` + `data-dsh-surface=\"settings\"`, parts\n`input / select / button-ghost / card` (v0.3.1).\n\nAs a **skin pack**, each skin scopes its palette via `body[data-dsh-<id>]` and\noverrides `--dsw-alias-*` tokens for day/night; it follows the primary-action\ntoken rules (verbatim four-token set, no cross-family pairing). The bundled\nmanifest is an aggregate format (151 skins in one manifest + one CSS), not the\nper-skin skin-manifest-v2 asset-directory layout.\n\n面板自身遵循 DSH Web 样式契约：全部颜色经 `--dsw-alias-*` 设计令牌引用、无硬编码色值；并实现 dsh-web 皮肤中心兼容契约\n**L1（令牌覆盖）+ L2（语义属性）**——根节点 `data-dsh-plugin=\"skin-center\"` + `data-dsh-surface=\"settings\"`，\n部件标注 `input / select / button-ghost / card`（v0.3.1）。\n作为皮肤聚合包，每个皮肤经 `body[data-dsh-<id>]` 作用域覆写 `--dsw-alias-*` 令牌（昼夜双模式），并遵循\nprimary-action 令牌规则（主按钮四件套 verbatim、禁止跨族配对）；随包 manifest 为聚合格式（151 皮合一），\n非逐皮的 skin-manifest-v2 资产目录布局。\n","readmeFilename":"README.md"}