DeepSeek Harness 插件:dsh-plugin-multi-root-workspace

DSH(DeepSeek Harness)的 Agent 默認工作在單一的工作目錄下。當開發涉及多個獨立 Git 倉庫的項目時,Agent 需要在不同目錄間切換,或者通過額外的工具來處理文件讀寫,這增加了會話管理的複雜度。

dsh-plugin-multi-root-workspace 插件解決了這個問題。它由 cherrchen 維護,將 DSH Workspace 的可寫範圍從單一的“主根”擴展爲“主根 + N 個附加根”。Agent 可以直接訪問這些目錄,無需頻繁切換上下文,也不需要學習新的工具。

核心能力

這個插件主要提供以下能力:

  • 擴展 Workspace 可寫範圍:支持“一個主根 + N 個附加根”的配置模式,Agent 可以同時讀寫多個目錄。
  • 零學習成本:Agent 繼續使用原生的 read / write / edit / bash 工具,插件不新增任何 workspace_* 工具。
  • 安全不降級:多根授權走內核級沙箱機制(macOS Seatbelt / Linux bwrap / Landlock),fs 與 bash/PTY 共享同一條安全邊界。
  • 不修改上游倉庫:以 bundle patch 的方式替換上游包,屬於 out-of-tree bundle。
  • 多版本兼容:支持多 DSH 運行時版本,兼容範圍從 0.1.5-rc.2 至 0.1.7-rc.2。
  • 管理與 GUI:提供 /workspace-folders 命令行管理工具,並在側欄提供 Folders 面板。

安裝與啓用

在 DSH 運行時(web / Electron 桌面 / headless 均可)中,通過以下命令安裝插件:

dsh plugin --profile web add @dsh-electron/dsh-plugin-multi-root-workspace

安裝注意事項:
* 首次安裝:插件包含一個原生依賴 koffi。首次執行上述命令時,需要回答 allowBuilds(允許構建),否則安裝會因 [ERR_PNPM_IGNORED_BUILDS] 失敗。
* 版本要求:DSH 運行時版本必須在支持清單內(0.1.5-rc.2 至 0.1.7-rc.2),否則插件無法啓動。

安裝完成後,啓動 DSH,側欄底部會出現 Folders 動作,或者直接在會話中輸入命令進行管理。

使用方法

命令行管理

在會話中可以直接使用以下命令管理多根目錄:

/workspace-folders                    # 列出主根與附加根
/workspace-folders add ~/code/another-repo   # 添加一個附加根(無參數時打開系統目錄選擇器)
/workspace-folders alias 1 支付        # 給第 1 個附加根起別名
/workspace-folders remove 1           # 按序號或路徑移除
/workspace-folders reveal 1           # 在文件管理器中顯示該目錄

GUI 管理面板

側欄底部的 Folders 面板提供了圖形化界面。面板列出主根與附加根,支持添加、移除、別名、複製路徑以及在文件管理器中顯示等操作。根目錄狀態會如實顯示,如 missing(暫時不存在)或 redirected(符號鏈接指向變化)。

注意事項

  • 平臺限制:Windows 平臺僅支持 fs 寫路徑覆蓋附加根,受限的 bash/PTY 不包含此功能。
  • 配置校驗:Misconfiguration(配置錯誤)一律響亮報錯,插件不會靜默降級。
  • 開發要求:如果從源碼構建或參與開發,需要 Node.js ^22.19.0 || >=24 和 pnpm 11。
羽毛球分组比赛记分
小程序二维码

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

小夜