前言¶
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: