dsh-workspace-plus: Multi-Directory Label Mapping for DeepSeek Harness Workspaces
sen70s/dsh-workspace-plus
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
dsh plugin --profile web add dsh-workspace-plus- Category
- Development & Operations
- Platform
- DSH Plugin
- Author
- sen70s
- Distribution
- Plugin
dsh-workspace-plus Key Features
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_dirstool: 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.
