DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-workspace-split

m

dsh-workspace-split

Discovered★ 4

DSH (DeepSeek Harness) plugin: a split grid of live sessions, each cell typable - watch several projects at once

dsh-workspace-split

npm license DeepSeek Harness

English · 中文说明

Keep several live sessions of DeepSeek Harness side by side and type in any of them. Built for supervising several projects at once: you see every session's progress on one screen instead of clicking through tabs.

What it does

  • A grid of live sessions. Rows and columns are yours to choose, up to 5 × 6. Each tile holds a running session with its full transcript.
  • Every tile is typable, attachments included. Each cell has its own composer; paste, drop, or pick a PNG / JPEG / WebP / GIF, or attach any other file through the + menu. Uploads are staged through ctx.fileUpload and sent as file parts with the text. The split layout never changes on its own.
  • Model, reasoning effort, and access mode per tile. The seat under the composer reads the same Session projections and Remote catalogs as Chat, and writes through session.selectModel / /permission <preset>; switching to full access asks for the same risk confirmation.
  • Slash commands and @ references. A /command line runs through session.command without spending a turn, and @ lists files and sessions through the public reference providers before inserting the same plain-text token Chat uses.
  • Approvals and questions answer in the tile. An approval or ask_user_question waiting on that Session replaces the composer with a compact card; answering calls the same pending object Chat's panel uses.
  • Context occupancy. The footer shows the same projected / window token reading as Chat, and hides itself when the projection is absent.
  • Session or project per tile. Pin one session, or pin a project and switch between that project's sessions inside the tile.
  • Real-time status. A dot on each title shows whether the session is working.
  • Density that follows the tile. Narrow tiles shrink their text automatically so a small cell still shows a useful amount; Ctrl + wheel over one tile changes that tile alone.
  • Markdown and math. Tables, code, task lists, and TeX rendered with KaTeX.
  • The process, not just the answer. Reasoning and tool calls fold into one per-turn process group with its elapsed time, a tool call marks itself running until its result arrives, and a status line names what the session is doing. A failed turn shows the provider error instead of ending in silence; with an empty draft the send seat becomes Stop.
  • Queue, steer, remove. Prompts queued behind a running turn are listed above the composer with Steer and Remove, matching Chat's QueueDock.
  • Tool calls you can open. Arguments and output inline, failures marked.
  • Turn rail. Ticks down the right edge jump between turns, including turns not loaded yet.
  • Layout survives restarts. Grid, assignments, and per-cell zoom are restored.

How sessions are wired

Sessions come from the public ctx.sessions API (list, retain, the event source), and input goes out through session.prompt. Each tile's transcript, Markdown, tool cards, and composer are rendered by this plugin itself, with styles built on DSH's theme variables and visual rules so they match the app.

Everything DSH-specific is consumed through public services and Remote namespaces — ctx.fileUpload, ctx.uiSession, ctx.remote.session, ctx.remote.permissionPresets, ctx.remote.fileReferences, and ctx.remote.sessionReferenceResolver. test/dsh-contract.test.js asserts those methods and type names against the installed DSH build, so an upstream rename fails a gate with the exact missing symbol instead of silently breaking a tile. Set DSH_CONTRACT_ROOT to check another installation; the test skips when no DSH install is present.

Requirements

  • DeepSeek Harness 0.2.1-rc.2 or newer (desktop or web).
  • Desktop app or dsh web; the same build works in both.

Install

dsh plugin add @metal-huang/dsh-workspace-split

Then restart the app (or reload the web page). The toggle appears at the bottom of the sidebar, next to your account.

Installing from a local checkout
git clone https://github.com/metal-huang/dsh-workspace-split.git
cd dsh-workspace-split
npm install
cd packages/dsh-workspace-split && npm install && npm run build
dsh plugin add "$PWD/packages/dsh-workspace-split"

Use

ActionWhere
Enter or leave split viewLeft-click the ⊞ at the sidebar's bottom
Choose the gridRight-click that same ⊞
Assign a sessionUse a tile's header picker, or drag a session row from the sidebar into the tile
Rename a sessionThe ✎ next to the tile's title
Resize text in one tileCtrl + wheel over that tile
Raise the cell limitSettings → General → Split grid

The cap defaults to 10 cells for the whole screen (12 hard limit per window, both configurable). Six cells fit comfortably; past six, opening more asks for confirmation.

Development

npm install          # repo tooling
npm run check        # lint + duplication + format + tests
npm run build        # rebuild the client bundle
npm run release      # publish a snapshot for the desktop profile

packages/dsh-workspace-split/src/client.js is the source. client.js next to it is generated and not tracked by git — npm install in that package builds it through prepare, and npm run build rebuilds it. Never edit it by hand.

See AGENTS.md for the repository rules and docs/ for the product and design notes.

License

MIT

Comments

Loading…

Similar plugins

dsh-plugin-session-project

by Schrei5

DSH sidebar plugin: show each session's project (Workspace) name under its title in the flat session list

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 30, 2026

dsh plugin --profile web add dsh-plugin-session-project

by n8guru

DSH hook plugin: a session may not stop the harness it runs inside

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Sep 2, 2026

dsh plugin --profile web add dsh-self-preserve

by SLin-code

One installable DeepSeek Harness plugin for managing Workspace → Task → Session collaboration.

Memory & ContextSessions & MessagesManifest valid

★ 3

MIT

TypeScript

Aug 24, 2026

dsh plugin --profile web add dsh-task-notice-board

by liangmianya

A visual, non-linear conversation workspace plugin for DeepSeek Harness ; A canvas-based session explorer and branching workspace for DeepSeek Harness.

UI & ExperienceManifest valid

★ 625

↓ 672/wk

MIT

JavaScript

Oct 30, 2026

dsh plugin --profile web add dsh-synapse

by 439436269-ctrl

DeepSeek Harness plugin: copy a session's log path (and an agent-readable handoff) so another session can read it and continue the work.

Terminal & ClientsSessions & MessagesManifest valid

★ 0

MIT

JavaScript

Oct 9, 2026

dsh plugin --profile web add dsh-session-path

by HugePaint

A DSH (DeepSeek Harness) client plugin: live account balance plus the current DeepSeek billing window (peak / off-peak) in the sidebar footer.

Manifest valid

★ 0

MIT

JavaScript

Oct 20, 2026

dsh plugin --profile web add dsh-balance-chip