jiale-li-orion/dsh-meshfin--packages-client-ui-layout ↗★ 1
@deepseek-ai/dsh-client-ui-layout
Shell plugin: three-column AppFrame with drag handles, ctx.layout viewing-state service (navigation + panels) 适合需要可调整多栏布局的用户;提供侧栏、工作台与详情面板的几何管理。
Other repositories with this package name
- deepseek-ai/deepseek-harness--packages-client-ui-layout
- whitelonng/dshcode--packages-client-ui-layout
- fufankeji/deepseek-harness-studio--packages-client-ui-layout
- op7418/pilot-harness--packages-client-ui-layout
- See-Sol-Lab/DeepSeekGUI--packages-client-ui-layout
- peiyuwang54/deepseek-harness-cli--packages-client-ui-layout
Install
This plugin has no verified bundle, or compatibility checks failed. Read the repository notes first. Read the full README ↗
README
Read the full README ↗@deepseek-ai/dsh-client-ui-layout
English | 中文
Shell plugin: four-column AppFrame (drag handles and concession chain) plus the ctx.layout panel-geometry service; it registers into the runtime-owned root slot and declares sidebar, conversation, workbench, details, and shell.overlay. The sidebar resize boundary is an invisible hit strip, while the workbench and details boundaries retain their floating pill; during concession details shrinks first and auto-closes, then the workbench shrinks and auto-closes, and center takes the remainder. A closed sidebar retains a 56px control rail while the workbench and details close to zero width; the workbench column is optional and renders nothing until a plugin registers into it. The package also seats the theme presenter: it consumes resolved ctx.theme snapshots and projects them onto the document (html { color-scheme } for native UA chrome, body[data-ds-dark-theme] from the active color scheme, the theme's alias tokens as inline variables on body, and one owned `` whose content follows the computed body background). Measuring after palette and token application keeps the rendered background as the single color authority; disposing the presenter removes its metadata node with its other global writes.
AppFrame always mounts the conversation, workbench, and details columns; a connected Session renders through SessionProvider. The transient layout store starts the sidebar at its default width with the workbench and details closed, and it never reads or writes localStorage. Hero and other unselected states also derive a zero rendered details width without changing that stored preference. AppFrame retains the last non-blank Session id across those states: the first Session remains closed, an explicit details action opens the contract default width, returning to the same Session restores its unchanged width, and selecting a different Session closes details before paint. The conversation owner share is empty, while the sidebar and workbench owner shares contain only collapsed and width; registrants obtain business data from standard hooks and actions from their own inject faces.
The /client exports are the plugin body (apply/inject), LayoutController, and the five owner-share interfaces. AppFrame, the panel store, and the concession solver remain package-internal.
Below the auto-collapse breakpoint the frame presents one panel at a time: an open workbench takes the track beside the rail instead of being derived to zero width, the conversation stays mounted behind it, and the shell's own close control returns to the session. That presentation reads the shared workbench preference without writing it, so a viewport change never opens, closes, or reselects the workbench another client is showing; only a gesture commits, through the host service.
Model Experience
None, as the layout shell manages browser viewing state; nothing here reaches a model request.
KV Cache effect
None; this package neither assembles nor sends a provider request.
Known Limitations and Deferred Work
- Panel geometry is transient — reload restores the sidebar default with the workbench and details closed; switching between distinct Session ids also closes details and forgets its dragged width, while unselected surfaces render details at zero width without modifying geometry. The workbench is root-scoped, so it survives a Session switch.
- Concession-chain auto-close derives a zero width without touching the preferred width — the panel restores itself when the window widens; consumers must not read the stored details width as the rendered truth.
- No scroll anchoring during squeeze reflow — layout changes may move the reader's viewport.