Linjiangxian0203/dsh-remote-tunnel

适用于dsh的远程主机隧道管理器:远程端口分配 + 注册表 + 弹性SSH隧道

Project Overview项目介绍

This is a native DeepSeek Harness plugin that manages remote SSH tunnels, built specifically to connect your local browser to a DSH Web instance running on a remote Linux server. It comes with a full set of core features including automatic remote port allocation, systemd process supervision, auto-reconnect for dropped network connections, automatic shifting of conflicting local ports, and full lifecycle tunnel management. It is explicitly designed to work for both individual users and teams that share a single remote server, with a concurrency-safe port allocation system that prevents conflicts.

To install the plugin for regular use, you first run dsh plugin --profile remote add dsh-remote-tunnel to add it to your CLI profile, then run dsh plugin --profile web add dsh-remote-tunnel to enable it in the DSH Web UI. After installation, you need to restart DSH Web to make the plugin show up in the Settings → Plugins menu and activate the /remote slash commands in chat. Before your first run, you can add a remote host, run a health check to catch missing dependencies, then run dsh --profile remote up <host> --open to start the tunnel and open the local URL in your browser automatically.

The plugin requires local environments to run Node.js version 22.19 or newer, and have a working OpenSSH client installed. On the remote side, you need a Linux server with Node.js 22.19+, a working DSH install, and systemd (user-level systemd is sufficient, no root required). It is released under the open-source MIT license, with a full unit and integration test suite for development and detailed documentation to help users troubleshoot common connection and configuration issues.

这是一款原生 DeepSeek Harness 插件,用于管理远程隧道连接,主要功能是打通本地浏览器访问部署在远程 Linux 服务器上的 DSH Web 的链路。它支持远程端口自动分配、systemd 进程托管、网络断开后隧道自动重连、本地端口冲突自动偏移,还能对隧道进行全生命周期管理,同时适配单用户使用和多团队共享服务器的场景。

安装时可通过 DSH 命令行分别将插件安装到远程 CLI 配置段和 Web 配置段,安装后重启 DSH Web 即可在设置的插件面板中找到该插件,也支持在对话中使用 /remote 斜杠命令完成操作。普通用户只需按照引导添加主机信息、执行前置健康检查,排查环境问题后即可一键启动隧道,自动打开远程 DSH Web 的本地可访问地址。

该插件要求本地环境安装 Node.js ≥ 22.19 和 OpenSSH 客户端,远程服务器需要 Linux 系统、Node.js ≥ 22.19、DSH 和 systemd,推荐使用无密码 SSH 密钥登录。插件采用 MIT 许可证开源,你可以在 GitHub 查看源码、提交问题,也可以根据项目文档排查常见的连接和配置问题。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 6 stars - very few users, little community feedback星标只有 6,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile desktop add dsh-remote-tunnel

把 Linjiangxian0203/dsh-remote-tunnel 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-remote-tunnel

中文 | English

Awesome DSH Plugin

Remote Host Tunnel Manager: automates the "local browser → dsh web on a remote Linux server" link — remote port allocation with a registry, systemd supervision, resilient SSH tunneling, local URL output, and full lifecycle management. Built for single users and for teams sharing one server.

  • Sessions and files live on the server (the remote dsh web's workspace = server directories); the local machine only keeps a tunnel
  • Each user automatically gets a dedicated remote port, double-checked on the server (real occupancy + registry) before allocation — safe under concurrency
  • Every allocation is recorded in a registry on the server (/etc/dsh-ports.tsv, or a per-user fallback depending on permissions) — audit compares the registry against real occupancy at any time
  • The tunnel auto-reconnects after network drops (backoff respawn), and heartbeats keep the registry fresh
  • Occupied local ports shift automatically, with the occupying process reported

If you're just a user (not developing)

# 1. Install (published npm package)
dsh plugin --profile remote add dsh-remote-tunnel
#    want it in the web UI too (Settings → Plugins) with /remote slash commands in chat?
#    also install into the web profile, then restart dsh web:
dsh plugin --profile web add dsh-remote-tunnel

# ⚠️ Sharing one server with others? Do the one-time registration first (needs root —
#    see "Sharing one server" below). Without it the plugin falls back to a private
#    per-account registry and `audit` only shows your own ports.

# 2. Confirm your server is visible (Host aliases from ~/.ssh/config are auto-discovered)
dsh --profile remote hosts
#    not there? define one:
dsh --profile remote hosts add lab --host 192.0.2.10 --user alice --workspace /home/alice/project

# 3. First run: a health check tells you step by step what's missing
#    (keys / Node / dsh / registry / systemd)
dsh --profile remote check lab

# 4. Bring the tunnel up; the browser opens the remote dsh web
dsh --profile remote up lab --open

# Everyday: status / down / logs / audit
dsh --profile remote down lab

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-desktop 下一个 Next DSH-Chrome-devtools →