DSH 遠程工作區插件:在 Web 會話裏管理多臺 SSH 服務器

前言

DSH 通過插件擴展能力,dsh-remote-workspace 是 FYL1025 維護的一個遠程工作區插件。它面向一個具體場景:在 DSH Web 會話中處理遠端 SSH 服務器上的文件、代碼和命令,而不是隻依賴本地文件或另開終端。

這是什麼

FYL1025/dsh-remote-workspace 是 DSH 插件,定位爲 “Remote Workspace for DSH”。它複用本地 SSH 連接方式,讓 Web 端接入一臺或多臺服務器,並在對話旁邊打開工作區面板。許可證爲 MIT。

核心功能

  • 多服務器連接管理:支持 SSH alias(~/.ssh/config 中的 Host)或 host/port/user 模式,可隨時切換;連接配置保存在瀏覽器 localStorage。
  • Connect / Disconnect:一鍵驗證並保持/釋放活動服務器的連接狀態。
  • 文件樹瀏覽器:懶加載展開/摺疊,可切換隱藏文件,按類型顯示圖標,支持一鍵複製路徑。
  • 代碼編輯器:行號 + 語法高亮預覽(keywords/strings/comments/numbers/decorators),可編輯並保存回服務器。
  • 命令執行器:在服務器運行命令,工作目錄跟隨當前打開文件。
  • Dock / Float 雙模式:貼靠對話旁,對話區可重排並拖動分隔線;或加寬爲浮動面板,最大 1400px。
  • 會話直接操作:可在聊天中讓 agent 直接操作服務器文件。

安裝與啓用

先確認環境:Node.js ≥ 18、pnpm、一個 DSH profile(通常是 web)。

插件依賴本地 SSH 免密登錄(key-based passwordless login)。如果還沒配置,先按 host/port/user 或 SSH alias 完成免密登錄,確保之後能用 SSH 連上目標服務器。

安裝命令:

dsh plugin --profile web add git+ssh://git@github.com/FYL1025/dsh-remote-workspace.git

安裝後重啓 DSH,然後打開 Settings -> Remote Workspace。

典型用法

1、在 Settings -> Remote Workspace 中添加服務器(SSH alias 或 host/port/user),並選擇爲當前連接。

2、點擊 Connect 驗證連通性;成功後按鈕變爲 Disconnect。

3、點擊 Open Workspace Panel,文件瀏覽器出現在對話旁。

4、展開目錄並點擊文件:用 Preview 查看語法高亮;用 Edit 修改後點擊 Save 寫回服務器。

5、在底部命令執行器中運行命令,例如:

ls -la
python train.py

6、點擊 Widen 加寬爲浮動面板,並拖動邊緣調整大小。

適用場景與注意

適合需要在 DSH 會話中頻繁查看遠端文本文件、修改代碼、運行命令的人,尤其是希望把遠端操作留在當前 DSH Web 界面裏的場景。

使用前注意:

  • 插件讀取文本文件 ≤ 2MB;更大文件需通過聊天讓 agent 處理。
  • 連接配置(alias/host/port/user)存儲在瀏覽器 localStorage;不存儲密碼或私鑰。
  • 插件以當前 DSH 進程權限運行 ssh 命令,使用 danger-full-access 策略。這相當於用戶在終端自行運行 ssh,但僅限該插件發起的命令。
  • 安裝前應檢查源碼與許可證,確認接受其訪問模型。
  • 安裝後需要重啓 DSH。

鏈接

GitHub:https://github.com/FYL1025/dsh-remote-workspace

插件目錄線索頁(獨立社區目錄線索,未在本資料中抓取驗證):https://www.skillhub.cn/plugins/FYL1025/dsh-remote-workspace

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

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

小夜