dsh-delayed-task:讓 Agent 在稍後真正回來

前言

在 DeepSeek Harness(DSH)開發智能體時,經常會遇到需要延遲決策的場景:例如等待異步任務完成、檢查服務健康狀態,或者在當前環境發生變化後重新評估舊計劃。簡單的提醒或通知無法解決核心問題——Agent 需要真正地“回來”,基於最新的證據重新做決定,而不是機械地執行兩分鐘前的指令。

dsh-delayed-task 是一個 DSH 插件,旨在解決這個問題。它提供持久化的延時任務能力,支持在頁面關閉後喚醒 Agent,並基於當前證據重新評估決策,而非機械執行歷史計劃。

插件概述

dsh-delayed-task 由開發者 m-guo-2 維護,採用 MIT 許可證。它將任務和授權信息存儲在 DSH storage domain 中,不依賴瀏覽器環境,確保後臺進程可正常調度。

核心功能

持久化與喚醒

插件將任務持久化存儲。只要 DSH 後臺進程存活,頁面關閉後任務到期即可喚醒原會話。如果 DSH 或機器在任務期間停止,恢復運行後會補觸發逾期任務。

基於證據的重新評估

任務到期時,Agent 會收到一條事件,提示其基於當前證據重新判斷,而非機械執行歷史計劃。這避免了在環境已變化的情況下盲目執行舊指令。

授權模式

插件提供兩種授權模式:

  1. 僅重新判斷(默認):Agent 只能使用觀察型工具(如 read、search),無法執行寫入、刪除或網絡 fetch 等操作。
  2. 有限後臺執行:用戶在創建時確認 bounded grant,限制授權失效時間、工具白名單、最大調用次數等。過期或耗盡的 grant 會自動退回“僅重新判斷”模式。

提供的工具

插件爲 Agent 提供以下工具:
* delayed_task_create:創建延時決策。
* delayed_task_list:查看當前會話的任務。
* delayed_task_cancel:取消任務。
* delayed_task_revoke_authorization:撤銷授權(保留任務爲僅重新判斷)。

安裝與啓用

前置要求:
* Node.js 22.19+
* pnpm 10
* 可運行的 DSH 開發者預覽版

安裝命令:

dsh plugin --profile web add github:m-guo-2/dsh-delayed-task
dsh --profile web --dump-config

建議鎖定 commit 安裝以確保安全:

dsh plugin --profile web add github:m-guo-2/dsh-delayed-task#<commit-sha>

典型用法

Agent 可以在當前會話中創建延時任務,指定在未來的某個時間點重新評估。
例如:
* 120 秒後重新檢查 README.md 是否存在,並報告能否以只讀方式取證。
* 部署後隔幾分鐘重新檢查健康狀態。
* 等待異步任務、CI 或數據處理進入下一狀態。
* 在限流或暫時故障後,根據最新情況決定是否重試。

注意事項

  • 非 Cron 服務:該插件不是 cron 或系統通知服務,不會發送郵件或系統通知。結果保存在原會話中。
  • 進程依賴:DSH 後臺進程必須存活。進程或機器停機期間不會執行任務,恢復後會補觸發。
  • 會話管理:原會話不存在或用戶中止延時 turn 時,任務會自動取消。
  • 權限繼承:如果原會話是 danger-full-access,即使使用了 bounded grant,也不會額外收窄文件與進程邊界。

總結

dsh-delayed-task 提供了一種在 DSH 中實現延時決策的機制。它通過持久化存儲和明確的授權控制,讓 Agent 能夠在環境變化後安全地重新評估,適合需要等待外部狀態、異步操作或持續監控的場景。

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

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

小夜