前言¶
在 DSH 生態中構建智能體時,遠程命令執行是常見需求。如果僅僅在對話中獲取輸出,缺乏對交互式終端的可視化支持,調試多主機場景時會比較繁瑣。dsh-ssh-terminal 插件在 DSH 側邊欄中提供了一個可視化的 SSH 終端面板,同時爲 Agent 提供了一套標準化的 SSH 工具集。
插件介紹¶
名稱:dsh-ssh-terminal
維護者:sunzhyang1616-ui
定位:SSH 遠程終端:在 DSH 側邊欄連接遠程主機並逐步查看命令與輸出。
核心功能¶
-
Better-sidebar「SSH 終端」面板
需要安裝dsh-better-sidebar插件(版本 >= 0.12.0)。安裝後,Better-sidebar 的菜單會出現「SSH 終端」選項。面板包含連接表單、命令輸入以及實時命令→輸出轉錄(帶時間戳,顏色跟隨 DSH 皮膚)。 -
多連接並行
每次調用ssh_connect都會創建獨立的 SSH 進程、輸出緩衝和命令隊列。側邊欄左側會列出各連接,點擊可切換對應的轉錄視圖。 -
Agent 工具集
本插件提供了一套 Agent 工具,不依賴 Better-sidebar。可用工具包括:
*ssh_connect:建立連接,返回connectionId。
*ssh_exec:執行命令。
*ssh_disconnect:斷開連接。
*ssh_status:查看連接狀態。
*ssh_list:列出所有連接。 -
記錄持久化
操作記錄會落盤至本機的~/.dsh/ssh-terminal-history.json,跨重啓保留。面板右上角的「清空當前」僅清理當前選中連接的記錄。
安裝與啓用¶
使用官方插件命令安裝:
dsh plugin add github:sunzhyang1616-ui/dsh-ssh-terminal
安裝後需要硬刷新瀏覽器(Cmd/Ctrl+Shift+R)以加載客戶端變更。本插件依賴 DSH web 或 DSH Desktop 環境。
典型用法¶
在使用 Agent 工具時,需注意連接的生命週期管理:
-
建立連接
調用ssh_connect。必須保存返回的connectionId,後續操作以此 ID 爲準。 -
執行命令
使用上一步獲取的connectionId調用ssh_exec。 -
並行與排隊
* 並行:不同connectionId的命令可以同時執行。
* 排隊:同一個連接內的命令會按調用順序排隊,避免寫入同一個 SSH PTY 時互相干擾。
適用場景與注意¶
- 適用場景:需要可視化查看遠程終端輸出、管理多臺遠程主機、在 Agent 工作流中嵌入 SSH 操作。
- 連接狀態:SSH 連接以 Host 進程態存在。DSH 重啓後連接會斷開,但操作記錄會保留。
- 安全建議:密碼僅在本次調用內使用,不會回顯或寫入轉錄記錄。推薦使用
identity(私鑰文件)進行認證。
結語¶
dsh-ssh-terminal 爲 DSH 插件生態提供了可視化的 SSH 能力。通過側邊欄面板與 Agent 工具的結合,可以在不中斷對話主流程的情況下,實現對遠程終端的實時監控與操作。