🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

SSH 隧道管理 thirsty5034/dsh-ssh-tunnel

DeepSeek 客户端v1.2.1
thirsty503449 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

管理多台主机 SSH 隧道,在侧栏连接并授权

36.1/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/thirsty5034/dsh-ssh-tunnel.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 49 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/9/28) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

npm 同名包「dsh-ssh-tunnel」归属 omsociety/dsh-ssh-tunnel,装到的可能不是本插件

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-ssh-tunnel @ 1.2.1
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 10:23:34

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 34 处,展示前 23 条)
  • 读取本地文件
    lib/index.js:93
    const st = lstatSync(abs)
  • 删除本地文件
    lib/index.js:95
    unlinkSync(abs)
  • 读取本地文件
    lib/index.js:99
    for (const name of readdirSync(abs)) {
  • 删除本地文件
    lib/index.js:102
    rmdirSync(abs)
  • 删除本地文件
    lib/index.js:105
    unlinkSync(abs)
  • 写入本地文件
    lib/index.js:109
    mkdirSync(DATA_DIR, { recursive: true })
  • 写入本地文件
    lib/index.js:110
    try { chmodSync(DATA_DIR, 0o700) } catch {}
  • 读取本地文件
    lib/index.js:254
    if (!existsSync(cfgPath)) continue
  • 读取本地文件
    lib/index.js:256
    try { text = readFileSync(cfgPath, 'utf8') } catch { continue }
  • 读取本地文件
    lib/index.js:284
    if (!existsSync(dir)) continue
  • 读取本地文件
    lib/index.js:286
    for (const name of readdirSync(dir)) {
  • 写入本地文件
    lib/index.js:1077
    mkdirSync(dirname(local), { recursive: true })
  • 写入本地文件
    lib/index.js:1140
    mkdirSync(abs, { recursive: true })
  • 写入本地文件
    lib/index.js:1153
    renameSync(from, to)
  • 写入本地文件
    lib/index.js:1172
    writeFileSync(marker, String(Date.now()) + '\n', { mode: 0o600 })
  • 读取本地文件
    lib/shared/path.js:73
    const st = lstatSync(abs)
  • 删除本地文件
    lib/shared/session-auth.js:34
    unlinkSync(localPath)
  • 读取本地文件
    lib/shared/persist.js:8
    if (!existsSync(path)) return fallback
  • 读取本地文件
    lib/shared/persist.js:11
    raw = readFileSync(path, 'utf8')
  • 写入本地文件
    lib/shared/persist.js:24
    writeFileSync(tmp, JSON.stringify(data, null, 2) + '\n', { mode })
  • 写入本地文件
    lib/shared/persist.js:25
    try { chmodSync(tmp, mode) } catch {}
  • 写入本地文件
    lib/shared/persist.js:26
    renameSync(tmp, path)
  • 写入本地文件
    lib/shared/persist.js:27
    try { chmodSync(path, mode) } catch {}
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 管理多主机SSH隧道
  • 侧栏连接授权

DSH 社区插件:多主机 SSH 隧道 + SSHManager(better-sidebar)

README

由 DeepSeek 最新模型翻译生成
dsh-ssh-tunnel DeepSeek Harness 社区插件:多机 SSH 隧道 + SSHManager,挂载于 dsh-better-sidebar。 - 主机库 + 密钥(不进入模型上下文) - 按项目授权(projectPathKey = 工作区 cwd) - 模型工具 SSHManager(exec、SFTP、会话策略) - 侧栏:连接 / 授权 - 中央面板:交互式 终端(xterm)与 双栏 SFTP 不会把全局 fs / subprocess 改成「单机远程盘」。 配套:dsh-git-forge(Git 凭据 + push 策略)。 致谢 / 参考来源 产品形态与部分 UX 参考开源项目 LiveAgent(多机 SSH 主机库、按项目授权、侧栏隧道管理、中央终端 / SFTP 等)。 本仓库是 DSH 原生实现(Cordis host/client、dsh-better-sidebar Tab、SSHManager 工具、DSH 本地密钥布局),不是 LiveAgent 的 git fork,也不内嵌 LiveAgent 源码。对照设计时请遵守 LiveAgent 自身许可证。
展开完整文档(README 剩余 1 节)
dsh-ssh-tunnel

DeepSeek Harness 社区插件:多机 SSH 隧道 + SSHManager,挂载于 dsh-better-sidebar。

- 主机库 + 密钥(不进入模型上下文)
- 按项目授权(projectPathKey = 工作区 cwd)
- 模型工具 SSHManager(exec、SFTP、会话策略)
- 侧栏:连接 / 授权
- 中央面板:交互式 终端(xterm)与 双栏 SFTP

不会把全局 fs / subprocess 改成「单机远程盘」。

配套:dsh-git-forge(Git 凭据 + push 策略)。

致谢 / 参考来源

产品形态与部分 UX 参考开源项目 LiveAgent(多机 SSH 主机库、按项目授权、侧栏隧道管理、中央终端 / SFTP 等)。

本仓库是 DSH 原生实现(Cordis host/client、dsh-better-sidebar Tab、SSHManager 工具、DSH 本地密钥布局),不是 LiveAgent 的 git fork,也不内嵌 LiveAgent 源码。对照设计时请遵守 LiveAgent 自身许可证。

环境要求

- 带 dsh-better-sidebar(≥ 0.12)的 DSH web profile
- Node.js 18+
- 能访问目标 SSH 主机

安装

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/thirsty5034/dsh-ssh-tunnel/main/scripts/install.sh | bash

Windows(PowerShell):

irm https://raw.githubusercontent.com/thirsty5034/dsh-ssh-tunnel/main/scripts/install.ps1 | iex

或 CLI(发布到 npm 前默认 GitHub 源):

export DSH_HOME=${DSH_HOME:-$HOME/.dsh}
dsh plugin --profile web add "dsh-ssh-tunnel@github:thirsty5034/dsh-ssh-tunnel"
dsh --profile web --dump-config | grep ssh-tunnel

Host 侧改动后需 重启 dsh web,再 硬刷新 浏览器。

可选参数 / 本地 link / 日后 npm

bash scripts/install.sh --restart
bash scripts/install.sh --from npm 0.3.6
dsh plugin --profile web add "dsh-ssh-tunnel@link:/path/to/dsh-ssh-tunnel"

可发现性

- GitHub topics:dsh-plugin、deepseek-harness、dsh(dsh.so 自动收录所需)
- 当前请从 GitHub 安装:见上文 安装
- 商店目录可能滞后于爬虫;以本仓库为准

数据目录

$DSH_HOME/ssh-tunnel/(建议 0700):

| 文件 | 用途 |
| hosts.json | 主机元数据(无密钥明文) |
| secrets.json | 密码 / PEM / 口令(0600) |
| grants.json | projectPathKey → hostIds[] |
| known_hosts.json | 已信任 host key 指纹 |

侧栏

1. 主机库 — 增删改、OpenSSH 配置扫描导入
2. 项目授权 — 当前项目允许使用的主机(连接前须先授权;Connect 不会自动写入授权)
3. 隧道会话 — 连接 / 断开;打开 终端 或 SFTP。断开后保留墓碑,可 重连(同一 id)或 关闭。意外断开自动重连最多 3 次。ssh2 keepalive 为 30s × 3。

模型工具

SSHManager action=list_hosts
SSHManager action=exec host_id= command="uname -a"
SSHManager action=sftp_list host_id= path=/

会话策略:reuse_or_create(默认;会复活同主机已断开会话)、new、require_existing,或显式 session_id。
timeout_ms(1000–300000)适用于 exec / SFTP / shell。默认:exec 与 SFTP 元数据 30s,SFTP 传输 120s。
认证方式仅 密码 或 私钥。不支持键盘交互 / 堡垒机网页 MFA。

安全

- 列表与工具结果不得包含 password / PEM / 口令
- 本地上传/下载/列举/删除路径限制在 /workspace(词法 与 realpath;拒绝指向工作区外的符号链接)
- Host key 以 SHA256 hex 存入 known_hosts.json;首次或变更时在侧栏确认(展示指纹)
- HTTP API 限制 loopback / trusted hosts;浏览器 Origin 必须匹配;会话 API 必须带 projectPathKey
- 优先密钥登录;若 secrets.json 可能泄露请轮换凭据
- 键盘交互已下线:请把此类主机改为密码或私钥

界面国际化

- 命名空间:sshTunnel
- 字典:zh / en,注册到 ctx.locale
- Tab 标题与面板随 DSH 界面语言即时切换

Host 侧 SSHManager 描述保持英文(面向模型)。

开发

npm test
npm run check
./scripts/sync-to-dsh.sh

xterm 加载

@xterm/xterm@5.5.0 与 @xterm/addon-fit@0.11.0 为钉死的运行时依赖。Host 侧把它们的 UMD/CSS 从同源白名单路由下发(/dsh-ssh-tunnel/vendor/xterm.js|addon-fit.js|xterm.css);客户端用普通 / 加载。无 CDN 回退,也不依赖模块表。

许可证

MIT — 见 LICENSE。
预览分享卡片长什么样 ↓thirsty5034/dsh-ssh-tunnel
分享 · DeepSeek Harness Hub
thirsty5034/dsh-ssh-tunnel

管理多台主机 SSH 隧道,在侧栏连接并授权

这是你的仓库?认领条目

回到顶部