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 适合在网页端需要集中查看任务状态与文件变更的用户。

패키지
@deepseek-ai/dsh-client-ui-workbench
호환성
미검증
Harness peer 범위
workspace:^
Cordis peer 범위
workspace:^
버전
0.1.1-rc.1
라이선스
MIT
최근 업데이트
2026. 8. 24.

같은 패키지 이름의 다른 저장소

설치

검증된 bundle이 없거나 호환성 검사에 실패했습니다. 먼저 저장소 설명을 읽어 주세요. 전체 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.