Sessions could be archived from the sidebar row menu but never restored: the registry-global archive set was a one-way display filter with no inverse RPC and no surface listing its members. WorkspaceRegistry.unarchiveSession drops one id from archivedSessionIds in one durable write on the same operation chain as archive, with no session-existence probe because a removal cannot introduce an unknown referent. The Workspace controller exposes it as workspace.unarchiveSession returning the complete archive set, which the existing archived follow increment already propagates, so no frame type and no persisted field changes. The new client package dsh-client-ui-settings-unarchive-sessions owns the restore surface: one localized settings.section page listing the archive set joined with loaded session summaries, newest archive first, searchable by title or workspace, with one Unarchive action per row.
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.