前言¶
DSH 的插件机制允许把更多工作流接入本地界面。对于经常需要在远程超算或服务器上编辑文件、执行终端命令的使用者,常见做法是先本地编辑再同步,或单独打开 SSH 窗口操作。@zhangfengshun/dsh-remote-ssh 提供另一条路径:通过 SSH 连接远程主机后,在 DSH 内置「文件」「终端」页签中直接操作远程文件和终端。
插件定位¶
@zhangfengshun/dsh-remote-ssh 是一个类 VSCode Remote-SSH 的 DSH 插件,由 ZhangFengshun 维护,许可证为 MIT。它的目标不是把远程文件同步到本地后再编辑,而是通过 SSH 连接远程超算或服务器,直接在 DSH 内置「文件」「终端」页签中操作远程文件与远程终端。
核心能力¶
下面介绍插件已核实的几项能力。
- SSH 连接:支持密钥/密码认证,支持 ProxyJump 跳板机,可从
~/.ssh/config一键导入。 - 远程文件:内置「文件」页签可直接 SSH 读写远程文件,无需同步。
- 远程终端:内置「终端」页签可自动检测远程工作区,进入 SSH 交互式终端。
- 远程工作区:选择远程目录创建原生工作区,一键进入远程环境。
- 模型工具:提供 12 个
remote_ssh_*工具,支持会话感知免填连接参数。
安装与启用¶
先确认当前 DSH 环境满足 Node 引擎要求:>=20。
然后使用以下命令安装到指定 profile:
dsh plugin --profile <name> add @zhangfengshun/dsh-remote-ssh@2.1.7
这里的 <name> 表示目标 DSH profile。安装完成后需要重启 DSH。
启用时还要注意 bundles 顺序:@zhangfengshun/dsh-remote-ssh 必须在 bundles 列表中排在 dsh-better-sidebar 之后。
典型用法¶
下面是从远程连接到进入远程工作区的基本步骤。
- 进入设置,打开「远程连接」,添加连接,填写主机、端口、用户、密钥,然后点「测试连接」验证。
- 添加工作区时,选择「选择远程目录…」,选择连接,浏览并选择远程目录。
- 打开内置「文件」页签,页面会直接显示远程文件;编辑并保存后直接写回远程。
- 打开内置「终端」页签,插件会自动 SSH 到远程主机;该自动 SSH 路径仅支持密钥认证。
模型工具¶
插件提供 12 个 remote_ssh_* 模型工具。在远程工作区会话中调用这些工具时,可免填连接参数,减少每次调用时重复指定连接配置的操作。
适用场景与注意¶
这个插件适合需要在 DSH 中直接操作远程超算、远程服务器文件和终端的场景,尤其是已经有 SSH 连接配置、希望减少本地与远端手动同步步骤的使用者。
使用前注意以下几点:
- 安装后需重启 DSH。
@zhangfengshun/dsh-remote-ssh必须在 bundles 列表中排在dsh-better-sidebar之后。- Node 引擎要求
>=20。 - 内置「终端」页签自动 SSH 到远程主机时仅支持密钥认证。
- 插件会以当前 dsh 进程的权限运行,安装前应检查源码与许可证。
链接¶
- GitHub:https://github.com/ZhangFengshun/dsh-remote-ssh
- 目录页:本次已核实事实未包含目录页 URL,请以当前 DSH 插件目录入口为准。