deepseek-harness/packages/client
Turtle d68ff7e66f Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/session/session-projection/src/invariant.ts
#	tsconfig.base.json
2026-09-01 11:18:11 +08:00
..
connection Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
hmr release(dsh): 0.1.2-alpha.3 2026-08-31 23:39:37 +08:00
locale Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
modules release(dsh): 0.1.2-alpha.3 2026-08-31 23:39:37 +08:00
store Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-agent-preset Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-approval Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-attachment Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-brand-official Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-chat Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-commands Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-conversation Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-deliverables Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-directory-picker-browse Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-directory-picker-native Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-goal Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-input-trigger Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-jobs Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-layout Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-message-feedback Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-model-selection Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-permission-presets Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-plan Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-primitives Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-reference Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-renderer release(dsh): 0.1.2-alpha.3 2026-08-31 23:39:37 +08:00
ui-schedule Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-session Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-settings Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-settings-general Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-settings-models Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-settings-plugin-inventory Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-settings-plugins Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-sidebar Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-skill Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-slots Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-subagent Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-theme Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-tool Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-trajectory Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-user-questions Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-workflow-run Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
ui-workspace Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
web Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants 2026-09-01 11:18:11 +08:00
AGENTS.md Merge master into codex/omit-unneeded-invariants 2026-08-31 14:38:55 +08:00
README.i18n.yaml Merge commit 'a75a281deadcd90a3841bdd2efebbbbfd68696fc' into schedule-web-catalog 2026-08-26 00:51:57 +08:00
README.md Merge commit 'a75a281deadcd90a3841bdd2efebbbbfd68696fc' into schedule-web-catalog 2026-08-26 00:51:57 +08:00
README.zh.md Merge commit 'a75a281deadcd90a3841bdd2efebbbbfd68696fc' into schedule-web-catalog 2026-08-26 00:51:57 +08:00
tsdown.client.ts Merge remote-tracking branch 'origin/master' into worktree/plugin-list-display-cbe885 2026-08-30 12:00:06 +08:00

description kind
Package map for the web GUI browser half: shell boot, browser-host communication, shared client services, localization, development reload, and the UI feature plugins. package-group

client/ — web-GUI browser half

English | 中文

Summary

The client/ group runs the browser half of the dsh web GUI: it boots the web shell, loads browser-side plugin modules, keeps browser-to-host RPC and event delivery alive, and provides the shared client services and UI feature plugins that render the application. UI features compose through the slot system — each plugin fills declared extension slots with typed props and stores, and the shell renders the assembled tree. All packages here are product packages named @deepseek-ai/dsh-client-<name>; the host half that serves the page lives in host/. Authoring rules live in AGENTS.md, and the module graph, slot model, and object layer are documented in the related notes below.

Table of Contents


Packages

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

Start with the subsystem reference and the two notes that own the cross-package composition decisions, then the host half that serves this page.

Dev Note

Working context for maintainers — click to expand

None.