DeepSeek Harness 延遲工具 (dsh-delay-tools)

前言

DeepSeek Harness (DSH) 的後臺任務通常綁定在代理回合的生命週期上,回合結束任務即銷燬。直接使用 shell 定時器無法實現“在相同對話中延遲喚醒代理”的功能。本插件通過宿主機級定時器與官方 agent.followup() 通道,解決了跨回合喚醒與定時阻塞的問題。

插件介紹

dsh-delay-tools 是 DeepSeek Harness 的一個工作流插件,提供兩個核心工具:schedule_reminder 和 wait。前者用於在相同對話中延遲喚醒代理(智能體在等待時繼續工作),後者用於阻塞當前回合直到倒計時結束。

安裝

執行以下命令安裝插件:

dsh plugin add github:keyiadiannao/dsh-delay-tools#master

功能說明

1. 延遲喚醒 (schedule_reminder)

調用此工具後,智能體在等待期間會繼續處理其他任務。倒計時結束後,插件會通過 agent.followup() 將消息送回當前的對話上下文中。

  • 多提醒支持:同一對話中可設置多個提醒,每個提醒有獨立的 reminder_id。
  • 不干擾對話:無論倒計時期間發生多少次對話交互,提醒都會在指定時間準時送達。

2. 定時門控 (wait)

此工具會阻塞當前回合,智能體直到倒計時結束後纔會繼續執行後續邏輯。

  • 消息隊列:在等待期間發送的消息會進入隊列,倒計時結束後統一處理。
  • 可中斷:如果在等待期間點擊停止按鈕,等待會立即中斷,智能體不會掛起等待剩餘時間。

使用示例

調用 schedule_reminder

你可以要求智能體在 30 秒後提醒你喝水:

Call the schedule_reminder tool and remind me in 30 seconds to drink water.

智能體會返回預計觸發時間。倒計時結束後,它會在同一對話中回覆你。

調用 wait

如果需要等待一段時間再繼續:

Call the wait tool for 30 seconds, then continue.

智能體會阻塞當前回合,30 秒後自動繼續。

配置項

插件支持通過 YAML 配置調整默認延遲範圍。以下爲示例配置:

- id: dsh-delay-tools
  config:
    defaultDelayMs: 60000       # 默認延遲毫秒數
    maxDelayMs: 3600000         # 單次延遲上限(1小時)
    minDelayMs: 1000            # 單次延遲下限(防止瞬間重入)

注意事項

  • 內存依賴:提醒僅存活於進程內存中。插件重載會取消所有待處理的提醒;DSH 主機重啓也會取消所有待處理的提醒。
  • 持久化:目前不提供持久化存儲,重啓會導致提醒丟失。

總結

該插件解決了 DSH 中跨回合定時任務的痛點,提供了基於宿主機級定時器的可靠喚醒機制。適用於需要“稍後提醒”或“定時冷卻”的場景。

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

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

小夜