DeepSeek Harness 下載進度插件:實時進度條與斷點續傳

前言

在 DeepSeek Harness(DSH)環境中,智能體經常需要下載幾 GB 的安裝包或文件,此時用戶只能盯着一個靜止的終端窗口,無法獲知進度和剩餘時間。這會打斷對話節奏,也容易讓用戶誤以爲程序卡死。該插件通過在聊天窗口右上角渲染實時進度卡片,讓下載狀態對用戶可見。

核心功能

安裝後,DSH 會在聊天窗口右上角顯示下載進度卡片,內容包括:

  • 進度百分比和進度條
  • 已下載/總大小
  • 當前瞬時速度
  • 預計剩餘時間(ETA)
  • 當前階段(探測 → 連接 → 下載 → 重連 → 完成)

卡片可以點擊「×」取消下載,完成後會自動摺疊。下載前會先執行預檢(probe),通過 HEAD 請求獲取文件總大小,並從歷史速度記錄估算耗時。

插件支持斷點續傳:當下載中斷或失敗時,可使用 dl resume 從 .part 文件繼續下載。如果下載任務在後臺停止,卡片會在 6 秒內變灰標記爲「已中斷」,並在 20 秒後將狀態修正爲「失敗」,避免卡片永遠停留在屏幕上。

安裝與啓用

方式一:DSH 插件市場(推薦)

在 DSH 插件市場中搜索 dsh-download-progress,點擊安裝並重啓 DSH。

方式二:手動安裝

git clone https://github.com/Beership/dsh-download-progress.git
cd dsh-download-progress && npm pack

生成 dsh-download-progress-0.3.2.tgz 後,在 ~/.dsh/profiles/desktop/package.json 的 dependencies 中添加該包,並在 dsh.profile.bundles 中引用。將 tarball 解壓到對應 profile 的 node_modules/dsh-download-progress 目錄,然後重啓 DSH。

典型用法

安裝並重啓後,在任意 DSH 會話中直接請求下載即可:

Download https://example.com/electron-v33.2.0-win32-x64.zip to D:\Downloads and show live progress

智能體會調用內置的 skill,後臺啓動下載 worker,該 worker 會將進度寫入 ~/.agent-downloads/jobs/<id>/status.json。DSH 的插件會通過 HTTP API 獲取這些狀態並渲染卡片。

如果需要從命令行控制下載任務:

node dl.mjs start <URL> --dir D:\Downloads   # 後臺啓動,返回 job id
node dl.mjs status [--json]                  # 查看所有任務進度
node dl.mjs wait <id>                        # 阻塞直到完成
node dl.mjs cancel <id>                      # 取消下載,保留 .part 文件
node dl.mjs resume <id>                      # 從 .part 繼續下載
node dl.mjs clean [--force]                  # 清理任務記錄(文件保留)

工作原理與注意事項

插件包含兩部分:服務端(運行在 DSH 進程內)和客戶端(注入到網頁端)。服務端通過 cordis 插件實現,提供 HTTP API 供客戶端輪詢;客戶端通過自適應輪詢(卡片可見時 450ms,不可見時 1.5s,後臺標籤頁暫停)獲取狀態並渲染卡片。

在 Windows 上,下載 worker 通過 WMI 的 Win32_Process.Create 啓動,避免 DSH 的命令執行器在命令返回後立刻回收進程樹。在 POSIX 系統上使用 setsid 實現分離。插件不依賴外部服務,所有數據存儲在本地 ~/.agent-downloads 目錄。

插件以 DSH 進程的權限運行,因此下載路徑需要當前用戶有寫入權限。使用前建議檢查源碼與許可證(MIT),確保符合使用場景。

總結

該插件爲 DSH 提供了統一的下載進度展示與斷點續傳能力,減少了對下載過程的依賴和猜測。更多細節與源碼可在插件目錄查看:
- 插件目錄:https://www.skillhub.cn/plugins/Beership/dsh-download-progress
- GitHub:https://github.com/Beership/dsh-download-progress

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

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

小夜