dsh-cron-scheduler: Linux crontab 風格的定時任務調度插件

前言

DeepSeek Harness (DSH) 的生態基於插件化。對於自動化需求,定時任務調度是常見場景。現有方案往往需要編寫額外腳本,而 dsh-cron-scheduler 插件引入了標準的 Linux crontab 語法,允許 LLM 直接在對話中管理調度。

這是什麼

這是一個由 AlexZhou19871030 維護的工作流插件。它允許 LLM 通過 cron 表達式創建定時任務,支持將提示詞投遞或調用現有工作流。任務與會話綁定,利用會話事件日誌實現持久化,宿主重啓後調度自動恢復。

核心功能

  1. 標準 Cron 語法:支持 5 段和 6 段表達式(含秒),支持步進(*/15)、範圍(9-18)、列表(1,5,10)以及月份/星期名稱(JAN-DEC)。
  2. 語義一致性:與 Linux crontab 一致,日與星期同時指定按 OR 處理;5 段表達式在整分觸發;錯過的觸發不補發。
  3. 全生命週期管理:提供創建、列表、刪除、暫停、恢復、預覽和手動觸發工具。
  4. 主動任務建議:LLM 可從聊天記錄推理出週期/提醒意圖,生成待確認建議,主人確認後自動排程。
  5. 會話級持久化:調度狀態與會話日誌綁定,重啓後自動恢復。

安裝與啓用

推薦通過 DSH 插件中心搜索 dsh-cron-scheduler 安裝。若需手動配置,在 package.json 的 dependencies 中添加:

"dsh-cron-scheduler": "^0.1.0"

在 profile 目錄執行 pnpm install,隨後重啓 DSH Host。

用法

插件加載後自動掛載 cron 工具到每個 root agent。核心工具包括:
* cron_create:創建任務,需指定 cron 和 kind(prompt 或 workflow)。
* cron_list:列出本會話任務,按下次觸發時間排序,並顯示待確認的主動任務建議。
* cron_next:只讀預覽,計算未來 N 次觸發時間。
* cron_delete / cron_pause / cron_resume:管理任務狀態。
* cron_run:立即手動觸發一次任務。
* cron_suggest / cron_accept / cron_reject:用於主動任務流。

示例:創建 prompt 任務

創建一個每天早上 9 點投遞提示詞的任務:

請創建定時任務:每天 09:00 投遞提示詞「早上好,請總結昨日進展」,cron 表達式爲 0 9 * * *,kind 爲 prompt。

示例:創建 workflow 任務

創建一個每週一至週五 18 點調用工作流 daily_report 的任務:

請創建定時任務:每週一至週五 18:00 調用工作流 daily_report,cron 表達式爲 0 18 * * 1-5,kind 爲 workflow,參數 { scope: "today" }。

示例:預覽觸發時間

預覽特定 cron 表達式未來 5 次的觸發時間:

請用 cron_next 預覽 0 18 * * 1-5 未來 5 次的觸發時間。

主動任務流程

當對話中出現週期性或提醒意圖時,LLM 會先調用 cron_suggest 生成待確認建議(建議 id 命名爲 cron_s_...)。此時任務未真正排程,建議未確認前不會觸發投遞。主人回覆同意後,LLM 調用 cron_accept 將建議轉爲真實任務並計算首次觸發時間。

注意事項

  • 需要滿足特定的 peer dependencies 版本要求(@deepseek-ai/cordis, @deepseek-ai/dsh-agent 等)。
  • 日與星期同時指定時按 OR 邏輯處理。
  • 錯過的觸發不補發。
  • 建議在安裝前檢查源碼與許可證。

總結

該插件爲 DSH 提供了標準化的定時調度能力,結合 LLM 的推理能力,可以實現自動化的週期性提醒和報告生成。

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

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

小夜