When developing or performing operations with DeepSeek Harness (DSH), we are usually confined to the local computer environment. If you need to operate a remote Linux server, extra SSH connection scripts or manual logins are often required, which increases the number of steps and the chance of errors. The DSH Remote SSH plugin provides a direct solution, allowing DSH’s native tools to run directly on a remote server.
What is this¶
This is a DSH plugin maintained by NaNQiQ. Its core purpose is to let DSH native tools (such as read, write, edit, glob, grep, bash, and terminal) run on remote Linux servers. The target server does not need DSH, Node.js, or Python installed. The plugin interacts with the remote environment over SSH/SFTP, expanding DSH’s operational scope.
Core features¶
- Server management: You can add, test, manage, and select SSH servers in the DSH Web UI.
- Environment switching: Switch the execution environment between your local computer and saved servers.
- Native tools preserved: It continues to use official DSH tools instead of reduced
ssh_*alternatives. - Protocol support: It uses SFTP for file handling, SSH exec/shell for command execution, and SSH PTY for interactive terminals.
- Consistent search behavior: While preserving native
glob / grepbehavior, it resolves and caches ripgrep on the remote Linux host. - Authentication methods: Supports authentication via SSH Agent, private key file, or temporary password.
- Security verification: On first connection, it verifies the SSH host key fingerprint to prevent unexpected changes.
- Connection reuse: It reuses connections maintained by the DSH Host, avoiding re-login for every message.
Installation and enablement¶
Ensure Node.js 24 or later is installed on your system, and that dsh and pnpm are in the PATH. Run the following commands to install and start it:
dsh plugin --profile web add github:NaNQiQ/deepseek-harness-remote-ssh
dsh web
Typical usage¶
- Start
dsh web. - Open the execution environment selector next to the conversation editor.
- Select Add server.
- Fill in the connection details, authentication method, and default working directory settings.
- Follow the built-in authentication guide and verify the server fingerprint.
- Click Test and save.
- Click the saved server in the selector.
After this, the model will continue using the official DSH tools; the only difference is that the execution location behind those tools becomes the remote server.
Use cases and notes¶
- Target environment: The target must be a Linux/Unix host with SSH, SFTP, and a POSIX shell installed.
- Working directory: Each server can define a default working directory. This is the initial
cwd, not a path sandbox. - Permission control: Actual access permissions are equivalent to the permissions of the remote SSH account.
- Filesystem isolation: The Remote Provider does not expose the DSH Host’s local filesystem to the remote execution environment.
- Key management: Model API keys and Base URLs are still managed by DSH. The plugin does not read or store this sensitive information.
- Restart requirement: After updating or removing the plugin, DSH must be restarted.
Summary¶
DSH Remote SSH encapsulates the SSH protocol, extending DSH’s tool ecosystem seamlessly to remote servers. Developers can perform remote operations using their existing toolchain without deploying an environment on the target server. The plugin source code is available on GitHub: https://github.com/NaNQiQ/deepseek-harness-remote-ssh.