The core design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” By default, DSH’s Web surface runs in a browser. dsh-webview-wrapper is an open-source plugin that uses the WebviewJS engine (WebView2 on Windows, WebKit on macOS, and WebKitGTK on Linux) to wrap DSH’s Web surface into a native operating system window.

This plugin was developed by the maintainer no1xsyzy, follows the MIT license, and aims to serve as DSH’s native desktop shell, providing a native experience without forking or patching the Harness itself.

Core Features

This plugin provides the following capabilities through WebviewJS:

  • Native window and system tray: Creates an OS-native window to host the interface of dsh web.
  • Close to tray: Closing the window does not terminate the process; instead, it hides the process in the system tray, keeping the process alive through an invisible 1×1 window.
  • Tray interaction: Supports opening the window by double-clicking the tray icon, as well as tray menu actions.
  • Clean uninstallation: When the plugin is uninstalled or the profile is closed, the application exits correctly through an effect cleaner.
  • Service integration: Takes over the webServer and webRuntime services through WebviewJS integration.

Installation and Enablement

Installing this plugin requires ensuring that the target profile has already mounted the Web Bundle (i.e., dsh web).

Prerequisites:
* A standard deepseek-harness is installed, and the profile has the Web layer enabled.
* The system meets the WebviewJS runtime requirements (Windows 11/Edge WebView2, macOS 10.15+ WebKit, Linux WebKitGTK 4.1 + libxdo).
* pnpm is installed.

Installation command:

dsh plugin --profile web add dsh-webview-wrapper

After installation is complete, restart DSH to load the plugin.

Typical Usage

  • First launch: After the application starts, the main window is not displayed immediately; instead, it remains in the system tray.
  • Open window: Double-click the tray icon, or select the “Show” option from the tray menu, to open a fixed-size 1024×768 window displaying the Web interface running at http://127.0.0.1:<port>.
  • Exit application: The only standard exit path is through the “Quit” option in the tray menu.

Notes and Limitations

This plugin is currently in an early stage and has the following known limitations:

  • No native notifications: It does not provide native operating system popup notifications.
  • Generic HTTP transport: The webview loads the web application using generic HTTP transport, rather than WebviewJS IPC communication.
  • No menu bar: The interface does not include a top application menu bar; only the tray menu is provided.
  • Console window: When launched from the command line, a console window is displayed, and currently it can only be exited via the tray “Quit”.
  • Fixed window size: The main window size is fixed at 1024×768; custom sizes and titles are not currently configurable.
  • No configuration UI: There is currently no graphical configuration entry.

Summary

dsh-webview-wrapper provides the foundational capability for running DeepSeek Harness natively on the desktop. As part of the plugin ecosystem, it takes over the window lifecycle through a patch layer, making it suitable for developers who want to experience DSH in a native environment rather than a browser. Be mindful of its current functional limitations when using it.

Project address:
* GitHub repository