在 DeepSeek Harness (DSH) 的开发环境中,频繁地创建和初始化工作区是常态。如果每次都需要手动在宿主机上执行 git clone,再手动配置路径,流程既繁琐又容易出错。dsh-workspace-git 插件通过扩展 DSH 原生的“添加工作区”流程,直接在 Web 界面中集成了 Git 仓库克隆功能,简化了这一过程。
这个插件由 leonardoxr 维护。它复用了 Harness 的标准工作区添加流程,并在此基础上增加了“克隆 Git 仓库”的选项,允许用户直接输入 URL 进行操作。
核心功能¶
该插件主要提供以下能力:
- 扩展原生流程:直接集成到 DSH 现有的“添加工作区”界面中,无需切换终端或外部工具。
- 仓库克隆:支持通过 Git URL 克隆仓库并将其作为工作区创建。
- 安全执行:宿主在非 Shell 环境下运行
git clone,并在一个私有的临时目录中进行。这意味着即使克隆失败,也不会覆盖或破坏现有的目标文件夹。 - 交互控制:禁用了交互式 Git 提示,防止请求在等待终端输入时挂起。
- 凭证支持:保留了 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,客户端包元数据会在启动时扫描。
典型用法¶
安装插件后,打开工作区管理界面,新增的插件会提供两个选项卡:
- Existing folder:选择现有文件夹或输入绝对路径。
- 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 进程的权限运行,安装前请务必核实源码与许可证。