Preface

The Web GUI of DSH uses workspaces and sessions as its fundamental operating units. When developers need to work on multiple branches in parallel, or want to view “main worktree, branch worktrees, and sessions” together in the same sidebar, the standard workspace list becomes insufficient.

Below introduces dsh-worktree-panel. It is a Git worktree and branch management panel for the DeepSeek Harness Web GUI.

What is this

dsh-worktree-panel is a DSH plugin maintained by HeathHe, licensed under MIT.

Its purpose is to extend the workspace sidebar in the DeepSeek Harness Web GUI, organizing projects, the main worktree or branch worktrees, and sessions into a clearer management hierarchy, while preserving the original workspace interaction methods.

Core Features

  • Displays the main worktree, current branch, clean/modified status, and associated branch worktrees within project groups.
  • Allows starting sessions within a worktree, deleting worktrees, and switching the main worktree branch.
  • Creates worktrees for existing branches, or creates new branches along with their corresponding worktrees.
  • For non-Git folders, sessions can be started directly; the project operations menu provides Initialize Git and enable worktrees.
  • By default, stores worktrees under the project directory:
<project>/.dsh/workspaces/

A custom global directory can also be configured.

  • Detects and migrates existing worktrees when the storage location changes; the migration process skips worktrees with uncommitted changes or active sessions.
  • Retains the default session workflow for non-Git workspaces, with an optional capability to add Git/worktree initialization.
  • Provides a standalone Worktree settings page via settings.section.
  • Supports current Host description store and home-directory path abbreviation.

Installation and Enabling

First, install the plugin:

dsh plugin --profile web add dsh-worktree-panel

After installation, restart dsh web. Once restarted, the worktree hierarchy will appear in the workspace sidebar.

Installing a Specific Version

If you need to use a specific version, such as 0.1.5:

dsh plugin --profile web add dsh-worktree-panel@0.1.5

Upgrading the Plugin

To upgrade, use the corresponding version number:

dsh plugin --profile web add dsh-worktree-panel@<version>

After the upgrade is complete, restart dsh web.

Local Development

If you have the dsh-worktree-panel source code directory locally, you can load it using the link: method:

dsh plugin --profile web add link:/absolute/path/to/dsh-worktree-panel

Client Build

lib/client.js is generated by lib/build.mjs based on the browser bundle from @deepseek-ai/dsh-client-ui-workspace. The build process verifies the upstream package version and records it in the header of the generated file.

To specify a particular upstream bundle file, you can use:

DSH_WORKSPACE_BUNDLE=/absolute/path/to/client.js npm run build

Compatibility

According to the documentation, the plugin has been tested in the following versions:

DSH Desktop 2.0.3 / DeepSeek Harness 0.1.1-rc.2

The DSH peer dependency range is:

>=0.1.1-rc.2 <0.2.0

Use Cases and Considerations

  • Suitable for developers who need to manage multiple Git worktrees in the DeepSeek Harness Web GUI.
  • Ideal for scenarios where you want to view branches, worktrees, and sessions in the same sidebar.
  • Fits the workflow of starting sessions in non-Git folders first, with the option to initialize Git and worktrees later.
  • The plugin runs with the permissions of the current dsh process. Before installation, you should review the source code, LICENSE, and NOTICE.
  • lib/client.js is derived from @deepseek-ai/dsh-client-ui-workspace. Relevant declarations can be found in the repository’s NOTICE and LICENSE.
  • This material does not provide star count, categories, and independent directory URL, so these fields are not included here.

Resources

GitHub:

https://github.com/HeathHe/dsh-worktree-panel

Plugin directory page: This material does not provide an independent directory URL. You can search in your own DSH plugin directory:

dsh-worktree-panel