Bundle
dsh-split-screen
Split-screen workspace for the DeepSeek Harness web GUI — chat with several agents side by side in native-looking panes.
- Source
- YEYEYEYESHIFU
- stars
- 1 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
# dsh-split-screen Split-screen workspace for the DeepSeek Harness web GUI — chat with several agents side by side, in panes that look and behave exactly like the stock DeepSeek conversation. ## Keyboard shortcuts | Keys | Action | |------|--------| | **Alt+T** | Toggle the focused pane between the full composer and the compact TUI line | | **Alt+Shift+← / → / ↑ / ↓** | Move keyboard focus to the neighboring pane | Everything else is mouse-driven and works exactly like the stock DeepSeek UI. ## What it does - **Always on** — the split workspace simply *is* the conversation area: no button to press, no mode to enter or exit. One conversation renders without any extra chrome and looks exactly like the stock view. - **Split any pane** — drag a conversation from the DeepSeek sidebar onto a pane edge (left / right / top / bottom) to split it there, or drop it in the center to swap that pane's conversation. A translucent ghost previews the split position while you drag. - **Native look, light & dark** — panes render with the stock DeepSeek styles, theme variables and primitives: user bubbles, Think rows, tool rows, the streaming shimmer, the rounded composer card. - **Fully interactive panes** — every pane is a live session: streaming responses, Enter to send, Shift+Enter for newline, /commands, Stop while running, queued messages, todos, and image paste & drag-drop attachments. - **Two composer styles** — a full composer, or a compact terminal-style TUI line with the same width and button positions (Alt+T). - **Neat by default** — queued messages, todos and the stats line share the exact width of the input box; the stats line scrolls to reveal overflow. - **Persists** — the split layout survives page reloads. ## Getting started 1. Install the plugin and restart `dsh web` — the split workspace is on immediately. With a single conversation open you just see the stock view. 2. Drag a conversation from the sidebar onto a pane edge to split. 3. Click a conversation in the sidebar to load it into the focused pane. 4. Use the pane header's split buttons (⬎ / ⬏) for more panes, ✕ to close, and drag the dividers between panes to resize. 5. Press **Alt+T** to try the compact TUI composer. ## Recommended companions - **[dsh-session-hotkeys](https://github.com/YEYEYEYESHIFU/dsh-session-hotkeys)** — keyboard-first control for the DeepSeek Harness: `Esc` returns focus to the conversation, `Alt+Enter` steers or queues while an agent runs, the model picker is keyboard-reachable, and every shortcut is rebindable in a visual panel. Works great inside split-screen panes. - **[dsh-result-only-view](https://github.com/YEYEYEYESHIFU/dsh-result-only-view)** — a compact results-only reading mode for running sessions: less visual noise while several agents work side by side in your panes. ## Install ```bash dsh plugin --profile web add dsh-split-screen ``` then restart `dsh web`. ## How it works - Client-only plugin: the host half is an empty loader entry; everything runs in the browser on public service surfaces (`sessions`, `slots`, `conversation`), plus a small per-session staging bridge (`session.open()`). - Panes stage real sessions through the sessions service (history window + live event stream), so every pane is a first-class conversation. - Injects: `@deepseek-ai/dsh-client-runtime`, `@deepseek-ai/dsh-client-locale`, `@deepseek-ai/dsh-client-ui-primitives`. - The stock DeepSeek sidebar is deliberately untouched — it stays the single source of truth for conversations. - Transcripts reuse the ui-conversation CSS module rules (copied verbatim under `dsv-` class names) so a harness upgrade cannot silently break the look. ## License MIT
Install
dsh plugin --profile web add github:YEYEYEYESHIFU/dsh-split-screen
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-split-screen from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.