前言¶
DSH 生態強調“一切皆插件”。在智能體開發中,模型端經常會啓動後臺任務,例如 bash 工具設置 run_in_background: true。任務啓動後,開發者需要查看任務數量、運行狀態和最新輸出;如果沒有這類入口,只能在對話流外查看日誌或等待工具返回。
vlln/dsh-task-status 是一個 DSH 插件,把後臺任務狀態放到 Chat 頁的對話輸入區上方。下面介紹它的定位、核心能力、安裝方式和適用注意。
這是什麼¶
vlln/dsh-task-status 是面向 DSH web 端的後臺任務狀態條插件,由 vlln 維護,許可證爲 MIT。
它解決的是 Chat 頁缺少後臺任務入口的問題:在對話輸入框上方顯示運行任務數量,點擊任務行可展開狀態、持續時間、詳情和輸出 tail。
README 說明它是 DSH 生態中的示例插件。
核心功能¶
UI 側¶
- 在對話輸入框上方顯示後臺任務狀態條,顯示運行任務數量。
- 點擊任務行可展開狀態、持續時間、詳情和輸出 tail。
- 展開時輪詢輸出路由並重新渲染輸出塊,輸出尾端保持最新。
- 輸出區域限制爲 10 行/160px,超出部分可滾動查看。
- 僅在 Chat 頁顯示,非 Chat 視圖自動隱藏。
- 任務結束後狀態條自動消失。
Node 路由¶
- 提供
/plugins/dsh-task-status/tasks任務列表路由。該路由爲只讀,並按 session 過濾。 - 提供
/plugins/dsh-task-status/output輸出尾路由。未知 id 返回 404。 - 對
ctx.tasks.read應用 mirror patch,使官方task_output工具與插件看到一致增量輸出。
需要說明:官方 0809 API 的 tasks.read 是增量消費式讀取;插件自讀部分不能僅由官方側重放。README 中同時出現 “0 patches” 與 “mirror patch” 表述,package.json 還包含 cordis.patch.yml,當前資料中補丁的最終範圍需要進一步確認。
安裝與啓用¶
插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。MIT 許可證描述的是源碼許可,不替代對插件運行時權限的審查。
安裝¶
已覈實的 git 源安裝命令爲:
dsh plugin --profile web add "github:vlln/dsh-task-status#main"
也可以從 npm 源或本地目錄安裝。安裝後需要重啓 web 才能生效,並可在設置頁 Plugins 面板禁用或啓用。
依賴約束¶
已覈實的運行和依賴約束包括:
node >=22.19.0dsh >=0.1.0-rc.5@deepseek-ai/cordis ^4.0.1react ^18.2.0
典型用法¶
1、運行後臺任務。例如模型端 bash 工具使用 run_in_background: true 時,狀態條出現,顯示類似:
1 background task running
bash-1 for i in $(seq 1 20)… started 21:30:15 running
2、點擊任務行展開。輸出 tail 即時滾動;超過 10 行出現滾動條。
3、任務結束後,狀態條自動消失。
適用場景與注意¶
適合在 DSH web 端運行後臺任務、希望在 Chat 頁快速查看任務數量和最新輸出的開發者。
需要注意:
- 狀態條僅在 Chat 頁顯示,非 Chat 視圖自動隱藏。
/plugins/dsh-task-status/tasks是隻讀路由,並按 session 過濾。/plugins/dsh-task-status/output對未知 id 返回 404。- 輸出區域限制爲 10 行/160px,超出部分通過滾動查看。
ctx.tasks.read的 mirror patch 會影響插件和官方task_output工具看到的增量讀取語義;README 中 “0 patches” 與 “mirror patch” 並存,且package.json包含cordis.patch.yml,啓用前應確認補丁範圍。- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
結尾¶
vlln/dsh-task-status 的價值在於把後臺任務數量、狀態和輸出 tail 放進 Chat 頁的 dock 區,減少開發者在日誌和模型工具輸出之間切換的成本。
GitHub: