Preface

The plugin system of DSH (DeepSeek Harness) emphasizes “everything is a plugin”. In the Web interface, the default sidebar mainly handles workspace browsing. dsh-workspace-enhance replaces this sidebar with a workspace folder list: each folder expands to show three sub-tabs (Tasks, Files, Git), and provides a right-side file preview panel.

For developers who need to switch frequently between task sessions, file contents, and Git status, this kind of sidebar enhancement allows information to be viewed in the same interface. The Community Directory is an independent site with no official affiliation with DeepSeek or Huanfang; it is not recommended to interpret it as an official app store.

What is it

dsh-workspace-enhance is a DSH plugin, with the repository owner being luis1232023. Its positioning is a sidebar workspace enhancement plugin for the DSH Web interface: it replaces the default DSH workspace browser with a workspace folder list, provides three sub-tabs (Tasks, Files, Git) under each workspace folder, and adds a right-side file preview panel.

It requires node >= 18 and is licensed under MIT. The plugin consists of a client half and a node half: the client half runs in the browser, and the node half runs in the host process. The plugin declares dsh.bundle.patch, which automatically injects a line of plugin configuration into the profile configuration tree during installation.

Core Features

Task List

  • When a workspace folder is expanded, you can see the tasks under that workspace.
  • The task list is sorted by recent updates.
  • Task rows support opening, renaming, archiving, and permanently deleting sessions.
  • “Permanently delete” removes the session log directory directly via the host and is unrecoverable.
  • Folders support creating new tasks, renaming, and deleting workspaces.
  • The top button can be used to add a workspace.

File Tree & Preview

  • The file tree is rooted in workspace folders, supporting lazy loading, directory-by-directory caching, and expanding/collapsing.
  • Hidden files are filtered by default; dot files can be shown or hidden via the toolbar menu.
  • The file list limit is 2000 items.
  • Clicking a file opens the preview panel on the right.
  • Preview supports code syntax highlighting and line numbers.
  • Markdown supports rendering and source code switching.
  • Images can be previewed, and binary files display a placeholder.
  • Large file previews only take the first 512 KB.
  • Raw HTML in source previews is escaped to prevent XSS.

Git View

  • The Git sub-tab provides read-only views for Changes and Graph.
  • It supports branch switching, commit details, and diff syntax highlighting.
  • Git functionality is read-only, covering log, show, status, and branches, with no write operations.
  • A warning is prompted if the Git diff exceeds 256 KB.
  • The sidebar supports search.
  • It supports switching between Workspace View and Tiled List View.
  • It supports sorting and collapsing rail mode.
  • View mode and sub-tab selection for each folder persist.
  • Sub-tabs for each folder have error boundary isolation; when an error occurs, an error message and a retry entry are displayed.

Installation and Enablement

First, execute the add command in the parent directory of the plugin directory. Here, file:./dsh-workspace-enhance indicates using the local directory for installation:

dsh plugin --profile web add file:./dsh-workspace-enhance

After adding the plugin, stop the current web instance and execute the following command to restart for the changes to take effect:

dsh web

After restarting, you can confirm the bundle and configuration tree using the following two commands:

Invoke-WebRequest http://127.0.0.1:3080/plugins/dsh-workspace-enhance/client.js
dsh --profile web --dump-config

To disable the plugin, write the plugin ID and disabled: true in the profile’s cordis.patch.yml:

- id: dsh-workspace-enhance
  disabled: true

Write this and then restart dsh web.

Typical Usage

  1. After starting DSH Web, view the workspace folder list on the left.

  2. Expand a specific workspace folder and select the Tasks, Files, or Git sub-tab.

  3. Click a file in the file tree; the preview panel opens on the right. You can close the preview by pressing Esc or the close button.

  4. In the Git sub-tab, switch branches and view commit details and diffs.

  5. When developing the client half, you can first execute the build or watch command:

npm run build

Or:

npm run watch

Changes to the client half are applied via HMR (Hot Module Replacement); changes to the node half (lib/index.js) require restarting dsh web.

Applicable Scenarios and Notes

Suitable for developers who need to manage workspace tasks, file browsing, and Git read-only viewing simultaneously in DSH Web. If you simply want to replace the default workspace browser with a more structured folder list, this plugin is quite direct.

Before using it, it is recommended to check the source code and the MIT license. The node half of the plugin runs under the permissions of the current dsh process; therefore, do not enable it directly on untrusted directories or plugin packages from unknown sources.

Points to note regarding boundaries are as follows:

  • The node runtime requires node >= 18.
  • Git functionality is read-only and does not perform write operations.
  • Task permanent deletion is unrecoverable.
  • The file list limit is 2000 items.
  • Large file previews only take the first 512 KB.
  • A warning is prompted if the Git diff exceeds 256 KB.
  • The native directory picker may not be available in remote or internal deployments; adding a workspace will fall back to manual path input.
  • pnpm file: dependencies are copied, not symbolic links; the build synchronizes lib to the profile node_modules.

Links

  • GitHub Repository: https://github.com/luis1232023/dsh-workspace-enhance
  • Plugin Directory Link: https://www.skillhub.cn/plugins/luis1232023/dsh-workspace-enhance