前言¶
在 DeepSeek Harness(DSH)里跑 pip install、带 tqdm 的循环或模型训练时,进度往往散落在终端输出里,想估剩余时间或中止任务还要切回日志。DSH 内置 jobs 客户端服务会推送当前会话的任务状态,但默认界面未必把「进度条 + 速度 + ETA + 停止」集中放在输入区附近。
下面介绍的 dsh-task-progress(维护者 Dekurri)是一款客户端插件:在会话输入框上沿浮动显示正在运行的任务,解析常见进度格式,并支持一键停止。数据来自 DSH 推送流,纯前端、运行时零第三方依赖,不轮询、不发额外网络请求、不落盘。
这是什么¶
- 定位:DSH 插件,浮动「活」进度卡片,挂在
conversation.input.overlay层。 - 仓库:github.com/Dekurri/dsh-task-progress(
package.json版本 0.1.2,协议 MIT © 2026 Dekurri)。 - 解决问题:当前会话里
running/stopping任务的进度、速度与预计剩余时间可视化;不占用输入框高度;多任务时可折叠。
社区目录页:skillhub.cn/plugins/Dekurri/dsh-task-progress(独立生态站点,与 DeepSeek / 幻方无官方从属关系)。
核心功能¶
出现与数据源¶
插件只渲染当前会话中状态为 running 或 stopping 的任务;没有运行中任务时不渲染、不占位。进度与元数据来自 DSH 内置 jobs 客户端服务的推送,而非自行轮询。
多格式进度解析¶
启发式解析常见输出,包括但不限于:
tqdm进度条;- 带标签分数(如
Epoch 3/10、step 120/1000、1/132 项); - 裸百分比、
pip install各阶段。
同一行同时出现 epoch 与 step 时,以更细的 step 作为主进度,epoch 放在详情行。无法识别的格式仍显示阶段与最后一行输出。
速度、ETA 与已用时长¶
tqdm 自带 rate 时直接使用;否则由样本估算。预计剩余时间按 tqdm 的 <mm:ss> 形式或根据已用时间外推。
一键停止¶
「停止」需两段确认(3 秒内点第二次),经 DSH 任务 kill 通道下发;停止过程中显示「停止中…」并禁用按钮。前台命令(agent 正在等待结果)与后台任务均支持。
界面行为¶
- 默认展开 2 个运行中任务,其余折叠为「还有 N 个」,整卡可收起。
- 中英双语随 DSH 界面语言;亮/暗主题自适应;支持
prefers-reduced-motion。 - 展开/收起不改变输入框高度。
安装与启用¶
需要 DSH 0.2.x(在 0.2.1-rc.5 上验证)。插件运行时无第三方依赖;package.json 声明 Node >=20(用于开发侧 check 脚本)。
安装前请自行审阅仓库源码与 MIT 许可证;插件随 DSH 客户端加载,权限边界与当前 DSH 进程一致。
方式一:Release 包¶
- 从 Releases 下载
dsh-task-progress-<版本>.tgz,解压到长期存在的目录(安装为符号链接,删除源目录会导致插件失效)。 - 在 DSH 插件管理器中按绝对路径安装该目录(GUI),或让 AI 助手调用:
plugin_manager install_bundle
# target 传解压目录的绝对路径
成功时返回结果里 application 为 "applied";安装后输入框上方出现卡片即表示生效。
方式二:Git 规格¶
由插件管理器按 git 规格安装:
plugin_manager install_bundle
# target 为 github:Dekurri/dsh-task-progress
卸载:
plugin_manager remove_bundle
# target 为 dsh-task-progress
典型用法¶
无需额外配置。在 DSH 中执行会输出进度的命令即可,例如:
pip install torch
python train.py # 输出 Epoch 3/10、step 120/1000 等
卡片会自动出现;连点两次「停止」可取消任务。多个任务并行时显示前 2 个,其余折叠。
兼容性与依赖注入¶
- DSH:0.2.x(
0.2.1-rc.5验证)。 - 客户端注入(
package.json→dsh.client.inject): @deepseek-ai/dsh-api-job-controller@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation
若上游修改 jobs 服务或 job.* 帧格式,可能需要同步升级插件。
限制与适用场景¶
适合:在本会话内频繁跑安装、训练或长循环,希望在输入区附近一眼看到进度并快速中止。
注意:
- 进度解析为启发式,极端或非标准日志可能信息不全。
- 仅当前会话;不展示其他会话或历史任务;任务结束后卡片消失,不保留「已完成」记录。
结尾¶
dsh-task-progress 把 DSH 已有的任务推送转成输入框上方的进度卡,覆盖 tqdm、pip、训练 epoch 等常见格式,并补速度与 ETA、双次确认停止。安装以 Release 目录或 plugin_manager install_bundle(绝对路径 / github:Dekurri/dsh-task-progress)为准。