omdsh-remdev:DeepSeek Harness 的 SSH 远程开发插件

前言

DeepSeek Harness(DSH)的设计理念是“一切皆插件”。默认情况下,工作区、终端和代理在本地运行。如果需要将开发环境迁移到远程服务器,omdsh-remdev 提供了一种标准化的连接方式,使得远程工作区在操作逻辑和界面表现上与本地工作区保持一致。

插件介绍

omdsh-remdev 是一个由 omdsh-plugins 维护的客户端插件。它的核心作用是将 DSH 工作区连接到 SSH 服务器。连接建立后,工作区的文件、终端、对话和代理都会在服务器上运行,包括“Work”模式。

核心功能

该插件在界面交互和底层服务上做了以下增强:

  • 远程连接入口:在侧边栏“Workspaces”栏的尾部,会出现一个“Remote connect”按钮。
  • 远程开发窗口:通过快捷键或按钮打开,用于管理服务器列表、配置和实时日志。
  • 插件中心卡片:在 DSH 的插件中心显示服务器列表、可调优参数以及凭证管理。
  • 会话管理:在会话头部增加“在服务器上”按钮,用于快速切换到远程窗口;支持列出服务器上的会话列表并恢复对话。
  • 技能同步:通过 SFTP 将挂载项目的技能目录(.dsh/skills、.agents/skills)同步到本地,使 Agent 能访问远程技能。
  • 快捷命令:注册了 remdev.connect 快捷命令,默认组合键为 CmdOrCtrl+Shift+C。
  • 设置命名空间:提供 omdsh-remdev 设置命名空间,用于存储服务器和凭证信息。
  • 标识:远程工作区行会显示地球图标,以区分本地和远程。

使用方式

  1. 打开远程窗口:使用快捷键 CmdOrCtrl+Shift+C,或点击侧边栏尾部的“Remote connect”按钮。
  2. 选择主机:在弹出的窗口中选择要连接的 SSH 服务器。
  3. 配置工作区:选择服务器上的文件夹,插件会自动在该目录上创建一个“普通工作区镜像”。
  4. 同步技能:连接建立后,项目中的技能文件会通过 SFTP 自动挂载到本地。

技术实现细节

  • 普通工作区镜像:插件会在本地 $DSH_HOME/remotes/<server>/<project> 创建一个真实的、空的镜像目录。这个目录作为占位符,让 DSH 的文件系统、会话存储等组件能够像处理本地目录一样处理远程连接。
  • 技能提供者:插件注册了一个名为 remdev 的服务提供者。当 Agent 需要读取文件或启动进程时,会先询问这个服务。如果当前路径属于挂载的远程项目,它会通过 SFTP 读取技能文件(.dsh/skills 或 .agents/skills)。
  • 资源访问限制:技能中的 resourceBase 被定义为“不透明”而非目录。这意味着技能模板和脚本存在于服务器上,本地工具无法直接读取。Agent 需要通过远程终端或文件面板来使用这些资源。

注意事项

  • 系统要求:插件运行需要 Node.js 版本 ^22.19.0 || >=24.0.0,并使用 pnpm@11.7.0。
  • 变更监听:远程目录的变更不会被实时监视。如果服务器上的文件或技能发生变化,需要在插件中心手动刷新或重新连接才能看到更新。
  • 资源访问:由于 resourceBase 是不透明的,本地 Agent 无法直接读取远程技能的模板文件,必须通过远程工具访问。
  • 许可协议:该插件使用 MIT 许可证。

结语

该插件将 SSH 远程开发能力无缝集成到 DSH 中,使得在远程服务器上维护文件、运行终端和执行 Agent 任务成为可能。

  • 插件目录:https://www.skillhub.cn/plugins/omdsh-plugins/omdsh-remdev
  • GitHub 仓库:https://github.com/omdsh-plugins/omdsh-remdev
羽毛球分组比赛记分
小程序二维码

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

小夜