管理多台主机 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 能力
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
thirsty5034/dsh-ssh-tunnel
管理多台主机 SSH 隧道,在侧栏连接并授权
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目