dsh-remote-workspaces

前言

DeepSeek Harness (DSH) 将一切视为工作空间。传统的远程开发通常依赖 SSH 客户端或本地镜像同步,无法无缝融入 DSH 的工具链。该插件通过 SSH 协议将远程文件夹直接映射为 DSH 工作空间,使文件工具和 Shell 命令直接在远程主机上执行,无需本地镜像。

插件介绍

名称: dsh-remote-workspaces
维护者: januory
许可: MIT
包名: dsh-remote-workspaces

该插件通过一个“锚点”机制工作:在本地创建一个空的锚点目录并记录元数据,DSH 通过查找锚点将所有文件读写(SFTP)和搜索(ripgrep)操作路由到远程主机。它包含两部分:运行在 DSH 进程中的宿主端(处理路由与 SSH 传输)和浏览器端的设置界面。

核心功能

  1. 远程目录即工作空间:在浏览器中选择远程主机的目录并打开,DSH 会接管该目录。所有的文件工具(read/write/edit/grep/glob)和 Shell 命令直接在远程执行,不涉及本地镜像或同步。
  2. 多机注册表:支持添加、编辑、删除 SSH 主机(别名、主机、端口、用户、密钥或密码)。凭证在本地以 AES-256-GCM 加密存储,绝不发送回浏览器。
  3. SSH 配置导入:直接读取并导入 ~/.ssh/config 中的配置别名,自动填充连接表单。
  4. 连接测试:在使用前验证主机连通性。
  5. 透明工具路由:
    • read / write / edit 通过 SFTP 传输。
    • grep / glob 运行远程 ripgrep。
    • bash / pwsh 通过 ssh2 exec 执行。
    • 命令路由跟随会话而非路径拼写,拒绝本地运行非工作目录路径。
  6. 策略感知的远程变更:DSH 的文件策略(如 read-only、workspace-write、danger-full-access)同样适用于远程工作空间。

安装

在 DSH 终端中运行以下命令安装插件:

dsh plugin --profile web add github:januory/dsh-remote-workspaces

使用方法

  1. 打开 Settings → Remote Workspaces。
  2. 添加一个 SSH 主机(可手动输入或从 ~/.ssh/config 导入),然后点击 Test connection 确认可用。
  3. 在添加工作空间的流程中,选择该远程主机,浏览目录并打开。

注意事项

  • 前置环境:需要已安装 DeepSeek Harness(插件运行时解析宿主服务),宿主程序运行在 Node.js 22+ 上,插件本身要求 Node.js >= 18。
  • 远程依赖:远程主机需要安装 rg(ripgrep)以支持搜索功能,以及 sha256sum(或 shasum)以支持写入后的校验。两者缺失时功能会降级。
  • 传输依赖:仅依赖 ssh2 库,无需外部 SSH 二进制文件。

结语

dsh-remote-workspaces 提供了一种将 SSH 远程目录作为一等公民接入 DSH 的方案,保持了 DSH 的沙箱隔离特性,同时支持基于策略的安全远程操作。

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

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

小夜