deepseek-harness/packages/client
Yichen Jiang dae6cad065 fix(web): show the plugin settings a user actually gets
Three things the page got wrong.

The web-search provider's defaults lived only at their use site, so the
served section carried no value for them and the card fell back to a zero it
invented — a number the schema itself rejects. Declaring them on the schema
makes the settings service the one authority: `maxUses` now reads 5 because
that is what the Host resolves, not because the page guessed. `baseURL` keeps
its code-side default, which exists so `$DEEPSEEK_SEARCH_BASE_URL` can win.

A field the Host serves no value for now renders empty rather than as zero.

The cards were rows in a settings page of cards: name and description ran
together on one line because the shared disclosure row lays them side by side.
Each card now draws its own header, stacking the two, and the section follows
the idiom the Agent Preset page established.
2026-08-10 21:29:45 +08:00
..
connection Merge remote-tracking branch 'origin/master' into worktree/drop-create-by-name 2026-08-10 15:49:49 +08:00
hmr docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
locale Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 12:50:43 +08:00
modules docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
runtime Merge remote-tracking branch 'origin/master' into worktree/web-plugin-config 2026-08-10 19:18:11 +08:00
schema-form docs: reserve seam for complete capabilities 2026-08-09 17:26:57 +08:00
test-runtime Merge remote-tracking branch 'origin/master' into worktree/web-plugin-config 2026-08-10 19:18:11 +08:00
ui-agent-preset fix(agent-presets,web): broken presets are roster rows, not gaps 2026-08-09 02:17:56 +08:00
ui-command docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
ui-conversation Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 17:05:18 +08:00
ui-deliverables Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 12:50:43 +08:00
ui-goal docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
ui-layout Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 12:50:43 +08:00
ui-model docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
ui-models docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
ui-permission refactor(packages): dissolve ui/ and rename sdk/ to scaffold/ 2026-08-09 01:21:12 +08:00
ui-plan feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
ui-plugin-config fix(web): show the plugin settings a user actually gets 2026-08-10 21:29:45 +08:00
ui-primitives docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
ui-question docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
ui-settings fix(web): show the plugin settings a user actually gets 2026-08-10 21:29:45 +08:00
ui-settings-general Merge remote-tracking branch 'origin/stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring 2026-08-09 20:41:55 +08:00
ui-sidebar docs: purge chain-of-thought leakage from prose 2026-08-09 21:10:59 +08:00
ui-skill Merge remote-tracking branch 'origin/master' into fix/web-slash-catalog-follows-preset 2026-08-10 14:38:17 +08:00
ui-slash docs: fix review findings — residual ordinals, hypothetical IPC row, citation-rule amendments 2026-08-09 21:10:59 +08:00
ui-slots docs: fix round-3 review findings — §/used-to/v1 residuals, zh stamp example, budget freeze honored 2026-08-09 21:11:59 +08:00
ui-subagent Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 12:50:43 +08:00
ui-theme Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 12:50:43 +08:00
ui-tool Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 17:05:18 +08:00
ui-trajectory Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input 2026-08-09 23:33:35 +08:00
ui-workspace docs: purge chain-of-thought leakage from prose 2026-08-09 21:10:59 +08:00
web docs: purge chain-of-thought leakage from prose 2026-08-09 21:10:59 +08:00
web-react docs: purge chain-of-thought leakage from prose 2026-08-09 21:10:59 +08:00
AGENTS.md docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
README.i18n.yaml feat(client): configure host-plane plugins from a settings section 2026-08-10 19:14:59 +08:00
README.md feat(client): configure host-plane plugins from a settings section 2026-08-10 19:14:59 +08:00
README.zh.md feat(client): configure host-plane plugins from a settings section 2026-08-10 19:14:59 +08:00
tsdown.client.ts docs: make technical prose concrete 2026-08-10 16:34:20 +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-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-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-plugin-config/ The Plugins settings section: host-plane plugin configuration as expandable cards.
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.