前言¶
DeepSeek Harness (DSH) 在本地环境中运行时,标准工具通常仅限于操作本地文件系统。当智能体需要在云端虚拟机、高性能 GPU 实例或容器集群等远程环境执行任务时,开发者往往需要编写临时的 SSH 脚本或依赖外部工具。这种方式存在连接不稳定、文件操作脆弱(易出现半写文件)以及缺乏冲突检测等问题。
dsh-remote-workspace 插件旨在解决上述问题。它将企业级的远程开发子系统直接集成到 DSH 框架中,提供持久的 SSH2 连接池、原子性 SFTP 文件操作、冲突感知的三向同步以及动态端口转发能力。
插件介绍¶
- 名称:
dsh-remote-workspace - 维护者: GooDAnDReaDY
- 分类: 联网工具
- 定位: DeepSeek Harness 的企业级远程工作空间解决方案,支持 SSH、SFTP 文件同步与隧道。
核心功能¶
该插件通过 SshService、RemoteFsService、MirrorSyncService 和 TunnelService 四个核心模块提供以下能力:
-
SSH2 连接池与认证
- 连接池: 按照主机、端口、用户名维护可复用的 SSH2 会话,减少频繁连接带来的开销。
- 认证方式: 支持 SSH 私钥(含路径或 PEM 字符串)、密码以及 SSH Agent 代理。
- 高级特性: 支持
proxyCommand模式(OpenSSH 风格)与跳板机(Bastion)配置,支持心跳保活以防止防火墙断开。 - 重连机制: 连接在命令输出前断开时,会尝试自动重连(最多 3 次)。
-
原子性 SFTP 文件操作
- 安全写入: 文件上传时先写入临时文件,完成后原子重命名,防止网络中断导致文件损坏。
- 文件系统操作: 提供
stat、listDir、递归mkdir、递归remove等基础操作接口。
-
冲突感知的三向同步
- 状态追踪: 在同步目录维护
.dsh-sync-manifest.json基线文件,记录 SHA-256 哈希值。 - 冲突检测: 在同步前比对本地与远程文件状态,若发生冲突则停止操作并报告,避免静默覆盖。
- 同步方向: 支持
pull(远程 → 本地)和push(本地 → 远程)。 - 智能排除: 内置默认忽略规则(
.git,node_modules,.DS_Store等)。
- 状态追踪: 在同步目录维护
-
动态 SSH 端口转发
- 支持本地端口转发,允许通过 DSH 主机的本地端口安全访问远程服务(如 Web 服务或 API)。
-
交互式 UI
- 提供一个 Web UI 设置卡片,用于可视化管理连接、配置和隧道。
环境与依赖¶
在安装和使用该插件前,需满足以下环境要求:
- 运行环境: Node.js 20 或更高版本。
- DSH 版本: 需要安装以下 Peer Dependencies(核心依赖):
@deepseek-ai/cordis(建议版本 ^4.0.1)@deepseek-ai/dsh-host-webserver(建议版本 ^0.1.0-rc.6)@deepseek-ai/dsh-settings(建议版本 ^0.1.0-rc.6)@deepseek-ai/dsh-tools(建议版本 ^0.1.0-rc.6)@deepseek-ai/schemastery(建议版本 ^3.18.1)
使用方式¶
插件提供了一组工具供智能体调用,主要包括:
- remote_exec: 在远程服务器上执行命令。
- remote_fs: 执行文件系统操作。
- sync: 同步文件(支持冲突检测)。
- tunnel: 创建 SSH 端口转发。
注意事项¶
- 权限安全: 该插件以当前 DSH 进程的权限运行。在安装前,请务必检查插件的源代码与许可证(MIT)。
- 连接管理: 空闲连接池(无隧道且无运行命令)在 30 分钟后会自动关闭。
- 终端会话: 终端会话不共享连接池,关闭终端仅关闭该 SSH 会话。
总结¶
dsh-remote-workspace 为 DeepSeek Harness 填补了远程操作能力的空白。通过连接池、原子文件操作和三向同步机制,它能够安全、稳定地处理远程开发任务,减少手动脚本的维护成本,并提升智能体在分布式环境中的协作能力。
- 目录页: https://www.skillhub.cn/plugins/GooDAnDReaDY/dsh-remote-workspace
- 源码地址: https://github.com/GooDAnDReaDY/dsh-remote-workspace