dsh-tool-ssh:DeepSeek Harness 的 SSH/SFTP 工具插件

前言

在使用 DeepSeek Harness (DSH) 进行开发或运维时,经常需要远程接入 Linux 主机。DSH 原生基于 Web 环境,缺少直接的 SSH/SFTP 能力。为了解决这一问题,dsh-tool-ssh 插件提供了类似 MobaXterm 的远程接入能力,支持会话管理、命令执行与文件传输。

该插件由 hoshinoick811 维护,基于 MIT 许可证开源。它将 SSH/SFTP 能力集成到 DSH 的 Web GUI 中,允许用户通过浏览器直接操作远程主机。

核心功能

该插件主要提供以下能力:

  • 连接配置管理:支持保存主机连接信息,包括用户名、密钥路径等,配置存储在本地。
  • 持久会话复用:SSH 会话在 DSH 宿主进程内持久运行,支持多路复用。切换视图或终端标签页时,连接不断开。
  • 远程命令执行:通过 ssh_exec 工具在远程主机执行 Shell 命令。
  • 文件操作:支持通过 SFTP 进行文件上传、下载、读取和写入。
  • Web GUI 操作窗口:提供图形化界面,包含文件浏览器和实时终端(基于 xterm.js 和 Canvas 渲染器)。
  • 交互优化:支持拖拽分栏调节文件栏与终端栏宽度,支持会话保持与流式输出回放。

安装与启用

在终端中执行以下命令安装插件:

dsh plugin --profile web add git+https://github.com/hoshinoick811/dsh-tool-ssh.git

安装完成后,重启 DSH 的 Web profile (GUI) 即可使用。

典型用法

安装后,可以通过 DSH 的工具列表调用以下命令。

1. 管理连接配置

添加一条名为 aliyun 的连接配置:

ssh_connections action=add name=aliyun host=192.0.2.1 username=root privateKeyPath=C:\keys\aliyun.pem

2. 执行远程命令

在已保存的 aliyun 连接上执行系统状态查询:

ssh_exec connection=aliyun command="systemctl status nginx"

3. 读写远程文件

读取远程配置文件:

ssh_read connection=aliyun remotePath=/etc/nginx/nginx.conf

向远程文件写入内容:

ssh_write connection=aliyun remotePath=/etc/nginx/conf.d/app.conf content="server { listen 80; ... }"

4. 文件传输

上传本地文件到远程服务器:

ssh_upload connection=aliyun localPath=./dist/index.html remotePath=/var/www/app/index.html

下载远程日志文件到本地:

ssh_download connection=aliyun remotePath=/var/log/nginx/error.log

5. 会话管理

断开名为 aliyun 的连接:

ssh_disconnect connection=aliyun

适用场景与注意

  • 适用对象:仅支持接入 Linux 主机(例如阿里云 ECS)。远程主机需放行 22 端口。
  • 安全说明:
    • 密码与私钥内容以明文形式存于本机配置文件,请自行保证本机安全。
    • 插件运行在 DSH 宿主进程内,不受 agent 沙箱约束。执行远程命令和连接主机时需谨慎。
    • 建议使用密钥认证而非密码,并设置密钥文件的本地权限。

更多信息与源码,请参考插件目录或GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜