鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

dsh-remote-ssh

类 VSCode Remote-SSH 的 DSH 插件:SSH 连接超算/服务器,内置文件页签直读远程文件、终端页签自动 SSH,远程工作区配单往返合并读与结果缓存,含 12 个会话感知的 remote_ssh_* 模型工具。

远程移动端
访问 GitHub
文档README

@zhangfengshun/dsh-remote-ssh

English | 中文

类 VSCode Remote-SSH 的 DSH 插件:通过 SSH 连接远程超算 / 服务器,在 DSH 内置「文件」「终端」页签中直接操作远程文件和终端。

功能

能力说明
🔌 SSH 连接密钥 / 密码认证,ProxyJump 跳板机,~/.ssh/config 一键导入
📂 远程文件内置「文件」页签直接 SSH 读写远程文件,无需同步
💻 远程终端内置「终端」页签自动检测远程工作区,SSH 交互式终端
🌐 远程工作区选择远程目录创建原生工作区,一键进入远程环境
🤖 模型工具12 个 remote_ssh_* 工具,会话感知免填连接参数
⚡ 打开提速单往返合并读 + raw 文本快路径 + 结果缓存(LRU + 5s TTL):首开 ≈1.31×,TTL 内重复打开 0 往返,过期复验 ≈5×(真实超算实测);remote_ssh_exec 连接复用 ≈15×

截图

设置 → 🖥️ 远程连接:连接配置(密钥 / 密码 / ProxyJump 跳板机)· 连接测试 · 从 ~/.ssh/config 一键导入

设置:远程连接

内置「文件」页签:直接浏览远程主机文件(右侧文件树即远程目录,编辑保存直写远程)

内置文件页签直接浏览远程文件

内置「终端」页签:自动 SSH 到远程超算(图为 SLURM 作业调度环境);左侧会话即模型免填调用 remote_ssh_* 工具

内置终端页签自动 SSH 远程超算

安装

▼
bash
复制代码
dsh plugin --profile <name> add @zhangfengshun/dsh-remote-ssh@2.3.5

安装后需重启 DSH。@zhangfengshun/dsh-remote-ssh 必须在 bundles 列表中排在 dsh-better-sidebar 之后。

内置「文件」页签的 SSH 直读依赖 dsh-better-sidebar ≥ 0.15 的文件 API(/sidebar/api/fs.* 端点),请勿使用更早版本;当前已逐点验证至 dsh-better-sidebar 0.18.0。

使用

  1. 设置 → 🖥️ 远程连接 → 添加连接(主机/端口/用户/密钥)→ 点「测试连接」验证
  2. 添加工作区 → 选「选择远程目录…」→ 选连接 → 浏览并选择远程目录
  3. 打开内置「文件」页签 → 直接显示远程文件,编辑保存直接写回远程
  4. 打开内置「终端」页签 → 自动 SSH 到远程主机(仅密钥认证)

模型工具

工具用途
remote_ssh_profiles列出连接配置 + 当前会话远程工作区上下文
remote_ssh_exec执行远程命令
remote_ssh_ls列举远程目录
remote_ssh_cat读取远程文件
remote_ssh_write写入远程文件
remote_ssh_grep搜索远程文件内容
remote_ssh_glob查找远程文件
remote_ssh_mkdir创建远程目录
remote_ssh_delete删除远程文件/目录
remote_ssh_move移动/重命名
remote_ssh_sync远端同步到本地镜像
remote_ssh_push本地镜像推送回远端

远程工作区会话中调用工具可免填 profileId 等连接参数;全部文件/命令类工具走持久 SSH 会话池 + 结果缓存,remote_ssh_exec 单命令实测 ≈15× 提速。

原理

插件注册 4 个 exact 路由(/sidebar/api/fs.tree、fs.read、fs.write、fs.search),在 better-sidebar 的 prefix 路由之前拦截。会话 cwd 含 .remote-ssh.json 时走 SSH,否则走本地 fs。客户端看到的是本地镜像路径,Host 自动转换为远程路径——对客户端完全透明。

远程读取采用单往返合并读:一条池化命令同时返回 size/mtime 帧与文件内容(文本类扩展名优先 raw 直传,字节长 + U+FFFD 双校验失败自动回退 base64,结果逐字节一致);配合主机侧结果缓存与变更失效(见下节)。

Shell wrapper(~/.dsh/remote-ssh/dsh-remote-shell[.cmd])检测工作区 .remote-ssh.json,自动 ssh -tt 连接远程,使内置「终端」页签透明接入。

缓存与一致性

远程读取与目录列举结果在主机侧缓存(读 LRU 32 条 + 列举 LRU 64 条,TTL 5 秒;单条 >1MiB 不缓存、总量 32MB 字节预算,防止大文件驻留拖慢宿主):TTL 内重复打开或切回页签 0 网络往返;过期后先做一次轻量 mtime+size 复验,未变化则免重传。写、删除、移动、建目录、上传、推送(push)、成功的远端 exec 与变更类 git 子命令(add/reset/commit/checkout/revert/cherry-pick)会自动失效相关缓存,并以每 profile 缓存代(epoch)兜底「同秒同 size 写」等粒度盲区。

已知限制:

  • 集成终端(ssh -tt)与远端其它进程改动的文件依赖 TTL + 复验兜底,最多 5 秒陈旧;
  • /sidebar/file 下载池化路径有效上限约 6.29MB,更大文件自动退回一次性连接下载(可成功,多一次重连开销);
  • 二进制内容伪装成文本扩展名时会多一次 base64 回退往返(结果正确)。

❤️ 七夕快乐

本项目是送给 zhangyi 的七夕礼物。

愿它像连接起一台台远方的超算一样,也把我们紧紧连在一起。七夕快乐 ❤️

—— 2026 年 8 月 18 日

许可证

MIT

远程移动端

快捷安装

复制到终端去安装插件

dshplugin--profilewebaddgithub:ZhangFengshun/dsh-remote-ssh

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题
dsh 插件推荐
dsh-web#packages/dsh-ssh
SSH 远程运维面板:Web 终端、SFTP 传输、本地端口转发与一条命令并发集群执行,Agent 与面板共用同一份主机配置。
dsh-tether
用 Android/iOS 手机远程使用电脑上的 dsh 完整网页界面,经 iroh 跨网点对点直连,中间不经过任何服务器。
dsh-im-gateway
DeepSeek Harness 聚合 IM 网关:通过微信、飞书、Telegram、Discord、QQ、WhatsApp 等 20+ 聊天平台驱动 agent,支持统一会话、远程审批和交互提问。默认放行所有能给机器人发消息的人,需要限制请配置 allowedUserIds。
dsh-android
在对话里直接操作 Android 设备——模拟器或 USB 手机,完全通过 adb 驱动:20 个 Agent 工具用于流式投屏、Gradle 构建运行、UI 树或 OCR 交互、logcat、进程与内存检查,并附带三键导航面板。
dsh-gb
把手机变成 DSH 的外设遥控台:发送消息(打字或用手机输入法语音转文字)、应答 yes/no 审批与选择题、浏览消息与切换会话,Game Boy 风格屏幕;局域网扫码或内置 Cloudflare 隧道连接。