dsh-workspace-git: 从 Git URL 直接创建 DeepSeek Harness 工作区

在 DeepSeek Harness (DSH) 的开发环境中,频繁地创建和初始化工作区是常态。如果每次都需要手动在宿主机上执行 git clone,再手动配置路径,流程既繁琐又容易出错。dsh-workspace-git 插件通过扩展 DSH 原生的“添加工作区”流程,直接在 Web 界面中集成了 Git 仓库克隆功能,简化了这一过程。

这个插件由 leonardoxr 维护。它复用了 Harness 的标准工作区添加流程,并在此基础上增加了“克隆 Git 仓库”的选项,允许用户直接输入 URL 进行操作。

核心功能

该插件主要提供以下能力:

  1. 扩展原生流程:直接集成到 DSH 现有的“添加工作区”界面中,无需切换终端或外部工具。
  2. 仓库克隆:支持通过 Git URL 克隆仓库并将其作为工作区创建。
  3. 安全执行:宿主在非 Shell 环境下运行 git clone,并在一个私有的临时目录中进行。这意味着即使克隆失败,也不会覆盖或破坏现有的目标文件夹。
  4. 交互控制:禁用了交互式 Git 提示,防止请求在等待终端输入时挂起。
  5. 凭证支持:保留了 SSH agents 和配置好的 credential helpers 的功能,确保远程仓库访问正常。

安装与启用

安装该插件需要满足环境要求,并使用指定的命令。

环境要求:
* DeepSeek Harness 0.1.1-rc.2 或兼容版本
* Node.js 22+
* Harness 宿主机的 PATH 中包含 git 命令

安装命令:

dsh plugin --profile default add github:YOUR_ORG/dsh-workspace-git#COMMIT_SHA

安装完成后,需要重启 dsh web 服务并刷新 Web UI,客户端包元数据会在启动时扫描。

典型用法

安装插件后,打开工作区管理界面,新增的插件会提供两个选项卡:

  1. Existing folder:选择现有文件夹或输入绝对路径。
  2. Clone Git repository:输入 Git 仓库地址、父级文件夹路径以及新仓库名称。

系统会在后台执行克隆操作,完成后将路径返回给 Harness 的工作区创建流程。

配置与注意事项

pnpm 10 兼容性:
从 pnpm 10 开始,默认会阻止依赖包的构建脚本。如果在安装过程中遇到构建脚本被阻止的情况,需要在 profile 的 pnpm-workspace.yaml 中添加以下配置:

allowBuilds:
  dsh-workspace-git: true

配置持久化:
插件的配置(如超时时间、最大输出字节数)位于 Settings → Plugins → Git workspaces。修改后需要点击“Save”,配置会持久化保存,并需重启 DSH Web 才能生效。

配置项:
可以通过配置 workspace-git 行来调整默认行为。例如在 profile patch 中:

- insert:
    - id: workspace-git
      name: dsh-workspace-git
      config:
        timeoutMs: 600000
        maxOutputBytes: 65536
  • timeoutMs:克隆超时时间,默认 10 分钟。
  • maxOutputBytes:克隆失败时返回的最大输出字节数,默认 64 KiB。

适用场景

  • 需要从 Git 仓库快速拉取代码作为开发环境。
  • 需要在自动化脚本或工作流中动态指定仓库 URL 创建工作区。

安全提示:该插件以 DSH 进程的权限运行,安装前请务必核实源码与许可证。

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

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

小夜