前言¶
在 DSH web 中執行任務時,下載進度可能分散在 URL 下載、shell 命令、SSH 傳輸和工作區文件增長裏。開發者通常只能依賴終端日誌、工具輸出或手工查看目標文件,難以判斷一個任務還剩多少、是否已經卡住。
DSH 通過插件擴展 web 能力,dsh-download-progress 就是這類 DSH web 插件。它把 URL 下載、agent shell/SSH 傳輸和工作區黑箱下載放到同一個右下角面板中,即時顯示字節數、速度、百分比與預計剩餘時間。
這是什麼¶
dsh-download-progress 是一個 DSH web 插件,倉庫地址是:
https://github.com/Fro2en12/dsh-download-progress
它主要解決三類問題:
1、從 URL 發起下載時,缺少集中的進度展示。
2、agent 通過 pwsh/bash 或 SSH 工具觸發下載時,進度混在工具輸出裏。
3、工作區中出現無法明確解析目標的下載文件時,缺少一個兜底觀察入口。
項目基於 MIT 協議開源。項目聲明其爲 AI 產物:功能設計、架構選型、代碼編寫、測試與文檔均由 AI 在對話中迭代完成,人工僅提供需求與驗收反饋。
核心功能¶
下面按任務來源介紹。
面板 URL 下載與模型工具¶
插件提供 download_url 和 download_status 兩個模型工具。
download_url:讓 agent 後臺下載 URL,並顯示百分比、速度、ETA。download_status:查詢任務即時進度。
用戶也可以在面板中直接輸入 URL 發起下載。
shell 命令傳輸追蹤¶
插件會解析 pwsh/bash 工具命令中的常見下載命令:
curl -o
Invoke-WebRequest -OutFile
wget -O
解析成功後,會提取目標路徑與 URL,並在面板中顯示進度。
對於無法解析目標文件的命令,例如 wsl、apt、pip、npm、git clone、docker pull 等,也會顯示爲安裝/下載任務,至少展示已用時間。
SSH 傳輸追蹤¶
插件會自動追蹤 ssh_download 與 ssh_upload 傳輸進度,並保留向後兼容。
需要注意:DSH 0.1.1 官方包已不含 ssh 工具,ssh_download/ssh_upload 追蹤僅在第三方/舊版工具存在時生效。
工作區黑箱監控¶
插件每 1.5s 掃描 workspaceRegistry 中全部工作區頂層,捕捉增長 ≥64 KB 的文件或新目錄的黑箱下載。
面板交互¶
右下角膠囊按鈕與面板可拖拽,並可一鍵復位。活動任務顯示即時百分比、速度與已用時間。
安裝與啓用¶
方式一:插件市場¶
在 GUI 內打開插件市場,搜索:
dsh-download-progress
然後一鍵安裝。
方式二:dsh plugin add¶
運行:
dsh plugin --profile web add https://github.com/Fro2en12/dsh-download-progress
方式三:手動掛載¶
先克隆倉庫:
git clone https://github.com/Fro2en12/dsh-download-progress
然後在 profiles/web/cordis.patch.yml 的 plugins 後追加 insert 配置。
經過上面任一步驟後,重啓 dsh web,右下角出現下載膠囊按鈕即成功。
典型用法¶
手動下載¶
點擊膠囊展開面板,粘貼 http(s) 鏈接,可選填保存路徑。
保存路徑可以是絕對路徑,也可以是相對工作區根目錄的路徑。完成後回車或點「下載」。
自動追蹤¶
無需額外配置。以下任務會自動出現在列表中:
- agent 的
ssh_download/ssh_upload pwsh/bash裏的curl、Invoke-WebRequest、wget- 工作區中任何增長中的文件
取消與清理¶
- 面板發起的 URL 下載可在面板取消,也可由工具調用信號自動取消。
- SSH/shell 傳輸請中斷對應工具調用。
- 可移除單條記錄,也可清空全部已完成/失敗記錄。
環境與依賴¶
插件要求:
node >=20
並聲明以下 peerDependencies:
@deepseek-ai/cordis ^4.0.1
@deepseek-ai/dsh-host-webserver ^0.1.1-rc.2
@deepseek-ai/dsh-tools ^0.1.1-rc.2
@deepseek-ai/schemastery ^3.18.0
配置經插件內嵌的 Schemastery Config 校驗,非法值會在加載期響亮失敗。
適用場景與注意¶
適合在 DSH web 中頻繁執行 URL 下載、包管理器安裝、SSH 傳輸,或需要觀察工作區文件增長的開發者與智能體使用者。
使用前注意:
1、插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
2、本項目爲 AI 產物,開發過程中經真機驗證,但邊界情況無法窮盡,生產使用前請自行審閱與測試。
3、下載引擎依賴 curl;目標目錄必須已存在。
4、無 Content-Length 的服務器(分塊傳輸)只顯示字節/速度,無百分比。
5、命令中的變量路徑無法解析時由黑箱監控兜底,不提供百分比。
6、上傳任務無法觀測遠端寫入量,僅顯示不定進度。
7、黑箱監控只掃描工作區頂層與新建目錄,每個目錄最多統計 500 個文件,嵌套在既有深層目錄中的下載可能不被捕捉。
結尾¶
dsh-download-progress 的價值,是把 DSH web 中分散的下載狀態集中到同一個可拖拽面板裏,讓 URL 下載、shell/SSH 傳輸和工作區文件增長都能被直接查看。
GitHub:
https://github.com/Fro2en12/dsh-download-progress
目錄頁:
https://www.skillhub.cn/plugins/Fro2en12/dsh-download-progress