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 查看源码、提交问题,也可以根据项目文档排查常见的连接和配置问题。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-remote-tunnel(Linjiangxian0203/dsh-remote-tunnel)
仓库:https://github.com/Linjiangxian0203/dsh-remote-tunnel
本站详情页:https://www.yhbd.top/plugins/linjiangxian0203-dsh-remote-tunnel/
本站登记:类型 collection · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 6 · 最近提交 2026-10-03 · 主语言 JavaScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- 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
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) —auditcompares 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 →
zhuiyueya/dsh-im-gateway
LAN-TINA-WS/dsh-gui-customization
FuJackGao/dsh-collab