前言¶
在 DeepSeek Harness (DSH) 中開發需要週期性觸發的智能體時,通常需要編寫額外的調度邏輯。dsh-cron 插件通過添加一個 /cron 斜槓命令,讓開發者可以直接在對話中通過標準 Cron 語法定義智能體的循環任務。
它是什麼¶
這是一個由 XiaoWind 維護的 DSH 插件,核心功能是提供一個人機交互的 /cron 斜槓命令。它允許用戶在會話中定義定時任務,讓智能體按照預設的 Cron 表達式(分鐘、小時、日期、月份、星期)定期執行。
核心功能¶
- 斜槓命令交互:提供
/cron命令,支持設置定時任務、查看狀態、停止任務和恢復任務。 - 標準 Cron 語法:支持標準的 5 字段 Cron 語法(
分 時 日 月 周)。 - 本地時間執行:任務調度基於本地時間計算。
- 持久化存儲:任務計劃會被保存到
$DSH_HOME/dsh-cron/<sessionId>文件中。 - 自動恢復:重啓 DSH 後,插件會自動讀取保存的計劃並恢復執行。
- 目標兼容:支持在 Cron 表達式後直接接任務目標(如
/cron "0 9 * * *" fix the tests),也支持僅輸入目標使用默認計劃。 - 非阻塞執行:如果觸發時間恰逢智能體正在運行,插件會等待智能體空閒後再執行下一次觸發。
安裝與啓用¶
插件通過 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 中實現長期、週期性自動化的場景。
- 配置要求:必須使用包含命令適配器的配置文件(如
web配置文件)。 - 時間精度:僅支持分鐘級調度。
- 執行邏輯:不會打斷正在進行的智能體回合,而是等待空閒後執行,確保任務不丟失。
- 許可:開源協議爲 MIT。
結尾¶
dsh-cron 通過標準化的 Cron 語法降低了 DSH 智能體定時任務的開發門檻。如果你需要在 DeepSeek Harness 中實現週期性的自動化流程,可以參考社區目錄或源碼倉庫進行配置。