Introduction

After running numerous projects on DeepSeek Harness (DSH), the left sidebar’s workspace and session lists accumulate. Visually distinguishing similar workspaces is inefficient; the common workaround is to modify the naming prefix, but renaming affects path resolution and comes at a significant cost.

Below is a lighter solution: l-s-c/dsh-workspace-labels, an unofficial DSH community plugin. It allows you to color-code and tag workspaces and sessions directly within the original three-dot menu in the sidebar, without renaming or altering session content.

What is This

One-sentence positioning: A client-side plugin that organizes the left sidebar workspaces and sessions using colors and text tags.

  • Author: l-s-c
  • Version: 0.6.3
  • License: MIT
  • Nature: Unofficial community plugin

It only organizes sidebar metadata (colors, tag definitions, and assignment relationships). It does not read session bodies, modify project files, or access third-party networks.

Core Features

Implemented capabilities include:

  • Select one of 8 colors directly within the original three-dot menu of a workspace or session, or clear the color.
  • Check, create, and delete tags within the same menu without using a separate popup.
  • Tags are displayed to the right of the name and to the left of the time and action buttons.
  • The workspace three-dot menu retains two original actions: Open Workspace and Copy Workspace Path.
  • The interface switches between Chinese and English based on the DSH language setting.

The boundaries are also clear: it does not read session bodies, modify project files, or access third-party networks.

Installation and Activation

Install the 0.6.3 release package using the official plugin command:

dsh plugin --profile web add \
  https://github.com/l-s-c/dsh-workspace-labels/releases/download/v0.6.3/dsh-workspace-labels-0.6.3.tgz

After installation, restart the current dsh web process and refresh the page. Note that you should not start a second Web instance to avoid listening address conflicts.

Runtime environment requirements: Node ^22.19.0 || >=24.0.0.

Where Data is Stored

Local GUI metadata is persisted to:

~/.dsh/workspace-labels.json

The storage content includes workspace/session colors, tag definitions, and tag assignment relationships.

Why not use settings.yaml? DSH 0.1.0-rc.6’s Web Settings API uses a built-in namespace whitelist, so third-party plugins cannot expose a new namespace on their own. Therefore, the plugin uses its own same-origin Host route for persistence.

A few notable details:

  1. When upgrading from an older version, the plugin migrates old data from the browser localStorage key dsh.workspaceLabels.v1 to the Host; the browser copy is only deleted after the Host successfully writes to disk and returns a confirmation.
  2. If the Host route is unavailable, the browser localStorage copy is retained, ensuring no data loss.
  3. ‘Open Workspace’ is only displayed when the Loopback Host declares canOpenPath; ‘Copy Workspace Path’ uses the browser Clipboard API.
  4. The plugin calls the DSH same-origin Client→Host API and does not send requests to third-party services.

Typical Usage

Click the after the workspace or session name, and the menu will appear directly below:

  • A row of color dots; clicking saves immediately.
  • A ‘Clear’ button to remove the color.
  • A checklist of tags.
  • An input box for new tag names and an Add button.
  • A delete button for each tag on the right.

All operations are completed within the same menu, without needing to switch pages or open popups.

Compatibility and Notes

It is recommended to read this section before installation.

  1. The plugin was developed and tested for DSH 0.1.0-rc.6. This version does not expose an extension slot for the workspace/session three-dot menu; therefore, the menu and inline decorations are implemented using the semantic DOM and CSS class fragments from rc.6. If DSH Developer Preview updates the sidebar structure in the future, the plugin may need to be adapted.
  2. When titles are duplicated and cannot be uniquely resolved, the plugin will refuse to inject the corresponding menu to avoid operating on the wrong object. This is a defensive design.
  3. The plugin runs with the permissions of the current dsh process; you should check the source code and license before installing. The project uses the MIT license; the repository address can be found at the end of the text.

Local Development and Uninstallation

If you want to run the code yourself for modification, follow these steps:

pnpm install
pnpm run check
pnpm run test:pack
dsh plugin --profile web add "link:$PWD"

Uninstall:

dsh plugin --profile web remove dsh-workspace-labels

Similarly, you need to restart the current dsh web process and refresh the page.

Conclusion

Following the steps above, you can add a localized system of colors and tags to DSH sidebar workspaces and sessions without modifying any project files, which is suitable for those managing multiple projects in parallel or handling a large volume of sessions. It should be noted that DSH’s philosophy is “everything is a plugin,” and the community ecosystem is still in its early stages, so it is important to pay attention to version compatibility for plugins that rely on the current DOM structure.

  • Plugin Directory: https://www.skillhub.cn/plugins/l-s-c/dsh-workspace-labels
  • GitHub Repository: https://github.com/l-s-c/dsh-workspace-labels