dsh-wo-tmux
Manifest validWorkspace Overview tmux tab: live/frozen/cold session state, one-click terminal attach through tmux-fridge, freeze/snapshot/recover, and workspace-to-session links.
dsh-wo-tmux
A DeepSeek Harness (DSH) plugin: your tmux workflow, wired into the Workspace Overview tab. The plugin knows whether the current workspace's tmux session is live, frozen with tmux-fridge, or resting in cold storage, and one click opens a fresh terminal attached to it: unfreezing or recovering first when needed.
For people who live in named tmux sessions per project and suspend work
mid-thought, this closes the gap between the browser harness and the
console: no more tmux ls, no more remembering which projects are frozen.
What you get
- Pill in the session header: shows the workspace's tmux session and its state; clicking opens a terminal attached to it (attach, unfreeze, or recover, per state). Hidden for workspaces without a session, or via a toggle in Granular Settings.
- Tmux subtab in Workspace Overview, in two panes:
- Session (default):
- a status card: session name, state chip, how it was resolved (explicit link or name convention), attached clients and windows;
- actions per state: open console, snapshot to cold storage, freeze (with a confirmation; freezing kills the live session), recover, clean snapshot (also confirmed);
- linking: pin the workspace to any session name (grouped by live, frozen, cold storage), unlink, or create a new session (pre-filled with the workspace basename, auto-linked, opened in a terminal).
- All sessions: every session the machine knows about, grouped by store: live sessions (open console, freeze, snapshot), frozen sessions (unfreeze), and cold-storage snapshots (recover, clean). Freezing any live session from this pane is how a project gets parked without leaving the harness.
- The tab polls while it is open: after an action (unfreeze hands off to a terminal and returns before tmux settles) the state chips catch up on their own, no page switching needed.
- Session (default):
- Workspace-to-session links survive reboots in
~/.dsh/settings/wo-tmux.json, so colliding basenames (two projects namedapi) stay unambiguous.
How it resolves a workspace to a session
First match wins:
- an explicit link from the link store;
- a tmux session named like the workspace's basename, looked up in the live server, the frozen list, then cold storage;
- nothing (the tab invites you to create or link).
How it talks to tmux
The host half shells out to the tmux and tmux-fridge CLIs with
argument arrays only (no shell interpolation). Open runs the fridge
command bare: tmux-fridge detects and launches the terminal for the attach
itself and exits, so wrapping it would only flash a window that dies the
moment the handoff happens. Only create needs a terminal from us (plain
tmux new-session cannot spawn one): $TERMINAL picks the emulator;
without it the plugin probes kitty, alacritty, wezterm, gnome-terminal,
x-terminal-emulator, and xterm, and detaches the session when none is
found. The TMUX_FRIDGE_BIN environment variable overrides the fridge
binary location. Storage formats are never read directly: the CLIs are the
contract, so tmux-fridge can change its layout freely.
How to install
Requires a DeepSeek Harness checkout and a profile, here web. tmux
and tmux-fridge must be on PATH. Clone the dependencies and this plugin
into a plugins folder:
mkdir -p ~/dsh-plugins && cd ~/dsh-plugins
git clone https://github.com/joao-paulo-santos/dsh-workspace-overview.git
git clone https://github.com/joao-paulo-santos/dsh-wo-tmux.git
# from the harness checkout
pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-workspace-overview
pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-wo-tmux
# verify the profile still composes
pnpm dsh --profile web --dump-config
Restart the harness; the Tmux tab appears in Workspace Overview and the pill appears on sessions whose workspace has a session.
Dependencies
- dsh-workspace-overview hosts the subtab and the pill (required; without it the client half stays inactive)
- the
tmuxbinary on PATH (session listing and creation) - the
tmux-fridgebinary on PATH (frozen/cold storage and the attach actions); without it the tab still shows live state and a clear "not on PATH" note - a terminal emulator:
$TERMINALor one of the probed ones; without any, open and create fall back to detached sessions where possible
Plugins dependent on this
(none)
Limitations
- The plugin never embeds a terminal in the browser; it spawns a real terminal window. That is the point.
- One terminal window per click. Attaching twice to the same session is normal tmux and stays your business.
- Name detection covers one session per workspace; many-to-many setups (several sessions for one project) are out of scope, though linking picks the one you care about.
Comments
Loading…
Similar plugins
by Aeroscis
Temporary task mode for DeepSeek Harness (dsh) — one-click disposable working dir + session, no long-lived workspace bound.
★ 0
MIT
JavaScript
Oct 1, 2026
dsh plugin --profile web add @aeroscis/dsh-temptaskby Wzh0718
Minimal DSH Web transcript toggle: hide thinking, tool-call, and turn-process rows from the session header while preserving assistant answer text.
★ 0
JavaScript
Sep 10, 2026
dsh plugin --profile web add dsh-minimal-transcriptby ArcaneOrion
DSH terminal front door: a pi-tui workbench with layered messages, file-edit pane, permission presets and hot-swappable themes
★ 0
JavaScript
Oct 2, 2026
dsh plugin --profile web add @arcaneorion/dsh-tuiA full-screen terminal workbench for DeepSeek Harness with a durable assistant, workspace-grouped project sessions, transcript-only scrolling, and structured thinking, tool, diff, plan, and subagent v
★ 0
↓ 211/wk
dsh plugin --profile web add @lk251066/dsh-tuiTake control of your tmux panes: list/send-keys/capture, run long jobs in a pane with watch mode, and approval-gated destructive commands.
★ 0
dsh plugin --profile web add @dsh-tmuxctl/bundleby jing-hy
Project/task dual-mode workspaces for DSH: a task skips the workspace picker and gets a fresh scratch directory (D:\dsh_working\<name>-<timestamp>) per conversation, Codex-style; no-workspace sessions
★ 0
↓ 126/wk
MIT
JavaScript
Aug 18, 2026
dsh plugin --profile web add dsh-task-runner