在使用 DeepSeek Harness (DSH) 进行开发或运维时,我们通常局限于本地计算机的环境。如果需要操作远程 Linux 服务器,往往需要额外的 SSH 连接脚本或手动登录,这增加了操作步骤和出错概率。DSH Remote SSH 插件提供了直接的解决方案,它允许 DSH 的原生工具直接在远程服务器上执行。
这是什么¶
这是一个由 NaNQiQ 维护的 DSH 插件。它的核心作用是让 DSH 的原生工具(如 read、write、edit、glob、grep、bash、terminal 等)在远程 Linux 服务器上运行。目标服务器不需要安装 DSH、Node.js 或 Python,插件通过 SSH/SFTP 协议与远程环境交互,从而扩展了 DSH 的操作范围。
核心功能¶
- 服务器管理:可以在 DSH Web UI 中添加、测试、管理和选择 SSH 服务器。
- 环境切换:在本地计算机和已保存的服务器之间切换执行环境。
- 原生工具保留:保持使用官方 DSH 工具,而非削减版的
ssh_*替代品。 - 协议支持:使用 SFTP 处理文件,使用 SSH exec/shell 执行命令,使用 SSH PTY 处理交互式终端。
- 搜索行为一致:在保留原生
glob / grep行为的同时,会解析并缓存远程 Linux 主机的 ripgrep。 - 认证方式:支持通过 SSH Agent、私钥文件或临时密码进行认证。
- 安全校验:首次连接时会验证 SSH 主机密钥指纹,防止意外更改。
- 连接复用:重用 DSH Host 维护的连接,避免每条消息都重新登录。
安装与启用¶
确保系统已安装 Node.js 24 或更新版本,且 dsh 和 pnpm 在 PATH 中。执行以下命令安装并启动:
dsh plugin --profile web add github:NaNQiQ/deepseek-harness-remote-ssh
dsh web
典型用法¶
- 启动
dsh web。 - 在对话编辑器旁边打开执行环境选择器。
- 选择 Add server。
- 填写连接信息、认证方式和默认工作目录设置。
- 按照内置的认证指南操作,并验证服务器指纹。
- 点击 Test and save。
- 在选择器中点击已保存的服务器。
此后,模型将继续使用官方 DSH 工具,只是这些工具背后的执行位置变成了远程服务器。
适用场景与注意¶
- 目标环境:目标必须是安装了 SSH、SFTP 和 POSIX shell 的 Linux / Unix 主机。
- 工作目录:每个服务器可以定义默认工作目录,这是初始的
cwd,并非路径沙箱。 - 权限控制:实际访问权限等于远程 SSH 账户的权限。
- 文件系统隔离:Remote Provider 不会将 DSH Host 的本地文件系统暴露给远程执行环境。
- 密钥管理:模型 API 密钥和 Base URL 仍由 DSH 管理,插件不读取或存储这些敏感信息。
- 重启要求:更新或移除插件后,需要重启 DSH。
总结¶
DSH Remote SSH 通过封装 SSH 协议,让 DSH 的工具生态无缝延伸至远程服务器。开发者无需在目标服务器上部署环境,即可利用现有的工具链进行远程操作。插件源码位于 GitHub:https://github.com/NaNQiQ/deepseek-harness-remote-ssh。