前言¶
在使用 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