DeepSeek Harness Plugin

SpookySandwich/dsh-plugin-no-workspace

Stars ★ 3 Downloads (30d) 1,405 Category Sessions & Messages Added 2026-08-24 npm dsh-plugin-no-workspace

Start and detach standalone chats without a mandatory workspace, keeping DSH's native workspace UI intact.

Install

# from npm (prebuilt)

dsh plugin --profile web add dsh-plugin-no-workspace

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:SpookySandwich/dsh-plugin-no-workspace

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

No Workspace for DSH

Let a conversation stand on its own instead of forcing it into a folder.

English · 简体中文

CI

True first-class workspace-free conversations for DeepSeek Harness, without replacing its native workspace experience.

No Workspace demo

Choose “No Workspace”, then collapse the real workspace—the standalone conversation remains directly in the sidebar.

What it fixes

DSH normally places every conversation in a workspace, or renders unassigned conversations under an extra “Ungrouped” folder. This plugin makes “not attached to a workspace” a real first-class state: standalone conversations appear directly in the sidebar, without a synthetic folder and without silently inheriting the active workspace.

Scenario With this plugin
Click the global New Session button Creates a standalone conversation without inheriting a workspace
Choose No Workspace in the native picker Detaches the current conversation without losing history
Collapse a real workspace Standalone conversations remain visible at the top level
Open an empty standalone conversation Composer, model picker, attachments, and send are immediately available
Use native workspace features Search, menus, drag-and-drop, sorting, archive, and directory selection remain intact

Install

dsh plugin --profile desktop add dsh-plugin-no-workspace

Install from a local checkout or package:

dsh plugin --profile desktop add ./dsh-plugin-no-workspace
# or
dsh plugin --profile desktop add ./dsh-plugin-no-workspace-1.2.1.tgz

Restart DSH after installing or upgrading so both host and client code reload.

Design principles

  • Keep the native sidebar — adapt the shared creation action while retaining DSH's components and shortcut dispatch.
  • Never invent a folder — hide only the synthetic “Ungrouped” container; real workspaces retain their native structure.
  • Preserve conversation data — detaching updates only workspace indexes, keeping events, drafts, and context intact.
  • Use a neutral working directory — new standalone conversations start from the user's home directory.
  • Respect the current language — the UI follows DSH with “No Workspace” or “无工作区”.

How it works

The host adds small endpoints for standalone creation and lossless detaching. The client changes only three behaviors: global session creation, the composer gate for standalone sessions, and the native workspace picker. Icons, disclosure arrows, menu placement, and session rows continue to use DSH's native layout and interactions.

Verification

npm ci
npm test
npm run check:package

Automated tests cover host behavior, the DSH 0.2 navigation contract, and persistence. npm run test:e2e creates and removes its own temporary Web profile and headless browser. It checks real session creation, the native Web shortcut, explicit workspace selection, draft transfer, and detachment. Set DSH_QA_MODULES to an official DSH 0.2.0-rc.2 node_modules directory if it is outside this checkout; set DSH_QA_BROWSER to a Chromium/Edge executable if needed. Windows CI runs this test. Results are written to scratch/e2e-current/. No existing DSH profile is used.

Compatibility

Version 1.2.1 (current source): Adapt shared uiWorkspace.startSession for sidebar, title-bar, and native shortcut actions. Resolve the current conversation from main-view retention and restore native navigation when the plugin unloads.

Version 1.2.0: Update the declared host target to official dsh 0.2.0-rc.2. Session creation still goes through the native Session Controller, and detach still calls workspace.detachSession.

Version 1.1.0: Create durable standalone chats through the native Session Controller. Adapt sidebar component props instead of cached injection results, including the split workspace sidebar.

The declared host range is >=0.2.0-rc.2 <0.3.0-0; official dsh 0.2.0-rc.2 satisfies it. Keep the previous plugin release on older DSH. Validation record.

Install published versions from npm. To test the current source, run npm ci and npm pack, then dsh plugin --profile desktop add ./dsh-plugin-no-workspace-1.2.1.tgz. See the release procedure for publication checks.

This release targets DSH 0.2.0-rc.2. Run npm ci, npm test, and npm run check:package to verify the build and package. Restart DSH after updating.

Version 1.1.0 checked standalone persistence and workspace detachment on DSH 0.1.5-rc.2. Automated tests cover client loading.

License

MIT © SpookySandwich

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.