前言¶
在 DeepSeek Harness(DSH)裏跑 pip install、帶 tqdm 的循環或模型訓練時,進度往往散落在終端輸出裏,想估剩餘時間或中止任務還要切回日誌。DSH 內置 jobs 客戶端服務會推送當前會話的任務狀態,但默認界面未必把「進度條 + 速度 + ETA + 停止」集中放在輸入區附近。
下面介紹的 dsh-task-progress(維護者 Dekurri)是一款客戶端插件:在會話輸入框上沿浮動顯示正在運行的任務,解析常見進度格式,並支持一鍵停止。數據來自 DSH 推送流,純前端、運行時零第三方依賴,不輪詢、不發額外網絡請求、不落盤。
這是什麼¶
- 定位:DSH 插件,浮動「活」進度卡片,掛在
conversation.input.overlay層。 - 倉庫:github.com/Dekurri/dsh-task-progress(
package.json版本 0.1.2,協議 MIT © 2026 Dekurri)。 - 解決問題:當前會話裏
running/stopping任務的進度、速度與預計剩餘時間可視化;不佔用輸入框高度;多任務時可摺疊。
社區目錄頁:skillhub.cn/plugins/Dekurri/dsh-task-progress(獨立生態站點,與 DeepSeek / 幻方無官方從屬關係)。
核心功能¶
出現與數據源¶
插件只渲染當前會話中狀態爲 running 或 stopping 的任務;沒有運行中任務時不渲染、不佔位。進度與元數據來自 DSH 內置 jobs 客戶端服務的推送,而非自行輪詢。
多格式進度解析¶
啓發式解析常見輸出,包括但不限於:
tqdm進度條;- 帶標籤分數(如
Epoch 3/10、step 120/1000、1/132 項); - 裸百分比、
pip install各階段。
同一行同時出現 epoch 與 step 時,以更細的 step 作爲主進度,epoch 放在詳情行。無法識別的格式仍顯示階段與最後一行輸出。
速度、ETA 與已用時長¶
tqdm 自帶 rate 時直接使用;否則由樣本估算。預計剩餘時間按 tqdm 的 <mm:ss> 形式或根據已用時間外推。
一鍵停止¶
「停止」需兩段確認(3 秒內點第二次),經 DSH 任務 kill 通道下發;停止過程中顯示「停止中…」並禁用按鈕。前臺命令(agent 正在等待結果)與後臺任務均支持。
界面行爲¶
- 默認展開 2 個運行中任務,其餘摺疊爲「還有 N 個」,整卡可收起。
- 中英雙語隨 DSH 界面語言;亮/暗主題自適應;支持
prefers-reduced-motion。 - 展開/收起不改變輸入框高度。
安裝與啓用¶
需要 DSH 0.2.x(在 0.2.1-rc.5 上驗證)。插件運行時無第三方依賴;package.json 聲明 Node >=20(用於開發側 check 腳本)。
安裝前請自行審閱倉庫源碼與 MIT 許可證;插件隨 DSH 客戶端加載,權限邊界與當前 DSH 進程一致。
方式一:Release 包¶
- 從 Releases 下載
dsh-task-progress-<版本>.tgz,解壓到長期存在的目錄(安裝爲符號鏈接,刪除源目錄會導致插件失效)。 - 在 DSH 插件管理器中按絕對路徑安裝該目錄(GUI),或讓 AI 助手調用:
plugin_manager install_bundle
# target 傳解壓目錄的絕對路徑
成功時返回結果裏 application 爲 "applied";安裝後輸入框上方出現卡片即表示生效。
方式二:Git 規格¶
由插件管理器按 git 規格安裝:
plugin_manager install_bundle
# target 爲 github:Dekurri/dsh-task-progress
卸載:
plugin_manager remove_bundle
# target 爲 dsh-task-progress
典型用法¶
無需額外配置。在 DSH 中執行會輸出進度的命令即可,例如:
pip install torch
python train.py # 輸出 Epoch 3/10、step 120/1000 等
卡片會自動出現;連點兩次「停止」可取消任務。多個任務並行時顯示前 2 個,其餘摺疊。
兼容性與依賴注入¶
- DSH:0.2.x(
0.2.1-rc.5驗證)。 - 客戶端注入(
package.json→dsh.client.inject): @deepseek-ai/dsh-api-job-controller@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation
若上游修改 jobs 服務或 job.* 幀格式,可能需要同步升級插件。
限制與適用場景¶
適合:在本會話內頻繁跑安裝、訓練或長循環,希望在輸入區附近一眼看到進度並快速中止。
注意:
- 進度解析爲啓發式,極端或非標準日誌可能信息不全。
- 僅當前會話;不展示其他會話或歷史任務;任務結束後卡片消失,不保留「已完成」記錄。
結尾¶
dsh-task-progress 把 DSH 已有的任務推送轉成輸入框上方的進度卡,覆蓋 tqdm、pip、訓練 epoch 等常見格式,並補速度與 ETA、雙次確認停止。安裝以 Release 目錄或 plugin_manager install_bundle(絕對路徑 / github:Dekurri/dsh-task-progress)爲準。