dsh-remote-development:DeepSeek Harness 的轻量级 SSH 远程开发插件

前言

在 DeepSeek Harness (DSH) 的插件化架构中,智能体通常在本地运行,使用本地的文件系统和 Shell 工具。当需要在远程服务器(如开发环境、生产沙箱)上进行开发时,现有的工具栈无法直接生效。dsh-remote-development 插件通过路由机制,将本地的工具调用转换为远程 SSH 执行,无需为模型添加额外的工具或第三方 UI 组件。

插件简介

名称:cjylzs/dsh-remote-development
维护者:CJYLZS
定位:一款轻量级远程开发插件。它允许用户通过 SSH 连接远程机器,将远程目录指定为工作区,使智能体使用与本地完全相同的工具集在远程环境中工作。

核心功能

  • 一致的工具集:插件不增加新的模型工具。智能体使用的文件、Shell 和 Bash 工具保持不变,插件在底层将其转换为远程执行。
  • 零远程依赖:远程机器无需安装额外的服务器端组件,仅通过 SSH 连接即可工作。
  • Web GUI 集成:在 Web 界面管理 SSH 连接(支持密码、私钥、SSH Agent、跳板机),并提供自定义机器标记颜色。
  • 路由提供者:通过 RoutingFileSystem、RoutingSubprocessRuntime 和 RoutingBashExecutor 替换底层提供者,实现文件系统、子进程和 Bash 的远程路由。
  • SFTP 会话多路复用:所有文件操作共享一个 SFTP 会话,避免连接耗尽。
  • 远程工作区目录流:在 Web 界面选择远程目录作为会话工作区。

安装与启用

安装前请检查当前 dsh 版本,并确保插件版本与宿主版本匹配,否则会导致启动错误或命令失败。

dsh -V

根据你的 dsh 版本选择对应的安装命令:

  1. dsh ≥ 0.1.7-alpha.1 (推荐 v0.2.x):
    dsh plugin add --profile web github:CJYLZS/dsh-remote-development#v0.2.0
  1. dsh 0.1.2-rc.1 – 0.1.5-rc.x (v0.1.x):
    dsh plugin add --profile web github:CJYLZS/dsh-remote-development#v0.1.0

安装完成后,必须重启 Harness 才能生效。

典型用法

使用流程非常简单,仅需三步:

  1. 添加机器:在 Web GUI 的 dsh-remote-development 设置页面中配置目标机器的地址、端口、用户名,选择认证方式(密码/私钥/Agent),并测试连接。
  2. 选择远程目录:在工作区目录流(主对话框或侧边栏)中,切换到 Remote 标签页,浏览并选择一个远程机器的目录作为会话工作区。
  3. 正常工作:此时即可像在本地一样使用文件工具和 Shell。智能体会自动使用远程路径作为工作目录,无需特殊指令。

注意事项

  • 版本兼容性:插件必须与宿主 dsh 版本匹配。版本不匹配会导致启动时报错(如 Cannot read properties of undefined)或命令执行失败(如 shell.run is not a function)。
  • 机器删除影响:如果远程工作区对应的机器被删除,远程工作区操作将直接失败并提示 “machine is no longer configured”。
  • 锚点机制:只有选中目录下的操作才会执行远程逻辑。选中目录之外的路径将保持本地行为,不会受插件影响。
  • 重启要求:安装新版本或修改配置后,建议重启 Harness。

生态背景

DeepSeek Harness 的设计理念是「一切皆插件」。该插件属于社区维护的插件项目,旨在扩展 Harness 的远程开发能力。更多详情可参考 技能树插件目录 或 GitHub 仓库。

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

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

小夜