dsh-workspace-plus: Multi-Directory Label Mapping for DeepSeek Harness Workspaces

sen70s/dsh-workspace-plus

Development & OperationsVerified
Listed on 2026-09-27
Page last updated 2026-10-04

Adds multi-directory label mapping to DeepSeek Harness workspaces, injecting a label-to-absolute-path table into agent context so cross-repo projects need no hand-written paths and edits land in the right files.

dsh-workspace-plus is a DSH plugin that expands a workspace from holding a single directory to registering N labeled directories. Real projects often split the frontend and backend across two repositories with documentation in a third, which used to mean typing absolute paths by hand in every conversation while an agent could easily edit the wrong file when names looked alike. The plugin injects a label-to-absolute-path table into the agent context on every request, so saying 'change the login endpoint in backend to JWT' lands on the right directory. Maintained by Sen70s under the MIT license, it offers three entry points: a directory button on the workspace row, @ references in the input box, and the workspace_dirs tool.

How to Install

install
npmdsh plugin --profile web add dsh-workspace-plus
Category
Development & Operations
Platform
DSH Plugin
Author
sen70s
Distribution
Plugin

dsh-workspace-plus Key Features

Register multiple labeled dirs per workspaceLabel table auto-injected into agent context@ in input inserts a directory path referenceworkspace_dirs tool for list/add/remove/updateToggle for default workspace, off by default
Listed on dsh-plugin.org

dsh-workspace-plus Repo Summary

What Does It Do?

Workspace Plus is a DSH plugin for DeepSeek Harness that turns a single-directory workspace into one that can register N labeled directories. It solves the problem of real projects spread across several repositories, where you had to type absolute paths by hand in every conversation and an agent could edit the wrong file when directory names looked alike. Maintained by Sen70s under the MIT license, it injects a label-to-absolute-path table into the agent context on every request.

Core Features

  • Multi-directory registration: one workspace can hold several directories, each with a label and an optional note that can be referenced directly in conversation.
  • Automatic context injection: the host half registers a runtime-context contribution so the label table reaches the session on every request without a tool call, and returns an empty string when the cwd has no registered directories, adding no token cost.
  • workspace_dirs tool: supports list, add, remove and update actions, defaulting to the current session cwd when workspace is omitted, so the agent can persist or confirm mappings itself.
  • @ references in the input box: typing @ shows the labels of the current workspace and inserts a reference to that directory's absolute path.
  • Default-workspace toggle: the workspace+ settings page offers an opt-in switch for the default workspace, off by default and effective immediately without restart or refresh.
  • Standalone state file: data lives in a plugin-owned JSON file written via temp-file plus rename, and a missing or corrupted file starts as empty configuration instead of breaking DSH startup.

How to Use This Plugin?

After enabling it in DSH, click the directory button on a workspace row to open the dialog and register directories with labels, for example tagging a backend repository as backend and a documentation folder as docs. In conversation you can then say something like "change the login endpoint in backend to JWT", and the agent follows the injected label table to the right absolute path instead of guessing from a similar directory name; you can also ask it to add a new label pointing at a deployment directory and it will persist the mapping through the tool. To enable the feature for the default workspace created on first DSH launch, turn on the switch on the workspace+ settings page, while other workspaces stay enabled; the state file can also be edited by hand and takes effect after a page refresh.

How to Troubleshoot This Plugin?

Detection of the default workspace can fail if it runs before the registry service finishes initializing; in that case the state stays pending and is retried on the next request or tool call rather than caching "no default workspace" permanently. If the state file is corrupted or missing, the plugin starts with empty configuration and does not affect DSH startup, so repair that file as described in the official documentation.

This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: sen70s/dsh-workspace-plus. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.

Install, update, and uninstall this plugin in the Plugin Market of DeepSeek Harness's DSH Plugin Hub

DSH Plugin FAQ