前言¶
用 DSH 幹活時,工作區基本是個黑盒。左側欄只列會話,看不到工作區裏實際有哪些文件和目錄;想讓 DSH 操作某個文件,只能憑記憶敲路徑,或者先讓它 ls 一圈;任務跑到一半想確認剛纔生成了什麼,還得切到獨立的文件管理器。對智能體開發者來說,這些動作看起來都不大,但每次打斷都影響節奏。
下面介紹的插件 dsh-workspace-explorer(維護者 gaor0605-kq)就是把工作區搬進 DSH 左側欄:一邊跑任務一邊瀏覽文件,找到需要的那個,拖進對話,DSH 就能按路徑讀取或修改。它屬於客戶端類插件。
這是什麼¶
一句話定位:在 DSH 左側欄的 Chats / Files 開關里加一個工作區文件瀏覽面板,支持拖拽或一鍵插入 @path 引用。
它解決的是「工作區不可見」和「路徑靠記憶輸入」這兩個具體問題。維護者爲 gaor0605-kq,倉庫地址見文末。README 中給出的版本爲 1.2.0,許可證 MIT。
核心功能¶
- 左側欄 Chats / Files 切換 — Workspace 頭部旁邊有個緊湊的分段控件。Files 用當前會話的工作區樹替換會話列表,Chats 切回來。最後使用的視圖會被記住。
- 懶加載文件樹 — 目錄只在展開時加載,大工作區也不會卡。支持過濾已展開條目、全部摺疊、重新加載。
- 拖拽引用 — 把文件或文件夾拖到對話區域,編輯器裏會插入
@path形式的引用(路徑含空格時是@"path",文件夾以/結尾)。發送後 DSH 按路徑讀取,或按你的要求修改。 - 一鍵插入 — 鼠標懸停在某一行,點 ⤶ 插入同樣的引用。
- 點擊預覽 — 點擊文件會在右側欄打開 DSH 內置預覽。
- 右鍵菜單 — 文件可「Open containing folder」(在 Explorer / Finder 中顯示並選中),文件夾可「Show in file manager」。菜單裏還有 Preview、Insert into the composer、Copy full / relative path。用 Menu 鍵或 Shift+F10 也能從鍵盤打開。
- VS Code 風格的 Git 狀態 — 文件名按相對上次提交的狀態着色,右側顯示單個字母:
M已修改(黃色)、U未跟蹤 /A已添加(綠色)、D已刪除(紅色刪除線,原地保留)、!合併衝突;被 .gitignore 忽略的條目變暗;內部有改動的文件夾顯示圓點。如果工作區本身不是倉庫,會像 VS Code 一樣拾取下一層的倉庫。每 5 秒、窗口獲得焦點、以及點擊 Reload 時更新。只執行只讀的git status,不會修改倉庫。 - 可選的右側欄視圖 — 右側欄的 guide 裏也提供「Workspace explorer」,樹結構相同,適合寬屏。
安裝與啓用¶
DSH Desktop:在應用內 Settings → Plugins 安裝(或從 dshmarket 插件市場一鍵安裝)。
CLI(把 web 換成你實際使用的 profile):
# 從 npm 安裝
dsh plugin --profile web add dsh-workspace-explorer
# 或直接從 GitHub 安裝
dsh plugin --profile web add github:gaor0605-kq/dsh-workspace-explorer
安裝後需要重新加載 DSH 頁面(Ctrl+F5),左側欄纔會出現開關。
典型用法¶
- 打開文件視圖 — 在左側欄 Workspace 頭部旁的開關裏,點 📁 Files。
- 找到文件 — 展開目錄;條目多時在過濾框裏輸入,縮小已展開的條目範圍。
- 交給 DSH — 兩種方式:把文件/文件夾拖到對話區域(虛線提示出現時鬆開),或懸停在某一行點 ⤶。編輯器裏會出現
@src/app.ts這樣的引用,然後補充你的請求:
@src/app.ts check the login logic in this file for bugs
@docs/ summarize the documents in this folder into an index
- 回到會話 — 點開關裏的 💬 Chats。
注意:樹展示的是當前打開會話的工作區;沒有打開會話時會提示先開一個。
適用場景與注意¶
適合長期在 DSH 裏做開發、需要頻繁讓 DSH 讀寫工作區文件的場景。拖拽插入的是文本引用 @path,發送後 DSH 按需讀取,不會上傳成附件。只能瀏覽當前會話工作區內的文件。
幾點限制:README 寫明在 DSH 0.2.1-rc.5(Web GUI / Desktop)上測試過;DSH 目前沒有在左側欄 Workspace 頭部提供正式的擴展位,插件是從當前側邊欄佈局裏定位插入點,如果 DSH 更新改了佈局,開關可能退化到側邊欄底部;左側欄收縮成圖標欄時開關會隱藏。”Open containing folder” 依賴 DSH 內置的 “Show file location”,只在 DSH 運行於自己桌面時可用,遠程 Web GUI 下該項被禁用。
安全方面:插件以 DSH 當前進程的權限運行,安裝前應檢查源碼與許可證。隱私上,它只通過 DSH 自身的 workspace-files API 列目錄,不讀取文件內容、不發起網絡請求、不收集數據。倉庫許可證爲 MIT。
結尾¶
dsh-workspace-explorer 的價值不復雜:把工作區可見性補上,把「輸入路徑」換成「拖一下」。如果你的多數時間都在 DSH 會話裏改文件,值得一裝;如果只在遠端 Web GUI 用、又恰好不需要 Open containing folder,收益相對有限。
目錄頁:https://www.skillhub.cn/plugins/gaor0605-kq/dsh-workspace-explorer
倉庫:https://github.com/gaor0605-kq/dsh-workspace-explorer