DeepSeekSoftwareShipping codeAI score · 78/100AI-assisted edit · no obvious prompt-injection riskGitHub

Install workspace-control to manage, migrate, and rebuild DSH workspaces

Install the plugin in DeepSeek Harness and use the sidebar panel to rebuild, merge, rename, delete workspaces, and move sessions across directories

Some experienceStepsWorkflowTip
Who
DSH users who need to reorganize or migrate workspaces and session directories
You get
A sidebar panel for safely rebuilding, merging, renaming, and deleting workspaces, or moving single sessions to other directories without losing history
You need
DeepSeek

Constraints

Prerequisites: DeepSeek Harness (DSH) installed with CLI access. Requires plugin_manager and cordis_inspect_query privileges. Install from npm or local checkout. Remove older names (dsh-workspace-remaker or dsh-workspace-manager) if present. Note: sessions in running (mid-turn) or open (held by the app) state block rebuild, merge, and delete.

What they did

The author developed and published the dsh-workspace-control plugin, providing a workspace management panel for DeepSeek Harness. The panel rebuilds, merges, renames, and deletes workspaces, and moves single sessions across directories through DSH's supported persistence seam without editing committed session bytes.

How it went

Author report: the plugin supports safe session migration (preserving session id, title, history, tool calls, and approvals) and previews occupancy states (running/open) before operations. On failure, it rolls back (e.g., sessions already moved during a rebuild are rolled back to the old directory). After moving, it updates cwd in the header via a successor artifact and repairs the workspace registry index.

Worth knowing

1. Moving a session does not move files on disk; only the recorded working directory changes. 2. Nested workspaces are legal in current DSH builds; the plugin only refuses targets that cannot host a workspace (missing, not a directory, not writable). 3. Sessions in an older format report migration-required; open them once for DSH to upgrade before moving. 4. A forked session keeps its parentSession link; the parent stays in place, so move parents first if you want the whole tree in one directory. 5. Moves are refused while a session is running; stop it, move it, then reopen. 6. An open-but-idle session: the plugin now releases the idle holder first (#releaseHeld) and only refuses if release fails. 7. Delete removes only the record; the directory and session files remain on disk, and sessions are archived for easy recovery. 8. The plugin never edits committed bytes; it publishes a successor through sessionPersistence, preserving the store's no-rewrite rule. 9. If attachSession is refused due to cached index (e.g., session open in a tab), the move is recorded as pending and settles automatically on next start. 10. The panel offers a Restart DSH button to release held sessions; desktop uses a temp cmd script, Electron browser build uses app.relaunch(), and other environments show restart-unsupported. 11. The host half supports hot-reload via plugin_manager without restarting DSH; the client half refreshes with the page.

Steps

  1. Install the plugin

    Run the install command in the DSH environment. For the npm package, use the default command; for a local checkout, use plugin_manager install_bundle with the target directory. Verify the loader row with cordis_inspect_query. If an older version exists (formerly dsh-workspace-remaker or dsh-workspace-manager), remove it first with plugin_manager remove_bundle.

    Setup guidance · Source text。DSH CLI terminal

    dsh plugin --profile web add dsh-workspace-control
  2. Open the Workspace Manager panel

    After installation, find the Workspaces icon in the DSH sidebar panel row and open the central panel. The panel shows a card grid for each workspace with a status dot, name, canvas path, activity badges, and four action buttons.

  3. Perform management actions

    Use the panel to perform the desired operation on a workspace or session: - Rebuild: pick a new directory for the whole workspace; all sessions move with it and the old record is removed once empty. - Merge: pick other workspaces; their sessions move into this workspace's directory and source records are dropped when empty. - Rename: change only the sidebar title; the directory is untouched. - Delete: remove the workspace record; sessions are archived first and the directory stays on disk for later re-addition. - Move session: from a session row's "..." menu, pick a target directory; the workspace is created if it does not exist. Before any action, the panel shows occupancy: running (mid-turn) or open (app holds the log). These block rebuild, merge, and delete, and the held sessions are named in the row.

  4. Verify installation and troubleshoot

    After installation, run verification commands: 1. cordis_inspect_query Config.listConfigs name=dsh-workspace-control — confirm the loader row exists and the bundle applied. 2. cordis_inspect_query Slots.listSubTree root=sidebar.panellist — confirm the sidebar button (id=workspace-control). 3. cordis_inspect_query Slots.listSubTree root=main — confirm the panel registered (id=workspace-control). 4. cordis_inspect_query Slots.listSubTree root=sidebar.workspaces.session.menu.item — confirm the session menu item registered. You can also run the offline script node .scratch/smoke.mjs to check refusal paths and boot self-heal. If an operation is refused, check .workspace-control.log first.

Prompt you can copy

Reference prompt · Editorial suggestion。Confirm the destination, input variables and output format before use.

This block is the prompt. Ads are never placed here.

No prompt needed — just follow the steps.

Open the panel from the sidebar icon after installation; no additional prompt is required.

Source

安装 workspace-control,管理/迁移/重建 DSH 工作区 · QIUZAIYOU · GitHub · 2026-10-31T08:56:21Z

Comments & feedback

Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.

Loading…

    Related