Master now carries the final #4182 plugin manager and the live client module graph of #4189, so the web management layer is re-ported onto them: - The manager keeps master's `ManagementError` codes, `ChangeResult` stages, `configure()` under `hmr.runExclusive`, `reload()` warnings and `writePluginEnabled` name matching, and adds back `inspect`, request-id installs with `plugin-manager/install-log` and `plugin-manager/install-state`, `cancelInstall`, `listBundles` titles, rows and overrides, `packageResult.kind`, `pnpmCommand` and `inspectTimeoutMs`, and `plugin-manager/changed` after each change and each `profile/reconciled`. A failed or cancelled installation restores the snapshotted manifest and lockfile instead of master's one-shot `pnpm remove` cleanup, so `cleanup` and `remainingDependencies` leave the result. - App boot keeps master's reconciliation diagnostics and emits `profile/reconciled`; `watchUserPatches` goes with the launcher's watcher now that HMR owns profile reloads. - The settings Plugin list tab stays read-only with #4189's page-local sync failures and retry; master's bundle form and row checkboxes are dropped again. The sidebar page words the Host's codes through its dictionary, and a client bundle change follows the live module graph without a page reload. - The web e2e scaffold no longer chooses a reload policy: the base bundle's `hmr` row turns on with the profile context and application readiness, and `profile.hmr: false` disables it through an overlay for the startup-only scenario.
description, kind
| description | kind |
|---|---|
| Ready-made dsh profile bundles for the shared core, browser GUI, one-shot task, ACP, and SDK application surfaces. | package-group |
bundle/ — profile plugin bundles
English | 中文
Summary
This group maps the installable patch layers used by dsh --profile. Each package declares dsh.bundle.patch; the launcher stacks those patch documents to assemble a named profile. The web, headless, acp, and sdk profiles build on dsh-base, while sdk-minimal supplies its complete tree in one bundle. Domain packages can declare additional layers outside this directory.
Table of Contents
Packages
| Package | Role | ctx key |
|---|---|---|
base |
Shared core for base-backed profiles | — (patch only) |
acp-app |
Automation-only ACP stdio application over base | mounts the ACP bridge |
web-app |
Browser application layer over base | mounts Web rows |
headless |
One-shot command-line task application over base | headless-runner |
sdk-app |
SDK JSON-RPC stdio application over base | mounts the SDK server |
sdk-minimal |
Standalone minimal SDK application without base or Web | — (complete patch tree) |
In-box bundles resolve from the dsh installation; out-of-tree bundles install into a profile through dsh plugin --profile <name> add <package>.
Related documentation
- dsh app — the
dshcommand that starts a profile. - app-boot — how profiles are resolved, layered, and customized.
- Profile plugin bundles note — the profile and bundle composition design.
- Generated composition graph — the exact composition each shipped profile uses.
Dev Note
None.