yth1120/dsh-web-workbench--packages-client-ui-workbench ↗★ 0

@deepseek-ai/dsh-client-ui-workbench

Right-side workbench for the dsh web GUI: header toggle plus status, background-job, activity-log, and changed-file review tabs 适合在网页端需要集中查看任务状态与文件变更的用户。

Package
@deepseek-ai/dsh-client-ui-workbench
Compatibility
Unverified
Harness peer range
workspace:^
Cordis peer range
workspace:^
Version
0.1.1-rc.1
License
MIT
Last updated
Aug 24, 2026

Other repositories with this package name

Install

This plugin has no verified bundle, or compatibility checks failed. Read the repository notes first. Read the full README ↗

@deepseek-ai/dsh-client-ui-workbench

English | 中文

Right-side workbench for the dsh web GUI, contributing a frame-wide top-right toggle (floating over every surface, including the new-session page; it stays visible while the workbench is open and closes it on a second click) and four tabs into ui-conversation's conversation.details.tab workbench ring, where ui-trajectory adds the Trajectory tab:

TabData sourceBehavior
Background jobsjobsBySession mirrorfull job rows with live elapsed durations and settled de-emphasis
Reviewworkspace.changes / workspace.diffsorted change list, per-file bounded unified diff, refresh, and auto-refresh after a run settles
Filesworkspace.listFiles / workspace.readFilecollapsible workspace file tree with sizes, per-file bounded content preview, refresh, and truncation notes
Browserclient-side iframeaddress bar with back/forward/reload, URL normalization to http(s), and an embedded sandboxed viewer
Trajectory (ui-trajectory)session views.trajectory projectionturn-aware event ledger with timing overview, request/compaction sections, record inspector, and earlier-history paging

The toggle registers into the layout's frame-wide shell.overlay seat and flips the details column through ctx.layout.toggleDetails; it stays mounted above the open column, so a second click closes the panel. The plugin also marks the document with data-workbench-floating, whose CSS turns ui-conversation's stock session header into a transparent, borderless overlay over the transcript and hides the view tab strip — unloading the plugin removes the marker and restores the stock header. The four tabs register into the workbench ring with orders 10–40, and ui-trajectory's Trajectory tab follows at order 50, so ui-conversation's built-in tool details tab stays first. The Status and Activity-log tabs were consolidated away because the main transcript already surfaces running state and chat history; their components stay exported so a composition can re-register them. Each tab reads framework session state, the workspace-review wire, or the browser directly and owns no domain store. The details column opens without a current session too: the layout shows its own empty-state hint when no session exists, and a blank (hero) session renders the workbench shell directly.

Extension point

The workbench ring is a list slot; a package contributes a tab by registering into conversation.details.tab with an id, order, and localized label. The shell falls back to the first entry when a selected tab unloads.

Model Experience

None, as every tab renders browser-side session or host git state for a human; nothing here reaches a model request.

KV Cache effect

None; this package neither assembles nor sends a provider request.

Known Limitations and Deferred Work

  • Review is read-only and workspace-scoped — the tab lists and diffs git changes of the session's registered workspace; a session outside a registered workspace shows the no-workspace line, and no staging or commit controls exist.
  • Files is workspace-scoped and read-only — the tab lists the registered workspace tree (.git skipped, bounded at the host's entry cap) and previews file content; no editing, moving, or deletion controls exist.
  • Browser is an iframe, not a proxy — sites that forbid framing (X-Frame-Options/CSP) render an empty frame, and mixed-content or sandbox-restricted pages may refuse to load; the tab is a preview, not a full web browser.
  • The activity log is the chat window, not the raw session log — nodes outside the loaded history window page in through loadOlder, matching the conversation view rather than the trajectory ledger.
  • Diff rendering is line-oriented — hunks and +/- lines are styled, but word-level highlighting and file-open actions are deferred.