@jmcc-guo/dsh-ssh
SSH terminal panel and AI connection manager for DeepSeek Harness: model-driven SSH connections (connect/exec/list/status/disconnect), auto-saved connection records, keep-alive + auto-reconnect, execution mutex, credential-safe auth, and an XShell-style multi-tab terminal panel in the Web GUI.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:jmcc-guo/dsh-ssh说明文档
阅读完整 README ↗@jmcc-guo/dsh-ssh
DeepSeek Harness 的 SSH 终端插件:AI 自主管理连接 + XShell 风格多标签实时终端面板。
DeepSeek Harness(DSH)的 SSH 终端插件:AI 代理可在对话中自主管理远程连接,Web GUI 右侧提供 XShell / Uniterm 风格的多标签终端面板,模型与人工执行的命令同屏实时显示。
功能
- 模型自主管理连接:
ssh_connect/ssh_exec/ssh_list/ssh_status/ssh_disconnect/ssh_exec_read/ssh_exec_kill/ssh_delete。同一服务端可建立多个独立连接(各自拥有连接名、会话状态与命令队列)。 - 自动保存与复用:连接按名称持久化(AI 与用户连接全局唯一)。重启 DSH 后,
ssh_exec直接按已保存名称自动建连执行,无需重新传参。 - 来源模型
ai/user:AI 建的连接为ai,设置页建的连接为user。AI 完全不可访问user连接(ssh_list不列出、其余工具明确拒绝);支持一次用户 → AI 所有权转移(显式确认,标签栏下方对用户创建的激活标签也提供入口),转移后互斥规则随即生效。 - 保活与重连:空闲心跳;仅意外断线自动重连(指数退避、有上限),重连成功提示"shell 状态已重置";一切显式断开(关标签、
ssh_disconnect、设置页断开按钮)均不自动重连。 - 执行互斥(仅
ai来源):AI 执行期间终端输入被服务器端丢弃并显示"AI 正在执行中…";AI 对"共享终端 shell 仍活跃"的连接ssh_exec会等待其静默(默认 2 秒无输出/输入)或返回"连接忙"。 - 标签联动:人工关闭标签 → 立即断开(无确认弹框);AI 断开 → 标签保留显示已断开、可一键重连;模型自动建连成功 → 自动打开/复用标签。标签栏 "+" 按钮可打开已保存连接(每个选择都会新建一个标签/会话——即使同一连接已在其他标签中连接)或手动输入新建连接。
- 实时终端分栏:终端面板打开时位于 DSH 原生右侧详情列(对话区收缩,不遮挡);关闭后原始右列(工具详情)原样恢复,右侧细条可重新打开面板。每条连接持有一个真实交互式 shell(PTY):登录横幅(motd / Last login)、远端提示符
user@host:路径$、输入回显、cd后路径跟随变化——与原生 SSH 客户端观感一致;没有独立输入框、没有复制按钮,点击终端后直接键入,击键直达远端 shell(支持方向键、Tab、Ctrl-C、粘贴、IME);聚焦后显示闪烁块光标;AI 执行的命令以来源标记同屏显示;多标签、ANSI 颜色、滚动回看。 - 设置页管理连接:设置 → "SSH 连接" 页面集中管理新建、编辑(可重命名)、删除连接及其凭据(密码/私钥存入 DSH 凭证库)、连接/断开。终端分栏内不含增删改功能。
- 凭证安全:密码/私钥只进 DSH 凭证库(生成式引用),记录文件、日志、工具返回均不含明文;工具参数内联密钥被拒绝;认证失败返回脱敏的可读原因。