dsh-ssh-terminal:DSH 側邊欄的 SSH 遠程終端

前言

在 DSH 生態中構建智能體時,遠程命令執行是常見需求。如果僅僅在對話中獲取輸出,缺乏對交互式終端的可視化支持,調試多主機場景時會比較繁瑣。dsh-ssh-terminal 插件在 DSH 側邊欄中提供了一個可視化的 SSH 終端面板,同時爲 Agent 提供了一套標準化的 SSH 工具集。

插件介紹

名稱:dsh-ssh-terminal
維護者:sunzhyang1616-ui
定位:SSH 遠程終端:在 DSH 側邊欄連接遠程主機並逐步查看命令與輸出。

核心功能

  1. Better-sidebar「SSH 終端」面板
    需要安裝 dsh-better-sidebar 插件(版本 >= 0.12.0)。安裝後,Better-sidebar 的菜單會出現「SSH 終端」選項。面板包含連接表單、命令輸入以及實時命令→輸出轉錄(帶時間戳,顏色跟隨 DSH 皮膚)。

  2. 多連接並行
    每次調用 ssh_connect 都會創建獨立的 SSH 進程、輸出緩衝和命令隊列。側邊欄左側會列出各連接,點擊可切換對應的轉錄視圖。

  3. Agent 工具集
    本插件提供了一套 Agent 工具,不依賴 Better-sidebar。可用工具包括:
    * ssh_connect:建立連接,返回 connectionId。
    * ssh_exec:執行命令。
    * ssh_disconnect:斷開連接。
    * ssh_status:查看連接狀態。
    * ssh_list:列出所有連接。

  4. 記錄持久化
    操作記錄會落盤至本機的 ~/.dsh/ssh-terminal-history.json,跨重啓保留。面板右上角的「清空當前」僅清理當前選中連接的記錄。

安裝與啓用

使用官方插件命令安裝:

dsh plugin add github:sunzhyang1616-ui/dsh-ssh-terminal

安裝後需要硬刷新瀏覽器(Cmd/Ctrl+Shift+R)以加載客戶端變更。本插件依賴 DSH web 或 DSH Desktop 環境。

典型用法

在使用 Agent 工具時,需注意連接的生命週期管理:

  1. 建立連接
    調用 ssh_connect。必須保存返回的 connectionId,後續操作以此 ID 爲準。

  2. 執行命令
    使用上一步獲取的 connectionId 調用 ssh_exec。

  3. 並行與排隊
    * 並行:不同 connectionId 的命令可以同時執行。
    * 排隊:同一個連接內的命令會按調用順序排隊,避免寫入同一個 SSH PTY 時互相干擾。

適用場景與注意

  • 適用場景:需要可視化查看遠程終端輸出、管理多臺遠程主機、在 Agent 工作流中嵌入 SSH 操作。
  • 連接狀態:SSH 連接以 Host 進程態存在。DSH 重啓後連接會斷開,但操作記錄會保留。
  • 安全建議:密碼僅在本次調用內使用,不會回顯或寫入轉錄記錄。推薦使用 identity(私鑰文件)進行認證。

結語

dsh-ssh-terminal 爲 DSH 插件生態提供了可視化的 SSH 能力。通過側邊欄面板與 Agent 工具的結合,可以在不中斷對話主流程的情況下,實現對遠程終端的實時監控與操作。

GitHub

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

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

小夜