前言¶
在使用 dsh-TUI 進行開發或調試時,後臺任務(如 bash 腳本、子 agent)的管理是一個常見痛點。官方 WebUI 提供了任務列表面板,但 TUI 端目前缺少對應的功能,導致查看任務狀態和輸出、取消任務時不夠直觀。dsh-tui-jobs 插件正是爲了補齊這一短板而生。
插件介紹¶
這是一個適用於 dsh-TUI 的後臺任務面板,由開發者 FUSU123fusu 維護。它通過命令行界面列出、查看和取消後臺任務,解決了 TUI 環境下任務管理缺失的問題,實現了與官方 WebUI 在任務列表面板上的功能對齊。
核心功能¶
- 列出當前所有可見的後臺任務(包括 bash 和子 agent)。
- 實時刷新任務狀態變化。
- 查看已完成任務的輸出內容。
- 取消運行中的任務。
安裝與使用¶
- 克隆倉庫並打包
git clone https://github.com/FUSU123fusu/dsh-tui-jobs.git
cd dsh-tui-jobs
npm pack
- 安裝插件
dsh plugin --profile <你的profile> add file:dsh-tui-jobs-0.1.0.tgz
-
打開面板
在 dsh-TUI 中輸入/jobs命令即可打開任務面板。 -
交互操作
* 列表:使用↑/↓選擇任務。
* 查看詳情:按Enter進入詳情視圖查看輸出。
* 取消任務:按x取消(需在 3 秒窗口內雙擊)。
* 刷新列表:按r。
* 退出:按Esc。
設計與注意事項¶
- 輸出讀取機制:爲了不干擾模型側的完成通知,面板絕不讀取運行中任務的輸出。只有終態任務(completed/killed/failed)的輸出可讀,且是冪等的。
- 防誤觸設計:取消任務需要雙擊
x,且在 3 秒時間窗口內,防止誤操作。 - 列表排序:列表中運行中的任務優先顯示,已完成任務按最新在前排序。運行中任務的時長每秒刷新。
- 環境兼容性:如果宿主環境不支持 scene(web、headless),面板會自動退化爲文本列表。
結尾¶
dsh-tui-jobs 通過紀律性的輸出讀取和防誤觸設計,爲 dsh-TUI 用戶提供了可靠的後臺任務管理能力。如果你想深入瞭解或貢獻代碼,可以訪問項目主頁。
- 項目地址:https://github.com/FUSU123fusu/dsh-tui-jobs
- 插件目錄:https://www.skillhub.cn/plugins/FUSU123fusu/dsh-tui-jobs