metal-huang/dsh-workspace-split

dsh-workspace-split

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

Uncategorizedcordiscordis-plugindashboard

dsh-workspace-split

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. Each cell has its own composer; the split layout

never changes on its own.

  • 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.
  • 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.

It does not reimplement the conversation UI

Session rendering, concurrent live sessions, and progress signals are DSH capabilities. This plugin adds two layers: layout arrangement and marking the active tile. It reads sessions through the public ctx.sessions API.

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

Action · Where Enter or leave split view · Left-click the ⊞ at the sidebar's bottom Choose the grid · Right-click that same ⊞ Assign a session · Use a tile's header picker, or drag a session row from the sidebar into the tile Rename a session · The ✎ next to the tile's title Resize text in one tile · Ctrl + wheel over that tile Raise the cell limit · Settings → 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