tsingshitao-nuke/dsh-set-workspace
dsh-set-workspace
DSH web plugin: a Codex-style file tree with right-click "Set as workspace" on folders.
Install
npx @deepseek-ai/dsh plugin --profile web add github:tsingshitao-nuke/dsh-set-workspaceRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-set-workspace)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from tsingshitao-nuke/dsh-set-workspace, cleaned of badges and images.
dsh-set-workspace
Adds a Windows File Explorer context menu entry: right-click a folder and pick "Open DSH Workspace Here" to register it as a DSH workspace, start a session in it, and switch the DSH page to that workspace.
Unofficial community project. Not affiliated with or endorsed by DeepSeek.
What it does
- Right-click a folder in File Explorer, then choose Open DSH Workspace Here.
- If DSH is not running, the bridge launches it — the Desktop app, or the official
dshCLI in npm installs; if it is running (even minimized or in the background), the DSH window is restored and brought to the front. - The folder is registered as a workspace (idempotent) and a session is started in it.
- The DSH page switches to the new workspace automatically (the client half watches for the session and opens it — no page reload).
- If you view DSH in a regular browser instead of the Desktop window, install with
--browser; the bridge then focuses the browser page. - Menu label and dialogs follow the OS UI language (Chinese / English).
- The action runs through a
wscripthidden-window launcher, so no console window flashes. - The menu item uses the DSH whale icon.
- No new storage, schema, or tools — it reuses the core workspace registry and the existing
/apiRPCs.
Install
Requirements: Windows, Node.js >= 20 on PATH, and a DSH installation — the DSH Desktop app or the official CLI (npm i -g @deepseek-ai/dsh). The bridge launches DSH automatically when it is not running; it discovers the launch path from a runtime file that DSH writes, so run DSH once before the first use.
One-liner (PowerShell 5.1+ / pwsh):
irm https://raw.githubusercontent.com/tsingshitao-nuke/dsh-set-workspace/main/scripts/install.ps1 | iex
Git Bash / WSL:
curl -fsSL https://raw.githubusercontent.com/tsingshitao-nuke/dsh-set-workspace/main/scripts/install.sh | bash
Manual install:
# 1. install the bundle
dsh plugin --profile web add github:tsingshitao-nuke/dsh-set-workspace
# 2. register the Explorer context menu (restart DSH first so the host half publishes the port)
node ~/.dsh/profiles/web/node_modules/dsh-set-workspace/bin/install-context-menu.cjs
Remove the menu (keeps the bundle installed):
node ~/.dsh/profiles/web/node_modules/dsh-set-workspace/bin/install-context-menu.cjs --uninstall
How it works
File Explorer right-click
└─ wscript launch-hidden.vbs "%1" (hidden window)
└─ node set-workspace.cjs "<folder>"
├─ reads ~/.dsh/dsh-set-workspace/runtime.json (port + launch command)
├─ launches the DSH Desktop app — boots it when down, and when it is
│ already running the app's own single-instance handler restores,
│ shows and focuses its window (same trick as VS Code "Open with Code")
├─ polls until /api is ready
├─ POST /api/workspace.create { path } (idempotent)
├─ POST /api/session.create { workspaceId, sessionId: "dsw-open-…" }
└─ MessageBox confirmation
The DSH client half watches the session list, opens the "dsw-open-…" session,
and the page switches to the workspace.
…

