Foreword

DeepSeek Harness (DSH) extends its capabilities through plugins. When the development environment is deployed inside a WSL distribution, directly mounting a Linux directory in the Web workspace sidebar can avoid frequent terminal switching and provide a unified development experience.

Plugin Overview

wepar1212/dsh-wsl-workspace is a standalone out-of-tree bundle for DeepSeek Harness. It provides a manual WSL toggle, distribution selector, and Linux directory browser in the Web workspace sidebar. After installation, the selected WSL directory is mounted as a standard DSH workspace, and the Agent’s bash commands are automatically executed in the corresponding directory through wsl.exe.

Core Features

  1. Disabled by default: WSL access is disabled by default and only takes effect after the user manually enables it.
  2. Automatic discovery: Automatically lists the WSL distributions installed by the current Windows user.
  3. Path support: Supports browsing directories or entering absolute Linux paths such as /home/user/project.
  4. Path mapping: Creates a standard DSH workspace using the \\wsl.localhost\<distribution>\... path returned by the Host.
  5. Component integration: The Host, Web Client, Typert Remote, and bundle patch are all included in a single npm package.
  6. Automatic routing: Bash commands in WSL workspaces are executed directly using wsl.exe, without relying on DSH’s Win32 PTY detection.
  7. Zero dependencies: There is no need to install VS Code Server inside WSL; bash in the distribution is sufficient.
  8. Non-intrusive: It does not modify DSH source files.

Installation and Enablement

Go to the DSH source root directory and run the following command to install the plugin:

pnpm dsh plugin --profile web add github:wepar1212/dsh-wsl-workspace

After restarting DSH, find the WSL button at the bottom of the sidebar, manually turn on the toggle, and select the distribution and directory.

Usage Instructions

After installing and restarting DSH, switch to the Web workspace. Click the WSL button at the bottom of the sidebar:
1. Enable the WSL feature.
2. Select the target distribution (for example, Ubuntu).
3. Browse a directory or enter a Linux path.
4. Once you enter that workspace, all of the Agent’s bash commands will run in the selected Linux directory.

Notes

  • Runtime environment: Only DSH running on a Windows host and able to invoke wsl.exe is supported.
  • Permission risk: After enabling a WSL workspace, Agent commands run in a Linux environment, and the Windows sandbox cannot restrict these commands. Enable this feature only for trusted projects.
  • Operation limits: Currently, only directory selection is supported; creating, renaming, moving, or deleting files inside WSL is not supported.
  • State isolation: Each command independently invokes wsl.exe and does not preserve shell environment variables or interactive state.
  • Update method: After source updates, rerun pnpm build and restart DSH.

Conclusion

This plugin integrates WSL directories into the Web interface through the standard DSH workspace protocol and is suitable for scenarios where Rust, Node.js, or Python development is performed inside WSL.

GitHub Repository | Plugin Directory