dsh-cron:爲智能體循環添加 Cron 調度

前言

在 DeepSeek Harness (DSH) 中開發需要週期性觸發的智能體時,通常需要編寫額外的調度邏輯。dsh-cron 插件通過添加一個 /cron 斜槓命令,讓開發者可以直接在對話中通過標準 Cron 語法定義智能體的循環任務。

它是什麼

這是一個由 XiaoWind 維護的 DSH 插件,核心功能是提供一個人機交互的 /cron 斜槓命令。它允許用戶在會話中定義定時任務,讓智能體按照預設的 Cron 表達式(分鐘、小時、日期、月份、星期)定期執行。

核心功能

  1. 斜槓命令交互:提供 /cron 命令,支持設置定時任務、查看狀態、停止任務和恢復任務。
  2. 標準 Cron 語法:支持標準的 5 字段 Cron 語法(分 時 日 月 周)。
  3. 本地時間執行:任務調度基於本地時間計算。
  4. 持久化存儲:任務計劃會被保存到 $DSH_HOME/dsh-cron/<sessionId> 文件中。
  5. 自動恢復:重啓 DSH 後,插件會自動讀取保存的計劃並恢復執行。
  6. 目標兼容:支持在 Cron 表達式後直接接任務目標(如 /cron "0 9 * * *" fix the tests),也支持僅輸入目標使用默認計劃。
  7. 非阻塞執行:如果觸發時間恰逢智能體正在運行,插件會等待智能體空閒後再執行下一次觸發。

安裝與啓用

插件通過 dsh plugin 命令安裝。安裝後需要重啓 Web 應用。

dsh plugin --profile web add git+https://github.com/XiaoWind/dsh-cron.git

插件會注入 commands 服務,因此它僅在包含命令適配器的配置文件中激活。DSH 自帶的 web 配置文件已包含此適配器。

典型用法

插件支持以下子命令和語法:

# 設置每 30 分鐘執行一次,保持當前目標
/cron "*/30 * * * *"

# 設置工作日早上 9 點執行
/cron "0 9 * * 1-5"

# 設置工作日早上 9 點執行特定目標
/cron "0 9 * * 1-5" fix the tests

# 使用默認計劃執行目標
/cron fix the tests

# 查看當前任務狀態
/cron status
/cron

# 停止任務
/cron stop

# 手動恢復已保存的任務
/cron resume

# 查看幫助
/cron help

注意:Cron 表達式中不支持秒。默認計劃爲 */10 * * * *(每 10 分鐘)。

適用場景與注意

此插件適合需要在 DSH 中實現長期、週期性自動化的場景。

  1. 配置要求:必須使用包含命令適配器的配置文件(如 web 配置文件)。
  2. 時間精度:僅支持分鐘級調度。
  3. 執行邏輯:不會打斷正在進行的智能體回合,而是等待空閒後執行,確保任務不丟失。
  4. 許可:開源協議爲 MIT。

結尾

dsh-cron 通過標準化的 Cron 語法降低了 DSH 智能體定時任務的開發門檻。如果你需要在 DeepSeek Harness 中實現週期性的自動化流程,可以參考社區目錄或源碼倉庫進行配置。

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

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

小夜