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。
羽毛球分组比赛记分
小程序二维码

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

小夜