Bundle
dsh-custom-theme-import
DSH WebUI theme manager: import, preview, use, refresh, and manage mainstream DSH skin packages, persisted on the host at ~/.dsh/dsh-custom-theme-import/library.json.
- Source
- Juryorca
- stars
- 2 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
# dsh-custom-theme-import English | [中文](README.zh.md) A DSH Web skin manager for mainstream DSH skin package format. It imports, previews, uses, and manages skins without replacing DSH's native plugin system. ## Features - Import mainstream DSH skin package format from local paths or GitHub. - Also import DSH theme plugins without `skin.json` when they are standard web client packages (`dsh.client.platform: "web"` + `lib/client.js`). - Scan installed skins from the web profile's `node_modules`. - Preview, use, refresh, and manage skins. - Skin preview thumbnails when the package ships `skin.json` preview images. - Host-side persistence with optional managed copies. - UI language follows DSH automatically (Chinese / English). ## Build ```bash node build.mjs node build.mjs --check ``` ## Install From GitHub: ```bash dsh plugin --profile web add -w github:Juryorca/dsh-custom-theme-import ``` From a local checkout: ```bash dsh plugin --profile web add -w link:/path/to/dsh-custom-theme-import ``` Restart: ```bash dsh --profile web ``` Open: ```text Settings → My Themes ``` ## Supported skin format Mainstream DSH skin package format: ```text skin-package/ ├── package.json ├── cordis.patch.yml ├── skin.json ├── lib/index.js └── lib/client.js ``` Requirements: - `package.json` must declare `dsh.bundle`. - `skin.json` must exist. - `lib/client.js` must be a DSH ModuleLoader bundle exporting `apply(ctx)`. ## Collection repository A GitHub repository or local path can contain multiple mainstream skins. Common layouts are scanned automatically: ```text repo-root/ ├── themes/<skin-id>/... ├── skins/<skin-id>/... └── packages/*/skins/<skin-id>/... ``` Each `<skin-id>/` is a full skin package (`package.json`, `cordis.patch.yml`, `skin.json`, `lib/index.js`, `lib/client.js`). ## Storage - Library file: `~/.dsh/dsh-custom-theme-import/library.json` - Local path imports reference **in place** by default; you can opt in to copy them into `~/.dsh/dsh-custom-theme-import/themes/<id>/` as a managed copy. - GitHub/remote imports are cloned/downloaded into: `~/.dsh/dsh-custom-theme-import/themes/<id>/`
Install
dsh plugin --profile web add github:Juryorca/dsh-custom-theme-import
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-custom-theme-import from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.