Preface

The Web GUI of DSH usually runs inside a browser tab. During local development, while checking the running status and editing code in an editor, switching between tabs is often necessary. dsh-pip addresses this scenario: it provides a floating button that moves the current Web UI from a tab to a permanent “Picture-in-Picture” window, and can move it back with one click. Below is an introduction to its positioning, installation methods, configuration options, and usage boundaries.

What is it

dsh-pip is a DSH plugin maintained by extension-hunter with an MIT license. It is installed on the web profile and depends on the webServer service provided by this profile via @deepseek-ai/dsh-host-webserver. When “Independent Window” is clicked, the plugin moves the application’s root node #root, along with styles and themes, into a new window, rather than generating a screenshot.

Core Features

  • One-command installation: The installation command is dsh plugin --profile web add dsh-pip; the package includes a bundle patch and automatically mounts the plugin line.
  • Zero configuration: After restarting dsh web, a floating “Independent Window” button appears in the Web UI.
  • Detach entire application: When the button is clicked, the currently active application #root moves to an always-on-top window along with its styles and themes.
  • Default window size: The window opens by default according to the current tab’s viewport size; you can also fix width and height in the configuration.
  • Return to tab: Closing the window, or clicking “Return to Tab” within the window, brings the application back to the original browser tab.
  • Browser limitations: Requires Chromium 116+, such as Chrome or Edge; the button does not appear in Safari and Firefox.

Installation and Enabling

First, install the plugin:

dsh plugin --profile web add dsh-pip

Then restart dsh web. After opening the Web UI, the “Independent Window” button will appear.

If you need to install a local, unpublished path, you can use:

dsh plugin --profile web add file:/path/to/dsh-pip

Update and remove respectively use:

dsh plugin --profile web update dsh-pip
dsh plugin --profile web remove dsh-pip

Typical Usage

  1. Open the restarted dsh web page.
  2. Click the floating “Independent Window” button.
  3. The application enters an always-on-top window, which can be placed beside the editor for viewing.
  4. Close the window, or click “Return to Tab” in the window.
  5. The application returns to the original browser tab.

Configuration

By default, enabled is true. When width and height are not configured, the window size follows the current tab’s viewport.

If you need to override this, modify the profile configuration file:

~/.dsh/profiles/web/cordis.patch.yml
- id: pip
  config:
    enabled: true
    width: 1280
    height: 800

width and height are hints; Chromium will restrict the window within the available screen range, so when the browser is maximized, the detached window might be slightly smaller.

To disable the plugin:

- id: pip
  disabled: true

Use Cases and Notes

Suitable for scenarios where dsh web is already running and you only wish to view the Web UI outside of browser tabs. It does not change the existing service lifecycle, it only adds a detached window button.

Notes before use:

  • The plugin runs with the current dsh process permissions. You should check the source code and license before installing.
  • Only supports Chromium 116+; the button will not appear in Safari and Firefox.
  • Interface elements rendered by Portal, such as menus, modals, toasts, and hover cards, will remain in the original tab; they may be invisible during the separation period.
  • Global window / document listeners in the original tab will still trigger in the original tab.
  • Depends on the webServer service provided by the web profile, specifically provided by @deepseek-ai/dsh-host-webserver.

Conclusion

The value of dsh-pip lies in its minimal changes: it retains the existing dsh web environment and configuration, only adding a separable, returnable Web UI window. Project source code can be found on GitHub: https://github.com/extension-hunter/dsh-pip