deepseek-harness/packages/client
Yichen Jiang 6758da87ae feat(web): choose the default agent preset from General settings
One settings row picking which preset new sessions are composed from.

It is deliberately a new-session preference, not a live switch: a session's
preset is fixed at creation and the host refuses to adopt an existing session
under a different one, so the row says "applies to sessions you start from now
on" rather than implying it can retune a running agent.

Options and the current value come from one `agentPreset.list` call — the
roster already reports which id an unspecified session gets, so the row needs
no settings-schema introspection, unlike the permission row it is modelled on.
The write targets only the namespace's `default` field.

The menu marks `user` rows: a locally authored preset is exactly as privileged
as the plugins it names, and presenting it identically to a shipped one would
hide that.

An empty roster reads as `unavailable` and renders nothing, because composing
no presets is a valid deployment rather than a failure — distinct from a
roster call that failed, which surfaces its message.
2026-08-07 00:38:11 +08:00
..
connection feat(web): choose the default agent preset from General settings 2026-08-07 00:38:11 +08:00
hmr docs: rescan rebased documentation hierarchy 2026-08-05 16:16:57 +08:00
locale feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
modules fix(packages): omit source publication payloads 2026-08-05 01:15:19 +08:00
runtime feat(web): choose the default agent preset from General settings 2026-08-07 00:38:11 +08:00
schema-form docs: rescan rebased documentation hierarchy 2026-08-05 16:16:57 +08:00
test-runtime docs: rescan rebased documentation hierarchy 2026-08-05 16:16:57 +08:00
ui-agent-preset feat(web): choose the default agent preset from General settings 2026-08-07 00:38:11 +08:00
ui-command Merge remote-tracking branch 'origin/master' into codex/web-slash-fuzzy-search 2026-08-06 14:48:35 +08:00
ui-conversation fix(ui): preserve Hero tree when selecting a Workspace 2026-08-06 18:01:11 +08:00
ui-goal feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-layout docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
ui-model feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-models test(ui-models): cover reading a stored capacity back out of a row 2026-08-06 15:18:18 +08:00
ui-permission feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-plan feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-primitives fix: address markdown renderer review findings 2026-08-06 14:58:33 +08:00
ui-question feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-settings feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-settings-general feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-sidebar docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
ui-skill Merge origin/master into xjt/proofreading-active-docs-2-apply 2026-08-05 10:57:53 +08:00
ui-slash feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-slots feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-subagent feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-theme feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-trajectory fix(ui): preserve Hero tree when selecting a Workspace 2026-08-06 18:01:11 +08:00
ui-workspace Merge branch 'master' into feat/session-completed-dot 2026-08-06 12:15:44 +08:00
web docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
web-react docs: rescan rebased documentation hierarchy 2026-08-05 16:16:57 +08:00
AGENTS.md Merge remote-tracking branch 'origin/master' into feat/profile-plugin-management 2026-08-06 20:03:22 +08:00
README.i18n.yaml docs: rescan rebased documentation hierarchy 2026-08-05 16:16:57 +08:00
README.md docs: rescan rebased documentation hierarchy 2026-08-05 16:16:57 +08:00
README.zh.md docs: rescan rebased documentation hierarchy 2026-08-05 16:16:57 +08:00
tsdown.client.ts fix(packages): omit source publication payloads 2026-08-05 01:15:19 +08:00

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-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-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-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.