A preset publishes its own description, of any length, and `.cards` sizes rows with `grid-auto-rows: 1fr` — which makes every implicit row the same height, not just the row holding the tall card. One long description therefore set the height of the whole roster. The description now clamps to four lines and offers the rest through the shared Tooltip, attached only while the element actually overflows. Card height stays derived: with the description bounded, `grid-auto-rows: 1fr` already equalizes, and a card carrying the broken-preset reason or a revealed path still sizes itself. Tooltip gains an optional `maxWidth`; its default half-viewport cap renders a description wider than the settings dialog it belongs to. The failed-shape-check badge reads "Failed to load" rather than "Broken": discovery reports a composition that is missing, unreadable, or malformed, which overstates as damage. Fixes #2238
client/ — web-GUI browser half
English | 中文
The browser side of the dsh web GUI: shell boot, browser-host communication, shared UI services, and feature plugins. Authoring rules live in AGENTS.md; the host half is host/. All except test-runtime are product packages named @deepseek-ai/dsh-client-<name>.
| Package | Purpose |
|---|---|
web/ |
Boots the browser shell from the client entry graph. |
modules/ |
Loads browser-side client modules. |
web-react/ |
Connects the shell runtime to React rendering. |
connection/ |
Maintains browser-host RPC communication and event delivery. |
runtime/ |
Provides shared client services for sessions, workspaces, and UI composition. |
hmr/ |
Refreshes client plugins during development. |
locale/ |
Provides localization preferences and message dictionaries. |
schema-form/ |
Provides schema-backed draft handling for settings editors. |
test-runtime/ |
Provides shared repository test support for client feature packages. |
ui-slots/ |
Defines how UI features register and compose extension slots. |
ui-theme/ |
Applies the selected color theme. |
ui-primitives/ |
Provides shared React controls, icons, and content renderers. |
ui-layout/ |
Arranges the main application regions. |
ui-sidebar/ |
Presents workspace and session navigation. |
ui-workspace/ |
Provides workspace selection and creation surfaces. |
ui-conversation/ |
Presents the active conversation and its input surface. |
ui-tool/ |
Composes Tool call trees and keyed per-Tool views. |
ui-goal/ |
Presents and manages the current goal. |
ui-trajectory/ |
Presents alternate views of agent activity. |
ui-command/ |
Provides session-aware command discovery and dispatch. |
ui-slash/ |
Coordinates inline command and reference suggestions. |
ui-skill/ |
Adds skill references to inline suggestions. |
ui-subagent/ |
Provides subagent navigation, child transcript states, and inline references. |
ui-task/ |
Lists this session's background tasks in the conversation header. |
ui-model/ |
Provides model selection in conversation surfaces. |
ui-permission/ |
Configures default permissions and switches the current session's access. |
ui-plan/ |
Presents active plan-mode status and its exit control. |
ui-question/ |
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-models/ |
Provides model-provider configuration and DeepSeek onboarding. |
Each child reference owns its contract and detailed behavior. The slot system standard and web client architecture note own the cross-package composition and loading decisions.
The subsystem reference is client-modules.md; the slot system standard is the definitive slot model, and the web client architecture note owns the loading chain and object layer.