前言¶
DeepSeek Harness (DSH) 採取插件化架構。在 Web profile 的開發場景中,開發者通常需要頻繁在瀏覽器界面和本地終端之間切換,以管理項目文件、控制 Docker 容器以及啓動/監控 Vite 開發服務器。下面介紹一個客戶端插件,旨在將文件瀏覽、Docker 與 Vite 項目管控以及終端功能集成到 DSH Web UI 的會話視圖中,減少上下文切換。
這是什麼¶
wuyh/dsh-workspace-toolbox 是一個 DSH Web UI 插件。安裝後,在會話視圖欄的“軌跡”標籤之後,會新增一個“工具箱”頁籤。該頁籤內包含四種模式:文件、Docker、Vite 和終端,提供一體化的工作區管理能力。
核心功能¶
文件瀏覽¶
- 瀏覽與導航:採用麪包屑導航,每屏顯示一層目錄,支持點擊進入和返回上級。
- 搜索:支持全工作區搜索,自動忽略
node_modules等噪音目錄。 - 預覽:支持 VS Code 風格的多標籤預覽(最多 10 個標籤),提供語法高亮(文本)、Markdown 渲染、圖片展示及二進制文件提示。
- 安全限制:僅讀取工作區邊界內文件,不支持寫入;瀏覽器端只接收相對路徑與最小元數據。
Docker 管理¶
- 連接方式:支持本地 Unix socket 連接;支持通過 SSH 隧道連接遠程服務器。
- 資源管理:提供鏡像拉取、列表與刪除,容器列表、日誌查看、啓動/停止/刪除。
- 構建與運行:支持工作區內 Dockerfile 項目的聯動構建與運行,支持配置端口與環境變量。
- 長任務:對拉取、構建、運行等長任務提供進度反饋。
Vite 項目管控¶
- 自動掃描:自動掃描工作區內包含
vite依賴或vite.config.*的項目。 - 進程管理:支持啓動(執行
pnpm run dev)與停止,自動解析端口與訪問地址。 - 日誌與訪問:提供實時日誌回顯,並支持一鍵在瀏覽器中打開頁面。
終端¶
- 多終端支持:支持 SSH 服務器終端(帶 PTY)、進入 Docker 容器終端(
docker exec)以及本地 shell。 - 渲染:基於
xterm.js,提供真實的終端渲染、尺寸自適應和滾動回看。
安裝與啓用¶
該插件需要 DSH 0.1.0-rc.6 或兼容版本,且環境需安裝 pnpm。
- 執行安裝命令:
dsh plugin --profile web add https://github.com/wuyh/dsh-workspace-toolbox/archive/refs/tags/v0.3.0.tar.gz
-
重啓 Web Profile:
安裝後需重啓 Web profile 以使插件生效(例如執行dsh web)。 -
啓用插件:
在 DSH Web UI 的會話視圖欄中,點擊新增的“工具箱”頁籤。
典型用法¶
- 文件操作:在“工具箱”-“文件”頁籤中,使用麪包屑導航進入項目目錄,利用搜索框查找文件,或雙擊文件在多標籤中預覽代碼和 Markdown 文檔。
- Docker 開發:在“工具箱”-“Docker”頁籤中,通過 SSH 隧道連接遠程 Docker 環境,拉取鏡像,構建並運行容器,通過日誌面板監控容器狀態。
- Vite 開發:在“工具箱”-“Vite”頁籤中,查看自動掃描到的項目列表,一鍵啓動開發服務器,在日誌面板查看實時輸出,或直接跳轉至頁面。
適用場景與注意¶
- 純客戶端改動:插件的純 Client 側改動支持熱更新(HMR),無需重啓;Host 側改動需重啓 profile。
- 安全性:SSH 密碼和私鑰僅在運行時內存中保存,重啓後需重新輸入。瀏覽器端僅接收相對路徑。
- 權限與依賴:插件以當前 DSH 進程的權限運行。若使用 git 源碼安裝,需確保 pnpm 版本兼容,且若 pnpm ≥10,可能需要在 profile 的
pnpm-workspace.yaml中配置allowBuilds以允許構建腳本執行。
結語¶
dsh-workspace-toolbox 通過將文件管理、容器操作和前端開發工具集成到單一界面,簡化了基於 DSH 的工作流。開發者可以在不離開 Web UI 的情況下完成大部分開發運維操作。
- 目錄頁: https://www.skillhub.cn/plugins/wuyh/dsh-workspace-toolbox
- GitHub: https://github.com/wuyh/dsh-workspace-toolbox