dsh-download-progress:在 DSH web 中集中查看下載與傳輸進度

前言

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

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

小夜