在 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 進程的權限運行,安裝前請務必覈實源碼與許可證。