DeepSeek Harness Plugin

Lee-Eee-Eee/dsh-remote-dock

Stars ★ 1 Category Remote & Mobile Added 2026-11-02

Use SSH hosts and WSL distributions as remote DSH workspaces, with environment setup, model configuration porting, and the remote interface embedded locally.

Install

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:Lee-Eee-Eee/dsh-remote-dock

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

dsh-remote-dock adds a Remote entry to DeepSeek Harness. Connect a Linux server over SSH or a WSL distribution and open its full DSH interface in your local window. File operations and commands run in the target environment.

Remote workspace with SSH and WSL targets on the left and the remote DSH interface on the right

Desktop screenshot.

Features

  • SSH and WSL targets. Discover hosts from your SSH configuration and local WSL distributions, or add targets manually. SSH connections reuse local keys, ssh-agent and jump-host settings.
  • Remote setup. Probe Node and DSH, review the installation plan, then install the selected components under the remote user's home without sudo.
  • Model configuration. Copy local providers, the default model and API keys to the remote environment, with backups before writing.
  • Connection controls. Reload, go fullscreen, restart or stop remote DSH from the panel. Reconnect to an existing instance, with automatic retries for dropped SSH tunnels.

Install

Requires DSH 0.2.1-rc.2 or newer. Add this source in the plugin manager:

github:Lee-Eee-Eee/dsh-remote-dock#v0.1.5

Restart DSH and refresh the page. Remote appears in the sidebar.

If dsh is available in your terminal, run:

dsh plugin --profile desktop add "github:Lee-Eee-Eee/dsh-remote-dock#v0.1.5"

Replace desktop with the profile your host actually uses; web hosts typically use web. Installing into another profile will not add the plugin to the current host.

Upgrading from the old name

This project is now dsh-remote-dock, previously dsh-remote. Remove the old plugin from your current profile, add the new source above, and restart DSH. Enable only one copy. Saved targets, remote installations and model configuration remain available.

dsh-remote-workspace@0.1.0-alpha.* belongs to a different project. Install this project using the GitHub source shown on this page.

First connection

  1. Add a target. Open Remote and click + beside an SSH host or WSL distribution. Use Add target to enter an SSH alias or host details manually.

  2. Probe the environment. Select the target and click Probe. If Node or DSH is missing, open Review install plan, choose the steps and start installation.

    Probe result: OS, Node, dsh, tmux, disk and CPU

  3. Configure a model. If the remote has no model configuration, open Port local config, select the provider, default-model and API-key groups you need, then click Write and restart. The API-key group copies actual secret values, so use a target you trust. Skip this step when the remote already has a working model.

  4. Connect. Click Connect, then choose a remote project in the embedded DSH interface and start working. The right-hand pane is the target's own DSH, running with the model configuration you ported.

    Connected: target list and the embedded remote DSH

Configuration previews show names and counts only, and local browser-session credentials are excluded from porting. Remote conversations and projects are managed inside the embedded DSH interface.

Once connected

Several targets can stay connected at the same time, each independent: switching targets switches which machine's DSH you are looking at.

Multiple targets at once

Action Effect
Reload Refresh the remote interface
Restart Restart DSH on the target
Stop remote End the target instance and close the local connection
Close the panel / exit local DSH Leave the remote process running for reconnection

Requirements

Environment Requirement
DSH host 0.2.1-rc.2 or newer
Host runtime Node 22.x (≥ 22.19.0), or 24 and newer
SSH target Linux x86_64 / arm64 with non-interactive key or agent authentication
Automatic setup bash, tar, and either curl or wget
WSL Windows–Linux loopback reachability: mirrored networking, or NAT with localhost forwarding enabled

Common questions

No Remote entry after installation? Check that you installed into the current host's profile, then restart DSH and refresh the page.

SSH connection fails? Verify that ssh <alias> works without an interactive prompt and that the server permits SSH port forwarding. Password prompts are unsupported.

The interface opens but the model does not work? Check the remote model configuration. After applying Port local config, restart remote DSH.

Unknown host requirement or old screenshots in the market? Use dshmarket 1.73.0 or newer to read GitHub plugins' host requirements. Screenshots refresh with catalog builds. See marketplace metadata.

For WSL networking, host-key and embedded authentication issues, see troubleshooting.

Documentation and feedback

License

MIT

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.