packages/dsh-plugin-manager
zhu1090093659/dsh-web设置 → 插件 分区里的插件管理 Tab:从 npm/git 安装带进度、下次启动生效的启停开关、安装冲突对账可撤销、失败一键转交修复会话。
DSH 主题切换:自动检测已安装的皮肤/主题,在设置页一键互斥切换,全部停用时回退官方默认外观,切换即时生效并跨重启保留。
DSH theme switch: auto-detects installed skin/theme plugins and offers one-click, official-style switching under Settings → Plugins → Skins.
dsh plugin --profile web add github:kinmat-A/dsh-theme-switch
Restart dsh web afterwards (or install it from the dsh-market plugin, which hot-activates it), then open Settings → Plugins → Skins.
Switch skins from Settings → Plugins → Skins; after switching, refresh the browser page (Ctrl+F5) for the new skin to appear.
The skins tab (Settings → Plugins → Skins), dark theme:
Note: the themes shown in the screenshot are for display only.
dependencies and bundles, recognizing skins by package name / skin.json / bundle-patch rows. Missed skins can be added via config.themes.~/.dsh/cordis.patch.yml, which the dsh boot flow watches live and replays on every startup — no restart needed.pnpm install # first time (needs network)
pnpm run build:client # build the client (tsdown)
lib/index.js — host entry (plain ESM, zero dependencies): skin detection, home-patch read/write, HTTP API.src/client/index.tsx → lib/client.js — official-style settings tab (--dsw-alias-* tokens + primitives).GET /@dsh-external/dsh-theme-switch/api/themes, POST …/api/toggle {id} (id: "__official__" disables every skin).License: BSD-3-Clause