前言¶
在 DeepSeek Harness(DSH)對話流開發中,後臺任務(run_in_background)的監控往往依賴手動查詢或刷新頁面。這導致開發者無法直觀掌握任務狀態、耗時與進度。插件解決了這一痛點,提供實時渲染。
這是什麼¶
這是 DeepSeek Harness(DSH)的對話流實時任務進度插件。由 sssueason 維護。它爲後臺任務渲染狀態、耗時、進度條、ETA 及停止按鈕,無需刷新頁面。
核心功能¶
- 實時狀態顯示:支持運行中、停止中、完成、已停止、失敗五種狀態,並顯示耗時與退出碼。
- 進度條渲染:自動解析模型
job_output中的N/M或NN%格式,生成可視化進度條。 - 預計剩餘時間(ETA):輸出進度估算;若無進度,則基於歷史均值計算。
- 停止按鈕:支持一鍵調用
jobs.kill終止任務。 - 通用覆蓋:支持 PowerShell、Bash、Subagent 等多種工具的後臺任務展示。
安裝與啓用¶
使用以下命令安裝插件:
dsh plugin --profile web add "github:sssueason/dsh-pwsh-progress#main"
安裝完成後,需要重啓 dsh web 以使配置生效。
典型用法¶
安裝並重啓 dsh web 後,當你在對話流中發起後臺運行 PowerShell 命令時,會自動顯示實時進度卡片。
例如運行循環任務:
1..25 | ForEach-Object { Write-Output "step $_/25" }
界面將展示:
* 任務狀態:運行中
* 進度條:[██████████████░░░░░░░░] 56%
* 耗時與 ETA
* 停止按鈕
適用場景與注意¶
- 場景:適合需要長時間運行後臺任務(如數據遷移、腳本執行、大文件處理)的場景。
- 注意:
- Slot 語義:該插件會替換官方同名卡片(Slot 語義),在 pwsh 場景下生效。
- 輸出限制:無輸出 tail(輸出仍經
job_output呈現),依賴模型側的輸出流。 - 進程依賴:ETA 的歷史估算功能在宿主進程內運行,重啓
dsh web後該數據將丟失。
結尾¶
該插件通過非消費式 jobs.get 跟蹤,避免了阻塞模型的 job_output,保證了任務反饋的實時性。更多細節可查閱 GitHub。