DeepSeek Harness Plugin

kinmat-A/dsh-theme-switch

Stars ★ 1 Category Plugin Markets & Managers Added 2026-08-16

One-click skin switching for DSH Web settings: auto-detects installed themes, keeps exactly one active at a time, and falls back to the official look when all are off. Changes apply instantly and survive restarts.

Install

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:kinmat-A/dsh-theme-switch

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

DSH theme switch: auto-detects installed skin/theme plugins and offers one-click, official-style switching under Settings → Plugins → Skins.

中文说明

Install

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.

Usage

Switch skins from Settings → Plugins → Skins; after switching, refresh the browser page (Ctrl+F5) for the new skin to appear.

Screenshots

The skins tab (Settings → Plugins → Skins), dark theme:

Note: the themes shown in the screenshot are for display only.

Features

  • Auto-detection: scans the profile's dependencies and bundles, recognizing skins by package name / skin.json / bundle-patch rows. Missed skins can be added via config.themes.
  • Mutually exclusive switching: clicking a skin's button enables it and disables all the others; clicking it again disables it.
  • Official fallback: when every skin is off, the official DSH look applies automatically (the panel's "Official DSH skin" row has a matching button).
  • Instant and restart-proof: switches are written to the home-layer patch ~/.dsh/cordis.patch.yml, which the dsh boot flow watches live and replays on every startup — no restart needed.

Development

pnpm install          # first time (needs network)
pnpm run build:client # build the client (tsdown)

Structure

  • 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).
  • API: GET /@dsh-external/dsh-theme-switch/api/themes, POST …/api/toggle {id} (id: "__official__" disables every skin).

License: BSD-3-Clause

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.