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

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

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

小夜