Files
deepseek-harness/packages/client
imccyu ae07093132 fix(chat): keep the transcript steady at Turn end and when steering lands
Measured against 0.2.1-rc.4 and master with the frame-sampled motion matrix,
the transcript moved back and forth at Turn end and around input landing.
This keeps rc.4's landing behavior, master's steering layout, and fixes the
reversals that remain.

- Completion-time folding keeps the first visible surviving row still when
  work rows close at once, filling the gap with bottom space capped at half
  the scrollport, instead of letting the browser clamp the position.
- After the Session stops running, the running status keeps its tail slot
  hidden and silent until the Turn's actions row replaces it, so the tail
  does not shrink and grow back.
- A Turn's duration control takes its gap in one frame instead of sliding.
- A fold batch that takes over following for a content change absorbs
  growth outside the batch before its first frame.
- Steering lands at once under either fold timing: the running Turn keeps
  streaming above its echo, which a native animation would push down.
- The running status no longer slides below a Step's first output, and the
  column no longer carries `data-chat-tail-pinned`; the steering entrance
  keeps its animation.
- A queued prompt is accepted by its Inbox row as well as by its receipt,
  so the composer clears the draft in the frame the queue dock shows it.
- A queued echo waits for the Inbox projection instead of retiring on the
  durable splice, so the queue dock does not empty for a frame.
2026-10-27 20:44:52 +08:00
..
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00
2026-10-26 16:15:51 +08:00

description, kind
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 provides the browser experience for the dsh web GUI, including conversation, navigation, settings, approvals, file access, and other interactive features. Choose packages from this family when adding browser-visible behavior; use host/ for server-side page delivery and host integration. Packages cover both the shared browser foundation and focused UI features, while each child README owns its configuration and behavior. Authoring rules live in AGENTS.md, and the related documentation below explains cross-package composition.

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
file-upload/ Sends raw Blob and byte-stream request bodies outside the page thread ctx.fileUpload
shortcuts/ Registers application keyboard commands ctx.shortcuts
ui-shortcuts/ Presents the keyboard shortcut reference —
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 typed extension Slots and reusable Component Factories —
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-dockkit/ Provides docking layout operations and React components —
ui-sidebar/ Presents workspace and session navigation —
ui-sidebar-right/ Owns the right Sidebar and its tab types ctx.sidebarRight, ctx.sidebarRightTabs
ui-sidebar-documentpreview/ Displays documents in right Sidebar tabs ctx.documentPreviews
ui-sidebar-browser/ Browses sandboxed HTTP(S) pages, including loopback services, in right-Sidebar tabs —
resources/ Unified resource model: protocol providers behind the useResource session standard hook ctx.resources
ui-sidebar-files/ Right-Sidebar workspace file tree tab type —
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-secret-mask/ Masks recognized credentials in sent user text —
ui-subagent/ Provides subagent navigation, child transcript states, and inline references —
ui-jobs/ Lists this session's background jobs with on-demand streaming record panels —
ui-schedule/ Lists the current Session's active reminders in a read-only header catalog —
ui-model-selection/ Provides model selection in conversation surfaces —
ui-deepseek-model-label-1017/ Adds the temporary 1017 badge to official DeepSeek Flash model labels —
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 Built-in plugins settings section shell and its tab extension point —
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-shell/ Provides the shell settings page on the Plugins page —
ui-settings-agent-loop/ Provides the agent-loop settings page on the Plugins page —
ui-settings-session-log/ Controls API Session-log upload in General settings —
ui-settings-subagent/ Provides the Subagent settings page on the Plugins page —
ui-settings-web-search/ Provides the web-search settings page on the Plugins page —
ui-plugin-manager/ Contributes the sidebar Plugins panel: install, enable, disable, retry, and compose installed packages —
ui-entry-customization/ Adds region-local More menus that pin or unpin plugin launchers and start a plugin draft —
ui-plugin-market/ Contributes the Discover tab to the Plugins page: browse market indexes and install their bundles —
ui-settings-plugin-inventory/ Contributes the read-only Host Loader inventory tab to Plugins settings —
ui-deliverables/ Produces the changed-files card with its comparison tabs, delivery cards, and clickable final-response file references —
ui-message-feedback/ Provides message ratings and feedback dialogs opened from ratings, /feedback, or the Session Header menu ctx.feedbackUi
ui-directory-picker-browse/ In-app directory browsing surface for the workspace directory flow —
ui-directory-picker-native/ Native directory-picker surface driving the local Desktop or Host OS chooser —
ui-open-in-app/ Session-header split button opening the workspace directory in an installed application, and the document preview's default-application controls for one file —

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.