Files
deepseek-harness/packages/client
Coder d2ad46b8aa fix: keep client session projection stores across removal and revival
The per-session ProjectionValueStore was deleted on host/session-removed
even though the Session instance survives removal (open() is idempotent and
drop() only removes the map entry). A re-added or re-listed session resumed
on the same instance with an empty projection face, so projection-backed UI
(such as the OpenRouter cost readout) reverted to blank until a fresh host
baseline landed.

Retain the store on removal and lift the removed tombstone from the
surviving instance on revival (host/session-added and list-refresh
re-listing), so chat switching keeps cost readouts populated.
2026-08-20 22:10:43 +07:00
..
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +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-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-subagent/ Provides subagent navigation, child transcript states, and inline references.
ui-jobs/ Lists this session's background jobs in the conversation header.
ui-model-selection/ 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-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.

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.