強化 Cron 排程:解決 API 報錯與 Schema 不一致問題
寫自動化排程最煩的就是 API 莫名其妙報錯。有時候你明明傳了資料,但 Gateway 卻因為少了一個參數,或者格式多包了一層,就直接回傳 INVALID_REQUEST。更別提當 CLI、UI 和 API 文件對同一個功能的描述完全對不起來時,那種在不同工具間切換的無力感。
我們這次針對 Cron 功能進行了底層強化,重點在於讓 API 更有彈性,並統一所有開發工具的規範。
需要準備的東西
Section titled “需要準備的東西”- Gateway API 存取權限
- 開發中的 Cron Job 任務
現在你不需要再為了瑣碎的 Schema 格式而煩惱,只要 5 分鐘就能完成設定:
- 簡化你的 Payload:現在
cron.add和cron.update會自動處理包裝過的data或job物件。如果你的 Agent 傳出的格式多包了一層,Gateway 現在能自動幫你拆解並讀取。 - 省略冗餘欄位:當
schedule.kind或payload.kind缺失時,系統會嘗試自動推斷。對於wakeMode和sessionTarget這些參數,如果你沒填,我們會自動套用安全的預設值。 - 使用統一的 Provider:無論你在 CLI、UI 還是 macOS 的選擇器操作,現在 Discord, Slack, Signal 和 iMessage 的選項都已經完全同步,不會再出現某個平台找不到特定 Provider 的情況。
- 即時檢查狀態:直接在 Control UI 查看 Cron 狀態,我們修正了欄位對接問題,現在會正確顯示來自 Gateway 的
jobs數量。
遇到 INVALID_REQUEST 報錯
Section titled “遇到 INVALID_REQUEST 報錯”如果你在 Gateway 日誌看到這個錯誤,通常是因為傳送了格式錯誤的 schedule 或缺少必要的欄位。雖然我們現在支援自動校準(Normalization),但建議還是參考最新的 Cron jobs 文件來檢查你的 Payload 結構。
UI 顯示的 Job 數量不正確
Section titled “UI 顯示的 Job 數量不正確”這通常是因為舊版 UI 預期接收 jobCount 欄位,但 Gateway 回傳的是 jobs。我們已經修正了這個對接錯誤,請重新整理 Control UI 頁面即可看到正確的數值。
有任何設定上的疑問嗎?直接詢問 AI Setup Assistant 獲取即時協助。
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。