dsh-pwsh-progress:DSH 对话流实时任务进度插件

前言

在 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
* 停止按钮

适用场景与注意

  • 场景:适合需要长时间运行后台任务(如数据迁移、脚本执行、大文件处理)的场景。
  • 注意:
    1. Slot 语义:该插件会替换官方同名卡片(Slot 语义),在 pwsh 场景下生效。
    2. 输出限制:无输出 tail(输出仍经 job_output 呈现),依赖模型侧的输出流。
    3. 进程依赖:ETA 的历史估算功能在宿主进程内运行,重启 dsh web 后该数据将丢失。

结尾

该插件通过非消费式 jobs.get 跟踪,避免了阻塞模型的 job_output,保证了任务反馈的实时性。更多细节可查阅 GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜