Introduction¶
DeepSeek Harness (DSH) uses a plugin-based architecture aimed at enhancing core functionality through extension components. When developing in a Windows environment, developers often need to switch frequently between Windows-native tools and Linux dependencies. This typically involves opening multiple windows or sharing context, which reduces operational continuity. The dsh-wsl-native plugin addresses this scenario and attempts to enable Windows and native Linux environments to coexist and interoperate within the same DSH desktop window.
Plugin Overview¶
dsh-wsl-native is a client plugin maintained by Han-1413141. It allows a DSH window to host two conversation environments: Windows and native Linux. It supports environment switching, flag management, and bidirectional system interoperation. The plugin is compatible with DeepSeek Harness 0.2.0-rc.2 and later.
Core Features¶
The plugin achieves environment isolation and collaboration through resident process communication. Its main capabilities include:
* Process Reuse and Environment Isolation: Reuses resident worker processes on Windows and Linux. Concurrent commands each use explicit working directories and environment variables.
* Bidirectional Execution: Supports running Bash commands, PowerShell commands, or program argument arrays bidirectionally. Timeouts and cancellation operations correctly reclaim the corresponding child process trees.
* Native Filesystem Operations: Provides native directory listing, paginated reading of UTF-8/GB18030 text, and atomic writes. It preserves symbolic links and supports SHA-256 conflict checks for stale files.
* File Transfer: Copies binary files chunk-by-chunk between both sides, commits after SHA-256 verification, and automatically cleans up temporary files if interrupted.
* Path Conversion: Automatically converts drive letters, Linux paths, and WSL UNC paths, using the actual wslpath command from the distribution.
* Task Management: Supports starting, viewing, and canceling background tasks. Tasks owned by a session are reclaimed when the connection ends.
* Clipboard and Interaction: Supports opening files, directories, and web pages on Windows, as well as reading and writing the text clipboard.
* Independent Linux DSH: Allows installing, starting, and stopping independent Linux DSH instances. Multiple launchers using the same data directory are mutually exclusive.
* Session Persistence: Saves users, working directories, and recent projects per environment. The session is restored when entering a project, and in-flight commands and tasks remain pinned to their original environment.
Installation and Enablement¶
Before installation, ensure that the system has Windows installed, a WSL 2 distribution (such as Ubuntu) installed, and Node.js accessible on both sides. The Node.js version must be 22.19+ or 24+. The Linux side must use a Linux Node.js runtime.
Add the plugin using the official installation command:
dsh plugin --profile desktop add https://github.com/Han-1413141/dsh-wsl-native/releases/download/v0.7.0/dsh-wsl-native-0.7.0.tgz
After installation, look for the WSL and Windows entry in the desktop client configuration. If it is not visible in the current window, quit DSH and reopen it. This command supports both desktop and web configuration profiles.
Typical Usage¶
The plugin provides tool interfaces prefixed with wsl_native_, which can be invoked directly in conversation:
-
Execute a command: Run a project check in a specified directory on Ubuntu.
> Usewsl_native_execto run a project check in/home/codex/projecton Ubuntu, and return the exit code and error information. -
Copy files: Transfer files between Windows and Linux, with support for skipping overwrites.
> Usewsl_native_copyto copy/home/codex/project/report.pdffrom Ubuntu toC:\Users\me\Desktop\report.pdf. Do not overwrite the file if it already exists. -
Cross-environment query: Access Windows resources from the Linux environment.
> The current DSH is running inside WSL. Use the Windows target ofwsl_native_execto query the Node.js version on Windows.
Applicable Scenarios and Considerations¶
- Applicable Scenarios: Suitable for developers who need to use the Windows toolchain and Linux development environment simultaneously in the same window, especially for Node.js cross-platform development, WSL dependency builds, or hybrid environment deployment.
- Considerations:
- This project is an independent community plugin under the MIT license. It is not an official product of DeepSeek or Microsoft.
- The Linux side must use a Linux Node.js runtime and cannot point to
node.exeon a mounted Windows drive. - Environment Inheritance Differences: When running the CLI directly, there is no main DSH configuration context, so it does not automatically inherit the main environment plugins and settings. Launching from the Windows DSH plugin entry point inherits the main environment plugins, settings, and model account by default. Neither entry point copies historical sessions.
- During installation, it is recommended to review the source code and license first to ensure compliance with project usage requirements.
Conclusion¶
The dsh-wsl-native plugin reduces the interaction cost of switching between Windows and Linux environments by reusing resident processes and native interfaces. For developers seeking an integrated terminal experience, it provides a practical technical solution. For detailed documentation, verification reports, and source code, refer to the project directory or GitHub repository.