DeepSeek Harness SSH 遠程工作區插件(多機並行版)

前言

DeepSeek Harness (DSH) 的插件化架構允許開發者通過插件擴展功能。在本地文件處理或單機 SSH 操作之外,管理多臺服務器通常需要頻繁切換連接。dsh-ssh-remote 插件解決了這個問題,它支持同時保持多個 SSH 連接,併爲 Agent 提供直接查看、編輯和執行遠程文件的能力。

這是一個基於 flymysql/dsh-remote 的 fork 項目,將傳統的單連接池模型改造爲多池並行連接模型。

維護狀態與適配版本

本項目已於 2026 年 9 月 10 日停止維護。

  • 適配基準版本:@deepseek-ai/dsh@0.1.2-rc.1
  • 未驗證版本:0.1.5-rc.1 及以後
  • 許可證:MIT

代碼保持現狀可用(仍爲 MIT),但在 DSH 0.1.5+ 版本上不保證工作。

安裝

安裝過程建議在已安裝 DSH 的環境進行。只需三步:

# 1) 克隆本項目
git clone https://github.com/chai1110/dsh-ssh-remote.git
cd dsh-ssh-remote

# 2) 一鍵安裝(自動裝依賴 + 註冊 symlink + 創建 SSH 增強預設)
bash install.sh

# 3) 重啓 DSH
kill $(pgrep -f 'dsh web') 2>/dev/null; dsh web

安裝腳本會自動完成以下操作:
1. 安裝依賴(如 ssh2)。
2. 創建 symlink 到 profile 的 node_modules。
3. 爲官方模式(standard、code、minimal、cordis)增強同名用戶 preset,使 SSH 工具直接出現在現有模式中。

功能特性

  • 多機 SSH 註冊表:管理多臺服務器配置(host、port、user、密碼或私鑰),存儲於 ~/.dsh/remote-workspaces/machines.json。
  • 同時連接多臺:每臺機器擁有獨立的連接池,互不干擾。
  • 遠程工作區:爲每臺機器指定遠程目錄,本地鏡像存儲於 ~/.dsh/remote-workspaces/<host>/...。
  • 雙向 SFTP 同步:支持 rw_sync(遠程→鏡像)和 rw_push(鏡像→遠程)。
  • Agent 遠程操作工具:提供 rw_* 系列工具,支持文件瀏覽、讀寫、命令執行。
  • 設置面板:DSH Web 的設置頁面中提供遠程工作區管理界面,支持增刪改查機器及測試連接。

工具用法

所有工具支持 machineId 參數指定目標機器,不傳參數則默認爲當前機器。

工具 作用
rw_info 查看所有已註冊機器及連接狀態、當前工作區。
rw_connect / rw_switch 註冊新機器或切換當前機器。
rw_pick_workspace 爲指定機器設置遠程工作區目錄。
rw_list_dir / rw_read_file 瀏覽遠程目錄、讀取遠程文件。
rw_write_file 直接寫入遠程文件(自動創建父目錄)。
rw_exec 在遠程執行 Shell 命令。
rw_sync / rw_push 遠程與本地鏡像同步。
rw_disconnect 斷開指定機器的連接。

使用示例

Agent 可以直接通過對話驅動這些工具。例如:

  1. 註冊並連接兩臺服務器:
rw_connect (host=192.168.1.10, user=root, privateKeyPath=/Users/me/.ssh/id_rsa)
rw_connect (host=192.168.1.20, user=root, password=xxx)
  1. 爲第一臺服務器設置工作區:
rw_pick_workspace (machineId=<第一臺id>, path=/srv/app)
  1. 在遠程執行命令並查看文件:
rw_exec (machineId=<第一臺id>, command='docker compose ps')
rw_list_dir (machineId=<第一臺id>, path=/srv/app)
rw_read_file (machineId=<第一臺id>, path=/srv/app/src/main.py)
  1. 同步遠程文件到本地:
rw_sync (machineId=<第一臺id>)

注意事項

  • 本項目 fork 自 flymysql/dsh-remote,底層 SSH 引擎、SFTP 同步等組件來自該上游項目(BSD-3-Clause)。
  • 由於維護已暫停,若 DSH 官方版本升級至 0.1.5-rc.1 或更高,插件可能無法正常工作。
  • 插件以同名用戶 preset 覆蓋機制掛載,升級 DSH 後通常需要重新運行安裝腳本。
羽毛球分组比赛记分
小程序二维码

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

小夜