DSH Hub

tsingshitao-nuke/dsh-set-workspace

dsh-set-workspace

UIWeb UI1 GitHub stars· updated 2026-08-22

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-workspace

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-set-workspace DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-set-workspace.svg)](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 dsh CLI 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 wscript hidden-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 /api RPCs.

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.

…

Related plugins