dsh-multi-folder: Secondary Working Directories for DSH

前言

在 DSH (DeepSeek Harness) 的使用中,Agent 通常被限定在單一的工作目錄下運行。當需要在同一個會話中同時處理多個項目或文件夾時,頻繁切換工作目錄或調整權限配置會增加操作複雜度。

dsh-multi-folder 插件爲 DSH 項目引入了次要工作目錄的概念。它允許 Agent 保持主工作區不變,同時通過 @ 語法訪問配置好的次要目錄,並在 workspace-write 模式下獲得這些目錄的讀寫執行權限。

插件簡介

該插件由 HelloQingTao 維護,基於 AngelosZou/dsh-multi-folder 的早期工作(MIT 許可證)。它擴展了 DSH 的文件系統能力,使 Agent 能夠像操作主目錄一樣操作多個輔助目錄。

核心能力

  • 菜單集成:在 Composer 的 + 菜單中顯示 “Multi-folder” 條目。點擊可打開原生目錄瀏覽器(當原生不可用時,會降級到插件自繪的目錄瀏覽器)或直接進行添加/移除操作。
  • 文件引用:在輸入框中輸入 @,系統會列出次要目錄中的文件。選中的路徑爲絕對路徑,Agent 可直接讀取。支持使用 Tab 鍵在目錄列表中下鑽。
  • 權限與重定向:在 workspace-write 模式下,Agent 對次要目錄擁有完整的讀寫執行權限。write、edit、pwsh、bash 等工具會自動將上下文重定向到對應的次要目錄。
  • 跨窗口同步:配置存儲在宿主級的共享存儲中。在另一個窗口修改配置,或直接編輯 JSON 文件,當前窗口在下一次讀取時即可生效,無需重啓後端。

安裝與啓用

安裝該插件需要滿足以下前置條件:
* Node.js 版本 >= 20
* DSH 版本 >= 0.1.7

執行以下命令進行安裝:

dsh plugin --profile web add @zfgcta/dsh-multi-folder

安裝完成後,必須重啓 DSH 後端以加載插件,並刷新瀏覽器頁面。

典型用法

命令行管理

你可以通過命令行工具對次要目錄進行管理:

/multi-folder list
/multi-folder add "D:\path\to\repo"
/multi-folder remove "D:\path\to\repo"
/multi-folder set "D:\a" "D:\b"

交互式引用

在輸入框中輸入 @,系統會將次要目錄作爲獨立分組展示。選中目錄後按 Tab 鍵可以進入子目錄瀏覽。

注意事項

  • 運行時衝突:該插件與 AngelosZou/dsh-multi-folder 共享運行時命名空間,請勿同時安裝兩者。
  • Windows ACL 限制:在 Windows 環境下,如果一個進程樹只有一個可寫根目錄,命令若停留在主工作區則無法在次要目錄中創建文件。遇到此類情況時,插件會在工具結果中提示必須傳遞 workdir 參數(指向絕對路徑)。
  • 配置生效:配置更改在消息或工具調用邊界時生效,無需中斷當前會話。

總結

dsh-multi-folder 通過引入次要工作目錄,解決了 DSH Agent 在單會話多項目場景下的文件操作限制。它提供了直觀的菜單集成和命令行接口,並處理了權限和路徑重定向的細節,適合需要在同一環境中管理多個代碼庫的開發者。

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

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

小夜