DeepSeek Harness SSH 会话管理插件介绍

前言

DeepSeek Harness(DSH)采用插件化架构。在本地开发或运维场景中,连接服务器通常需要维护独立的 SSH 配置文件,手动输入密码或密钥,且命令执行结果难以直接反馈给 Agent。sycada/dsh-remote-ssh-tools 是一个为 DSH 提供的 SSH 会话管理插件,它通过集中维护连接档案、提供 Agent 工具接口以及内置交互式终端,解决了远程连接与操作的安全性与效率问题。

核心功能

该插件提供以下主要能力:

  • 连接档案管理:集中维护 SSH 档案(名称、分组、主机、端口、用户、认证方式、私钥路径、备注等),支持从界面或 Agent 调用中快速读取。
  • Agent 一键执行(ssh_run):支持远程执行单条命令,可获取退出码、标准错误输出、执行耗时,并支持输出截断和超时控制。
  • 交互式终端(xterm):在浏览器内提供 xterm 终端,支持窗口缩放、会话跨页面刷新保活,关闭即结束远端会话。
  • 文件传输(SFTP):提供上传、下载、列表功能。下载默认开启防覆盖机制,上传支持自动创建远端目录。
  • 凭据安全:密码与私钥口令仅以引用名写入 DSH 凭据中心(~/.dsh/.credentials.yaml),档案 JSON 文件不包含任何明文密钥。密码值绝不进入进程命令行。
  • 主机密钥指纹缓存:支持 accept-new 和 strict 模式,首次连接自动记录指纹,防止中间人攻击。
  • Agent 工具注入:即插即用的系统提示词,Agent 可自动识别并选用可用工具。

安装与启用

安装需修改 DSH profile 的 package.json 文件,通过 GitHub 引入依赖。

  1. 打开 DSH profile 目录下的 package.json。
  2. 在 dependencies 中添加 GitHub 仓库链接(版本号 v0.1.2):
    "dependencies": {
      "dsh-remote-ssh-tools": "https://github.com/Sycada/dsh-remote-ssh-tools.git#v0.1.2"
    },
    "dsh": { "profile": { "bundles": [ "dsh-remote-ssh-tools" ] } }
  1. 在 profile 目录执行 pnpm install。
  2. 重启 DSH。

注意:npm 上存在另一个名为 dsh-remote-ssh 的包(Yan-Zero/dsh-remote-ssh,Apache-2.0),与本插件(MIT 协议,Sycada 维护)无关,安装时请确认仓库地址。

典型用法

安装并重启后,可在设置页或对话中调用相关功能:

  • Agent 执行命令:
    • 对话指令:“连生产服务器跑 df -h”,Agent 会自动选择档案执行。
    • 对话指令:“用 test 档案跑 uptime”。
  • 打开终端:
    • 在设置页点击“打开终端”。
    • 或让 Agent 执行 ssh_session_open 后调用 sidebar_open 将终端页嵌入侧边栏。
  • 文件传输:
    • 让 Agent 执行 ssh_sftp_upload、ssh_sftp_download 或 ssh_sftp_list。

Agent 工具清单

插件向 Agent 提供以下工具(共 13 个):

  • ssh_profile_list / add / update / remove:档案的增删改查。
  • ssh_profile_test:连通性及认证探测。
  • ssh_secret_status:报告凭据引用状态(不显示值)。
  • ssh_run:远程单条命令执行。
  • ssh_session_open / list / close:交互会话管理。
  • ssh_sftp_list / upload / download:SFTP 文件操作。

系统要求与限制

  • 环境要求:依赖 DSH >= 0.1.1-rc.1,Node.js >= 20。
  • Agent 转发:SSH Agent 转发(ssh -A)在 v0.1 版本的交互引擎中暂不支持。
  • 网络功能:连跳板机与端口转发功能规划中(预计 v0.2+)。

总结

该插件通过将 SSH 档案管理与 DSH 凭据中心集成,实现了远程操作的标准化与安全化。它适用于需要在对话流中直接执行远程命令、管理多服务器连接或进行文件传输的开发与运维场景。完整文档与源码可参考 GitHub 仓库。

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

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

小夜