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 倉庫。

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

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

小夜