Introduction¶
When developing agents on Windows using DeepSeek Harness (DSH), a common approach is to operate in two separate worlds: DSH runs on the Windows side, while the toolchain and project code reside within WSL. To allow the agent to actually execute commands and read/write files in the Linux environment, the traditional method often requires installing another copy of DSH inside WSL, or manually switching paths and terminals. This process is cumbersome and can easily disrupt context.
dsh-wsl-workspace takes a different path: by adding a WSL workspace from the DSH Web interface, the entire agent session’s bash and file tools operate within the selected WSL distribution. Paths are unified in Linux format, and there is no need to install DSH inside WSL. This article introduces the positioning, capabilities, and usage of this plugin.
What Is It¶
dsh-wsl-workspace is a community-maintained DSH client plugin. The maintainer is 6Mikao9, the current version is 0.3.1, and it is licensed under MIT. It is categorized as a “Client” plugin in the SkillHub community directory and has approximately 35 stars on its GitHub repository.
In one sentence: It allows you to “Add WSL Workspace” within the DeepSeek Harness Web GUI, enabling the agent session’s bash commands and read/write/edit file operations to run inside the local WSL distribution. The experience is similar to VS Code Remote-WSL, but without needing to install any DSH components or toolchain inside WSL.
Core Features¶
Add WSL Workspace from GUI¶
After installing and restarting dsh web, a W button will appear next to “Settings” at the bottom of the sidebar. Clicking it opens the “Add WSL Workspace” dialog: select a distribution, browse the directory tree, or enter a Linux absolute path (e.g., /home/me/proj). You can use “Check” to verify the path exists, then click “Create and Open” to start a new session.
Entire Session Runs Inside WSL¶
In the new session:
- bash tool executes commands within the selected WSL distribution. The paths seen by the model are all in Linux format.
- File tools (
read/write/edit) read and write files within the WSL filesystem. - Mode selector works as usual: Standard, PTC, Minimal, Creative, etc., modes automatically map to corresponding WSL variants (selector entries are bilingual, e.g.,
WSL · Standard mode (标准模式)).
Simultaneous Access to WSL and Windows¶
bash executes within the WSL distribution; Windows files are still accessible via /mnt/<drive_letter>, such as /mnt/c/Users/.... Files from both systems can be accessed as needed within the same session.
Optional Linux Username¶
The “Username” field in the dialog is optional: if left blank, it runs with the distribution’s default user; entering a Linux username is equivalent to wsl.exe -u <username>, affecting only the bash runtime identity. The username for each workspace is saved in <dshHome>/wsl-workspaces.json.
Installation and Enablement¶
Choose one of the following methods to install, then restart dsh web:
# 1) npm package
dsh plugin --profile web add dsh-wsl-workspace
# 2) GitHub repository (includes pre-built lib/, no local build needed)
dsh plugin --profile web add https://github.com/6Mikao9/dsh-wsl-workspace
# 3) Local directory (for development/personal use)
dsh plugin --profile web add D:\path\to\dsh-wsl-workspace
After restarting, the W button should appear next to “Settings” at the bottom of the sidebar.
Typical Usage¶
After completing the installation steps, follow this process to add and open a WSL workspace:
- Click the W button at the bottom of the sidebar to open the “Add WSL Workspace” dialog.
- Select a WSL distribution (e.g., Ubuntu) from the dropdown menu.
- Browse the directory tree or directly enter a Linux absolute path, e.g.,
/home/me/proj; click “Check” to verify the path exists. - (Optional) Enter a Linux username; if left blank, the distribution’s default user will be used.
- Click “Create and Open”, and the new session will start within WSL.
Once the session is running, you can have the agent perform standard development operations under the WSL path, such as viewing project structure, running build commands, or editing source files. To access files on the Windows side, use paths in the /mnt/c/... format.
Behavior and Permissions¶
It is recommended to understand the two execution paths for bash and file tools before installation to avoid misconceptions about permission boundaries.
bash Tool
- Runs inside the WSL distribution with the configured username (usually
rootif left blank), with read/write access to any path within the distribution. - Windows ACL sandbox cannot wrap
wsl.exe(subprocesses run on the Linux kernel side). WSL itself is the isolation boundary, and DSH file policies do not apply to bash.
File Tools (read/write/edit)
- Accessed via the Windows-side WSL 9P share, subject to DSH file policies.
- Under
workspace-writepolicy: reads can reach any location, but writes are limited to the session workspace; changing todanger-full-accessallows writes outside the workspace as well. - Username settings do not affect file tools.
Other
- When the distribution is not yet started, the localhost port forwarding hint printed to stderr by
wsl.exe(which may appear garbled) can be ignored; it does not affect usage.
Use Cases and Considerations¶
Who Is It For
- Developers using DSH on Windows but with project code, build tools, and runtime environments located in WSL.
- Users who want the agent to work directly under Linux paths without installing DSH again inside WSL.
- Scenarios requiring simultaneous operation of WSL project directories and Windows-side files in the same session.
Pre-Installation Notes
- The plugin runs with the permissions of the current
dshprocess. Before installation, you should review the source code on the GitHub repository and the MIT license (including attribution in NOTICE). - Requires WSL to be installed and configured, with the target distribution launchable via
wsl.exe. - This plugin is for the DSH Web client (
--profile web). After installation,dsh webmust be restarted for it to take effect.
SkillHub is the DSH community plugin directory, not officially affiliated with DeepSeek or High-Flyer. Plugins follow DSH’s “everything is a plugin” ecosystem philosophy and are independently maintained by the community.
Links¶
- Community directory page: https://www.skillhub.cn/plugins/6Mikao9/dsh-wsl-workspace
- GitHub repository: https://github.com/6Mikao9/dsh-wsl-workspace