README
description: "The right Sidebar of the dsh web client: one docking surface per session, two presentations, the navigation controller ctx.sidebarRight, the tab-type registry ctx.sidebarRightTabs, and the Tab domain." kind: "package-reference"
@deepseek-ai/dsh-client-ui-sidebar-right
English | 中文
Summary
The right Sidebar: where the docking kit meets this product. It holds one docking surface per session, draws it as one edge-anchored panel in the frame's right column in either of two presentations, puts the expand button in the conversation header, and owns the navigation controller (ctx.sidebarRight), the tab-type registry (ctx.sidebarRightTabs), and the Tab domain that tells each open tab how it was navigated to and how long it lives.
Table of Contents
- What lives here, and what does not
- Presentations
- The expand button
- State
- Extension seats
ctx.sidebarRight- The Tab domain
- The guide
- Copy
- Model Experience
- Known Limitations and Deferred Work
- Dev Note
What lives here, and what does not
The layout itself — the split tree, its operations, the drag gestures, the floating panels — belongs to @deepseek-ai/dsh-client-ui-dockkit and stays host-agnostic. This package supplies everything that kit refuses to know: the product's copy, what a tab's kind means, which tab a fresh pane is seeded with, where the surface is mounted, and how other plugins reach it.
Presentations
Normal and fullscreen presentations share the same content tree, so switching does not remount tabs. The normal panel anchors to the right column; fullscreen covers the viewport while retaining the wide-screen columns underneath. Opening below 768px uses fullscreen automatically; leaving fullscreen on a narrow viewport closes the panel, and widening does not reopen a closed panel. A fullscreen opening keeps the underlying columns unchanged until its slide finishes, then prepares the normal track without a column transition. Before a fullscreen panel retreats, closing prepares a full-width conversation and restoring prepares the normal right track; the background does not animate during the retreat.
| Mode | The track | The panel |
|---|---|---|
push (default) |
Panel width: the conversation makes room | In the track; its left edge and the conversation's right edge travel together, on the frame's own curve |
fullscreen |
Retains the wide-screen normal track; automatic narrow-screen fullscreen takes no track | Covers the entire viewport |
In Windows Electron, html[data-windows-titlebar] keeps fullscreen panels below the caption and to the right of the expanded sidebar. The frame's --dsh-windows-sidebar-width supplies that inset and maximum width; --dsh-windows-content-radius supplies the top-left radius. Only fullscreen panels clip overflow for that corner.
The seat reports presentation through ctx.layout.openRightbar(track, fullscreen) / closeRightbar(); the frame does not inject this package. Switching fullscreen on a wide viewport leaves the center width unchanged, and the width handle appears only in expanded normal mode. Independent floating panels and float/dock operations remain available.
The panel has no header row. Its two controls — the presentation switch and the collapse button — ride the kit's chrome seat at the far end of the top-right pane's tab strip, so the strip is the panel's whole top edge. Each strip reads, left to right: the tab capsules with close controls where allowed, the add control (drawn only while that pane holds no guide tab; it opens the guide there through ctx.sidebarRight.openTab), the pane's split control, and in the top-right pane the two panel controls. Only the chips give way in a narrow pane; the controls after them never shrink or clip.
The expand button
The shortcut reference includes right-sidebar toggle, split and panel fullscreen commands. The same effective binding appears on the corresponding controls. Split and fullscreen require focus within a visible dock pane; conversation focus leaves them unavailable. Split remains visible when unavailable; its focusable tooltip shows the current binding and explains the pane limit or width requirement. Files, browser, and terminal providers contribute their own commands. Guide buttons display effective shortcuts as unboxed text inline without duplicate tooltips.
While the panel is hidden, one button in the conversation header's corner seat (conversation.session.header.corner, past the utilities' right edge and level with the Session log control) is the way back in. Its glyph is the left sidebar's collapse icon mirrored. It uses the shared compact Button, matching the adjacent More action’s radius and hover fill. It shares the panel's store (the slot runtime allows one handle across two same-scope seats); while the panel is shown it renders nothing, and the corner seat collapses with it. A collapsed Sidebar therefore costs the conversation nothing: no rail, no width, and the transcript's scrollbar stays at the column's edge. Without a session there is no button and no panel.
The panel takes the conversation's ground colour and content font sizes rather than a raised layer of its own: it is a column of the page, not a card over it.
The root-scoped rightbar entry renders the selected Session and background Sessions with initialized keepMounted bodies through separate rightbar.session subtrees. Each View owns its Session reference. Only the foreground subtree reports a frame track; other subtrees stay hidden without deleting tab state.
State
更多「Agent、自動化與工作流程」外掛
archify
作者 tt-a1i
為編碼智慧體生成美觀可驗證的架構圖、時序圖與資料流圖,輸出自包含 HTML,支援動效與清晰匯出。
openviking
作者 volcengine
為 AI 智慧體打造的自進化上下文資料庫,統一智慧體記憶、知識 RAG 與技能。
learn-harness-engineering
作者 walkinglabs
Harness 工程新手教程,從 0 到 1 系統學習智慧體工作流框架。
browserskill
作者 tencent
讓 AI 智慧體使用你已登入的真實瀏覽器而不打擾工作,CLI 與擴充套件雙形態,支援任意可呼叫 shell 的智慧體。
