dsh-plugin-infinite-split-tabs
DiscoveredInfinite split tabs for the DeepSeek Harness right sidebar — split down, nest both ways, persist layouts.
dsh-plugin-infinite-split-tabs
Infinite split tabs for the DeepSeek Harness right sidebar: split down as well as right, nest panes in both directions, drag tabs to any edge, and keep every layout across reloads.
Status: source patch, not yet a drop-in
dsh plugin addpackage. DSH linksui-dockkitinto the Web shell statically, andui-sidebar-rightowns the dock. A third-party plugin cannot replace that split renderer at runtime, so this repository ships the working patch plus the test/build evidence. See ROADMAP.md for the plugin conversion.
Proposal
Posted in upstream GitHub Discussions (Ideas):
Split the right sidebar in both directions (nested panes)
Review
The source diff is recorded as a draft PR in the contributor's fork:
jeremytenjo/deepseek-harness#1 — feat(sidebar): split down and unbounded nested panes
deepseek-ai/deepseek-harness currently disables external pull requests, so the PR cannot be
opened against the upstream repository. The fork PR is the reviewable record of the same
24-file change shipped in this repository's patches/ directory.

Features
- Split down —
⌘⇧\on macOS,Ctrl+Shift+\on Windows/Linux. - Split right — the existing
⌘\still works. - Nest both ways — split any pane again, along either axis; there is no two-pane cap.
- Drag to any edge — left, right, top or bottom; the drop hint names the target.
- Persistent layouts — the nested split tree is saved per Session and restored.
- Stable tab bodies — tabs stay siblings in one flat CSS Grid, so terminals and file previews are not remounted by nesting.
- One-line borders — every pane on the panel's left edge draws its border, and stacked panes share a single 1px seam (no doubled divider line).
Install (from source)
The patch is built against deepseek-ai/deepseek-harness at commit 22ddee3
(the 0.2.1-rc.3 tree). Use a matching checkout; newer master may conflict.
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
git checkout 22ddee3
git apply /path/to/dsh-plugin-infinite-split-tabs/patches/0001-right-sidebar-infinite-splits.patch
pnpm install
pnpm run dev:web
Open the printed URL, open a Session and the right sidebar, then click a tab and press
⌘⇧\ / Ctrl+Shift+\.
For a desktop build:
pnpm run build
pnpm run package:desktop:dir
Apply helper
./scripts/apply.sh /path/to/deepseek-harness
The script runs git apply --check first and refuses a dirty/conflicting tree.
Test
pnpm exec vitest run packages/client/ui-dockkit/tests packages/client/ui-sidebar-right/tests
pnpm exec tsc -p packages/client/ui-sidebar-right/tsconfig.json --noEmit
pnpm exec tsc -b packages/client/ui-dockkit/tsconfig.json
At the recorded revision: 542 tests pass, both packages typecheck, and a live headless Chrome run built a five-pane nested tree, restored it after reload, and dragged a nested divider.
Screenshots
| Stacked + drop hint | Nested tree |
|---|---|
![]() | ![]() |
| Single-line seam | 2×2 |
|---|---|
![]() | ![]() |
How it works
The patch touches three layers:
ui-dockkit—TabLayoutflattens the split tree into one CSS Grid; each pane maps to the Grid tracks its rectangle covers, and each split gets a divider overlay sized to its own rectangle.planSplitPane/DockControllertake an axis. The docked-pane ceiling is removed (MAX_DOCK_PANES = Infinity).ui-sidebar-right— the store/service accept nested splits and top/bottom drops; thepane.splitDownshortcut is registered; persistence validates arbitrary trees.- Borders — left-edge and seam classes replace the old first-column/column-only rules.
Compatibility and caveats
- Built and tested against DSH 0.2.1-rc.3.
- The split strip button still splits right; downward split is the shortcut/API.
- Edge drops use the dock kit's 25% edge bands (all four edges).
- There is no pane cap, so very deep trees can get cramped; the room rule still refuses a split when a pane cannot hold two working halves.
- Stock DSH rejects these nested layouts; downgrading clears that Session's stored layout.
- Upstream currently disables external pull requests; this repo is the distribution path.
License
MIT. Portions are derived from DeepSeek Harness (MIT); see THIRD_PARTY_NOTICES.md.
Comments
Loading…
Similar plugins
by mhlywxl
Split-screen workspace for DeepSeek Harness (DSH) Desktop: unlimited native panes, side-by-side, stacked and 2x2 grid layouts, drag to rearrange.
★ 0
MIT
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-split-workspaceby emberff
Split DeepSeek Harness Web Plugins settings into native (built-in) vs custom (user-installed) tabs
★ 0
MIT
JavaScript
Aug 16, 2026
dsh plugin --profile web add dsh-plugin-origin-splitSplits the DeepSeek Harness sidebar into independently scrollable Pinned and Recents panes, and hides pinned sessions from Recents.
★ 0
dsh plugin --profile web add dsh-codex-pinsby mrbeandev
Independent workspace last-used ordering for the DeepSeek Harness sidebar (experimental)
★ 0
MIT
JavaScript
Oct 16, 2026
dsh plugin --profile web add dsh-workspace-sorterby blockman0321
Floating sidebar overlay for DeepSeek Harness: independently rendered workspace/session browser in the official shell.overlay seat, without touching the official sidebar or grid.
★ 0
MIT
JavaScript
Oct 19, 2026
dsh plugin --profile web add dsh-sidebar-overlayby ai-eks
Organize unlimited conversation tabs into editor-style, drag-to-split groups for DeepSeek Harness Web.
★ 6
↓ 216/wk
MIT
TypeScript
Sep 25, 2026
dsh plugin --profile web add @ai-eks/dsh-docking-layout

