p2coder/dsh-task-control

在输入区暂停/恢复/取消正在运行的对话任务:强制暂停立即中断并记住被中断的工具,安全暂停等工具/推理完成后再落地,恢复时需确认;默认暂停粒度可在设置中配置(出厂 safe wait)。

Bundle 已验证 MIT JavaScript 未知
Bundle 已验证

已收录

2

Session

Bundle 已验证

版本未知
语言JavaScript
许可证MIT
在 GitHub 查看

功能介绍

在输入区暂停/恢复/取消正在运行的对话任务:强制暂停立即中断并记住被中断的工具,安全暂停等工具/推理完成后再落地,恢复时需确认;默认暂停粒度可在设置中配置(出厂 safe wait)。

适合

  • 运行长时间 DSH Web 任务、需要在输入区暂停、恢复和取消的用户。
  • 适合等待当前工具或推理步骤完成后再暂停的工作流。
  • 需要立即强制暂停,并在恢复时明确选择重跑或跳过的操作人员。

不适合

  • 希望暂停已派发子代理或定时提醒的用户。
  • 希望暂停期间发送的新消息仍属于原暂停回合的工作流;新消息会开启新回合。
  • 无法容忍强制中断工具产生部分副作用的操作。

README

dsh-task-control

Awesome DSH Plugin

English 中文

dsh-task-control 鲸鱼娘宣传图

为 DSH Web 增加任务暂停、恢复和取消能力。支持安全暂停与强制暂停,恢复时从暂停点继续,不重复已完成的工作。

安装

dsh plugin --profile web add github:p2coder/dsh-task-control

安装后请完整重启 dsh web,然后刷新浏览器页面。

快速使用

任务运行时,输入框旁会显示三个常驻按钮:

按钮 作用 可用状态
⏸ 暂停 按默认粒度暂停任务 运行中
▶ 恢复 从暂停点继续 已暂停
⏹ 取消 立即终止当前回合 运行中或已暂停

灰色按钮表示当前不可用,黑色按钮表示可点击。

暂停、恢复、取消按钮的位置与状态

暂停模式

模式 行为 适合场景
safe wait(默认) 等待推理和工具自然完成后暂停 长任务、迁移、测试
safe stop 工具完成后暂停;可中断当前推理 希望更快暂停
force 立即中断推理及在途工具 紧急停止

在「设置 → 任务控制」中修改默认模式,保存后立即生效:

任务暂停粒度配置步骤

命令

命令 说明
/pause 按设置中的默认模式暂停
/pause force 强制暂停
/pause safe wait 安全暂停,不中断推理
/pause safe stop 安全暂停,可中断推理
/resume 恢复任务
/resume confirm rerun 重新执行被中断或未派发的工具后恢复
/resume confirm skip 跳过该工具后恢复
/cancel 取消当前回合

通过斜杠命令调用任务控制

供其他插件调用

通过 ctx.get("taskControl") 获取服务:

API 作用
pause(sessionId, options?) 暂停任务
resume(sessionId, options?) 恢复任务
cancel(sessionId) 取消任务
state(sessionId) 查询 idle、running 或 offline 状态及暂停信息

暂停状态保存在 ~/.dsh/task-control/,重启后不会丢失。测试时可用 DSH_TASK_CONTROL_STATE_DIR 修改存储目录。

注意事项

情况 说明
强制暂停 工具可能已产生部分副作用;恢复前可选择重新执行、跳过或保持暂停
safe wait 的未派发工具 恢复时需要选择重新执行或跳过
暂停期间发送新消息 会开启新回合;暂停只控制当前回合
定时提醒 dsh-schedule 到期后仍会唤醒
子代理 已派发的子代理不会被父任务暂停
状态同步 浏览器每 2 秒轮询一次,修改插件后需重启 dsh web

测试

node test/host-smoke.mjs

常见问题常见问题

在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:p2coder/dsh-task-control。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。