deepseek-harness/packages/client
Chinesezjc 1caca08301 docs: narrow the push-exemption guarantee, unbreak two static gates
cancel-in-progress is evaluated against the newly triggered run, so
exempting push means one master merge does not cancel the drill still
running from the previous one — not that a drill always finishes. A
benchmark dispatched on master shares the group and does cancel a
mid-flight drill. Record that bound in the runbook and drop the
overstated wording from the workflow comment and the spec name.

Also repair two gates that fail on master and block every pull request:
the telemetry note referenced an SDK proposal deleted in 408721954a,
and the ui-settings-general README pair carried stale recorded hashes
after both sides were updated together in aa1ec02bc6.
2026-08-12 18:16:24 +08:00
..
connection fix(web): cap default images at 5 MiB 2026-08-12 14:47:20 +08:00
hmr Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
locale Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
modules refactor(client): name the compile face in every client test filename 2026-08-12 01:41:40 +08:00
runtime Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 16:36:10 +08:00
schema-form Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
test-runtime Merge remote-tracking branch 'origin/master' into dshw/pr-2250 2026-08-12 04:50:51 +08:00
ui-agent-preset Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-attachment fix(web): cap default images at 5 MiB 2026-08-12 14:47:20 +08:00
ui-command refactor(client): name the compile face in every client test filename 2026-08-12 01:41:40 +08:00
ui-conversation Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 16:39:15 +08:00
ui-deliverables Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-directory-picker Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-directory-picker-native Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-feedback Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-goal Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-layout Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-model Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-models fix(web): end first-run onboarding on any usable provider 2026-08-12 12:50:45 +08:00
ui-permission Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-plan Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-plugin-config Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-plugins fix(ci): align plugin inventory with current contracts 2026-08-11 21:38:11 -07:00
ui-primitives fix(client): distinguish grep/glob rows from the web search row 2026-08-12 12:57:59 +08:00
ui-question Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-settings Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-settings-general docs: narrow the push-exemption guarantee, unbreak two static gates 2026-08-12 18:16:24 +08:00
ui-sidebar Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-skill Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-slash Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-slots Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-subagent Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-task refactor(client): name the compile face in every client test filename 2026-08-12 01:41:40 +08:00
ui-theme review: theme-owned drop mask token, overlay fade-in, stable gallery keys, close-button stacking, stale note defaults 2026-08-12 13:12:06 +08:00
ui-tool fix(client): distinguish grep/glob rows from the web search row 2026-08-12 12:57:59 +08:00
ui-trajectory Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 16:36:10 +08:00
ui-workflow-run Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
ui-workspace refactor(ui-workspace): extract shared drag-accept and status-dot renderers 2026-08-12 12:01:23 +08:00
web Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 10:43:23 +08:00
web-react refactor(client): name the compile face in every client test filename 2026-08-12 01:41:40 +08:00
AGENTS.md refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
README.i18n.yaml feat(web): add read-only Loader plugin inventory 2026-08-11 21:10:14 -07:00
README.md feat(web): add read-only Loader plugin inventory 2026-08-11 21:10:14 -07:00
README.zh.md feat(web): add read-only Loader plugin inventory 2026-08-11 21:10:14 -07:00
tsdown.client.ts refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +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-attachment/ Provides attachment display atoms: draft-image rail, message gallery, and lightbox.
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-workflow-run/ Replays durable workflow runs as nested Chat disclosures with live-only child navigation.
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-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.
ui-plugins/ Shows the current Host Loader entries in a read-only Settings section.

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.