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