DeepSeek WebUI Studio
A visual-first studio for building DSH WebUI plugins.
Inspect the real interface, edit source, run builds, and validate patches without loading unfinished code into your stable DSH Host.
Powered by dsh-harmony.
Get started
·
Report a bug
·
Request a feature
[](LICENSE)
[](https://github.com/memorax-ai/dsh-webui-studio/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/dsh-webui-studio)
[](package.json)
[](https://github.com/memorax-ai/dsh-webui-studio/stargazers)
[](https://memorax-ai.github.io/dsh-harmony/)
[简体中文](README.zh-CN.md) / [English](README.md)
## A visual workspace for the real DSH WebUI
WebUI Studio is not a mock page builder. It runs against the official DSH WebUI
and its real plugin graph, then turns visual inspection and source edits into
distributable plugin-owned artifacts.
Studio is an independent downstream application of
[`dsh-harmony`](https://github.com/CH4ACKO3/dsh-harmony). It uses Harmony's
public runtime, Patch engine, service API, and CLI control surface together with the
generic React registration API from
[`dsh-harmony-react`](https://github.com/CH4ACKO3/dsh-harmony/tree/main/packages/react).
The dependency direction stays one-way: Studio depends on Harmony; Harmony does
not depend on Studio.
## What you can do
- [x] Create a minimal DSH Web Client plugin or import an existing local plugin folder
- [x] Give every Draft its own Git worktree, `DSH_HOME`, profile, dependencies, and child Host
- [x] Preview the official WebUI without loading Draft code into the stable Host
- [x] Browse normally or inspect DOM, React owners, source candidates, and Patch traces
- [x] Surface plugin-registered Element controls automatically; save defaults and subtree-scoped CSS back to Draft source
- [x] Review Component declaration matches and generate CSS decorators without changing existing call-site props
- [x] Reorder and toggle both Harmony providers and individual Patches through one transactional reload
- [x] Edit Draft source with CodeMirror and protect installed dependency sources as read-only
- [x] Build, apply through Harmony, reload, and confirm the live Client graph revision
- [x] Start a Draft-scoped Agent or continue an existing DSH session with temporary Studio tools, skill, and context
- [x] Let an external Agent inspect the running WebUI through a local read-only Streamable HTTP MCP endpoint
- [x] Answer one-shot tool approvals, structured questions, and plan reviews without leaving Studio
- [x] Check package exports, artifacts, Patch state, ordering, dependencies, and pack output
- [x] Run multiple isolated Draft Preview Hosts at the same time
- [x] Snapshot the current WebUI profile or another local profile into each isolated Draft runtime
- [x] Reorder plugins and enable or disable Harmony Providers through one transactional hot reload
## How it works
```mermaid
flowchart LR
A["Stable DSH Host"] --> B["WebUI Studio"]
B --> C["Draft worktree"]
B --> D["Draft worktree"]
C --> E["Isolated DSH Home + Preview Host"]
D --> F["Isolated DSH Home + Preview Host"]
E --> G["Harmony runtime + real WebUI"]
F --> G
```
The stable Host owns the Studio interface, Draft registry, and Agent sessions.
Each Draft owns an isolated worktree and child Preview Host. A build becomes
active only after the Preview confirms the new live Client graph revision.
Stopping a Draft terminates its child Host but preserves its files and state.
An existing ordinary DSH session can enter Studio mode without losing its
history or identity. Leaving Studio removes the scoped Draft tools, skill, and
context so the session resumes through its ordinary DSH composition.
Studio is served locally at:
```text
http://127.0.0.1: