description: "Package map for the web GUI browser half: shell boot, browser-host communication, shared client services, localization, development reload, and the UI feature plugins."
English | 中文
The client/ group provides the browser experience for the dsh web GUI, including conversation, navigation, settings, approvals, file access, and other interactive features. Choose packages from this family when adding browser-visible behavior; use host/ for server-side page delivery and host integration. Packages cover both the shared browser foundation and focused UI features, while each child README owns its configuration and behavior. Authoring rules live in AGENTS.md, and the related documentation below explains cross-package composition.
The kernel packages boot and serve the page; the UI feature packages present it. Each package README owns its contract and configuration.
| Package | Role | ctx key |
|---|---|---|
web/ |
Boots the browser shell | — |
modules/ |
Loads browser-side client modules | ctx.clientModules / ctx.modules |
connection/ |
Maintains browser-host RPC communication and event delivery | ctx.connection |
file-upload/ |
Sends raw Blob and byte-stream request bodies outside the page thread | ctx.fileUpload |
store/ |
Provides React-free observable and snapshot-store primitives | — |
hmr/ |
Refreshes client plugins during development | — |
locale/ |
Provides localization preferences and message dictionaries | ctx.locale |
test-runtime/ |
Shared repository test support for client feature packages | — |
ui-renderer/ |
Binds slot data to React and mounts the assembled application | ctx.uiRenderer |
ui-slots/ |
Defines how UI features register and compose extension slots | — |
ui-session/ |
Adapts Session Controller state into standard Slot sources and hooks | — |
ui-theme/ |
Applies the selected color theme | — |
ui-primitives/ |
Provides shared React controls, icons, and content renderers | — |
ui-attachment/ |
Registers composer and message-image attachment presentation | — |
ui-layout/ |
Arranges the main application regions | — |
ui-sidebar/ |
Presents workspace and session navigation | — |
resources/ |
Unified resource model: protocol providers behind the useResource session standard hook |
ctx.resources |
ui-sidebar-files/ |
Right-Sidebar workspace file tree tab type | — |
ui-brand-official/ |
Fills the generic browser-brand slots with the official name and marks | — |
ui-workspace/ |
Provides workspace selection and creation surfaces | — |
ui-conversation/ |
Presents the active conversation and its input surface | — |
ui-chat/ |
Projects and renders the Chat conversation target | — |
ui-approval/ |
Presents approval requests and returns user decisions | — |
ui-tool/ |
Composes Tool call trees and keyed per-Tool views | — |
ui-workflow-run/ |
Replays durable workflow runs as nested chat disclosures | — |
ui-goal/ |
Presents and manages the current goal | — |
ui-trajectory/ |
Presents alternate views of agent activity | — |
ui-commands/ |
Provides session-aware command discovery and dispatch | — |
ui-input-trigger/ |
Coordinates inline command and reference suggestions | — |
ui-skill/ |
Adds skill references to inline suggestions | — |
ui-reference/ |
Unified Web @file / @session reference source |
— |
ui-subagent/ |
Provides subagent navigation, child transcript states, and inline references | — |
ui-schedule/ |
Lists the current Session's active reminders in a read-only header catalog | — |
ui-jobs/ |
Lists this session's background jobs in the conversation header | — |
ui-model-selection/ |
Provides model selection in conversation surfaces | — |
ui-permission-presets/ |
Configures default permissions and switches the current session's access | — |
ui-plan/ |
Presents active plan-mode status and its exit control | — |
ui-settings-plugins/ |
Owns the Plugins settings section, its tab extension point, and configurable host-plane plugin cards | — |
ui-user-questions/ |
Presents interactive questions requested by the agent | — |
ui-agent-preset/ |
Selects a session's agent preset and authors preset compositions | — |
ui-settings/ |
Hosts the settings interface and its extension areas | — |
ui-settings-general/ |
Provides the general settings section | — |
ui-settings-models/ |
Provides model-provider configuration and DeepSeek onboarding | — |
ui-settings-plugin-inventory/ |
Contributes the read-only Host Loader inventory tab to Plugins settings | — |
ui-deliverables/ |
Produces the produced-files turn tail and clickable final-response file references | — |
ui-message-feedback/ |
Contributes per-message feedback controls to the assistant-message action strip | — |
ui-directory-picker-browse/ |
In-app directory browsing surface for the workspace directory flow | — |
ui-directory-picker-native/ |
Native directory-picker surface driving the host's OS chooser | — |
ui-open-in-app/ |
Session-header split button opening the workspace directory in an installed application | — |
Start with the subsystem reference and the two notes that own the cross-package composition decisions, then the host half that serves this page.
dsh.client declarations, the boot graph wire, and the bundle route.