DSH 插件 dsh-task-control:爲 DSH Web 增加任務暫停、恢復和取消

前言

在 DSH Web 中跑一個較長任務時,直接取消通常會結束當前回合。如果只是想臨時停住、稍後再從當前位置繼續,就需要任務暫停、恢復和取消這類更細的控制。

dsh-task-control 爲 DSH Web 增加任務暫停、恢復和取消能力。它支持安全暫停與強制暫停,恢復時從暫停點繼續,不重複已完成的工作。

這是什麼

dsh-task-control 是一個 DSH 插件,倉庫地址爲 p2coder/dsh-task-control

它面向 DSH Web 的會話任務,主要提供三件事:

  • 暫停當前任務
  • 從暫停點恢復
  • 取消當前回合

當前適配 DSH v0.1.1-rc.2(最新版本)。許可證爲 MIT。

核心功能

輸入框旁按鈕

任務運行時,輸入框旁會顯示暫停、恢復、取消按鈕。

這三個按鈕用於控制當前回合:暫停用於臨時停住任務,恢復用於從暫停點繼續,取消用於終止當前回合。

暫停模式

插件提供三種暫停模式:

  • safe wait:默認模式,等待推理和工具自然完成後暫停。
  • safe stop:工具完成後暫停;可中斷當前推理。
  • force:立即中斷推理及在途工具。

可在「設置 → 任務控制」中修改默認模式。

斜槓命令

常用斜槓命令如下:

/pause
/pause force
/pause safe wait
/pause safe stop
/resume
/resume confirm rerun
/resume confirm skip
/cancel

其中,/pause 按設置中的默認模式暫停;/pause force 用於強制暫停;/resume confirm rerun 會重新執行被中斷或未派發的工具後恢復;/resume confirm skip 會跳過該工具後恢復;/cancel 用於取消當前回合。

供其他插件調用

其他插件可以通過 ctx.get("taskControl") 獲取服務,然後調用以下方法:

pause(sessionId, options?)
resume(sessionId, options?)
cancel(sessionId)
state(sessionId)

state(sessionId) 用於查詢 idlerunningoffline 狀態及暫停信息。

狀態保存

暫停狀態保存在:

~/.dsh/task-control/

重啓後不會丟失。

測試時可用 DSH_TASK_CONTROL_STATE_DIR 修改存儲目錄。

安裝與啓用

先安裝插件:

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

安裝後完整重啓 dsh web,然後刷新瀏覽器頁面。

修改插件後也需要重啓 dsh web

典型用法

1、任務運行時,點擊輸入框旁的暫停、恢復、取消按鈕。

2、如果想按默認模式暫停,使用:

/pause

3、如果希望立即停止,使用:

/pause force

4、恢復時如果遇到被中斷或未派發的工具,可以根據需要選擇:

/resume confirm rerun

這會重新執行該工具後恢復。

如果需要跳過該工具後恢復,使用:

/resume confirm skip

5、在「設置 → 任務控制」中修改默認暫停模式。

6、其他插件中可通過 ctx.get("taskControl") 獲取任務控制服務,再調用 pauseresumecancelstate

適用場景與注意

適合以下情況:

  • 長任務、遷移、測試中需要臨時暫停。
  • 希望更快暫停,而不是等待所有工具自然完成。
  • 需要緊急停止任務。
  • 希望從暫停點繼續,而不是重新執行已完成的工作。
  • 其他插件需要查詢或控制當前任務狀態。

注意以下事項:

  • 插件以當前 dsh 進程權限運行。安裝前應檢查源碼與許可證。
  • 強制暫停時,工具可能已產生部分副作用;恢復前可選擇重新執行、跳過或保持暫停。
  • safe wait 的未派發工具,在恢復時需要選擇重新執行或跳過。
  • 暫停期間發送新消息會開啓新回合;暫停只控制當前回合。
  • dsh-schedule 定時提醒到期後仍會喚醒。
  • 已派發的子代理不會被父任務暫停。
  • 瀏覽器每 2 秒輪詢一次;修改插件後需重啓 dsh web

結尾

dsh-task-control 的價值,是把 DSH Web 中“暫停一下、繼續執行、取消當前回合”的操作落到按鈕、斜槓命令和插件 API 上。安裝前,建議先檢查倉庫源碼與 MIT 許可證,再決定是否啓用。

倉庫地址:

  • GitHub:https://github.com/p2coder/dsh-task-control
  • 目錄頁:本次已覈實資料未給出可用 URL;可搜索 dsh-task-control 查看對應社區目錄。

DSH 的插件生態強調“一切皆插件”。社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應視爲官方應用商店。

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

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

小夜