Automation and tasks

自動化與任務

OpenClaw 透過工作、排程作業、推斷承諾、事件 hooks 和常駐指令在背景執行工作。本頁協助你選擇正確的機制,並了解它們如何相互配合。

快速決策指南

flowchart TD
    START([What do you need?]) --> Q1{Schedule work?}
    START --> Q2{Track detached work?}
    START --> Q3{Orchestrate multi-step flows?}
    START --> Q4{React to lifecycle events?}
    START --> Q5{Give the agent persistent instructions?}
    START --> Q6{Remember a natural follow-up?}

    Q1 -->|Yes| Q1a{Exact timing or flexible?}
    Q1a -->|Exact| CRON["Scheduled Tasks (Cron)"]
    Q1a -->|Flexible| HEARTBEAT[Heartbeat]

    Q2 -->|Yes| TASKS[Background Tasks]
    Q3 -->|Yes| FLOW[Task Flow]
    Q4 -->|Yes| HOOKS[Hooks]
    Q5 -->|Yes| SO[Standing Orders]
    Q6 -->|Yes| COMMITMENTS[Inferred Commitments]
使用情境 建議使用 原因
每天上午 9 點準時傳送報告 排程工作 (Cron) 精確時間、隔離執行
20 分鐘後提醒我 排程工作 (Cron) 具精確時間的一次性工作 (--at)
執行每週深度分析 排程工作 (Cron) 獨立工作,可使用不同模型
每 30 分鐘檢查收件匣 Heartbeat 與其他檢查一起批次執行,具情境感知
監控行事曆中的即將到來事件 Heartbeat 非常適合週期性覺察
在提到的面試後追蹤確認 推斷承諾 類似記憶的後續追蹤,沒有精確提醒請求
根據使用者情境進行溫和關懷確認 推斷承諾 限定於相同 agent 和頻道
檢查 subagent 或 ACP 執行狀態 背景工作 工作帳本追蹤所有分離工作
稽核執行過哪些工作以及何時執行 背景工作 openclaw tasks listopenclaw tasks audit
多步驟研究後彙整摘要 Task Flow 具有修訂追蹤的持久化編排
在工作階段重設時執行 script Hooks 事件驅動,會在生命週期事件觸發
在每次工具呼叫時執行程式碼 Plugin hooks 程序內 hooks 可攔截工具呼叫
回覆前一律檢查合規性 常駐指令 自動注入每個工作階段

排程工作 (Cron) 與 Heartbeat

維度 排程工作 (Cron) Heartbeat
時間安排 精確(cron 表達式、一次性) 近似(預設每 30 分鐘)
工作階段情境 全新(隔離)或共用 完整的主要工作階段情境
工作記錄 一律建立 永不建立
傳遞方式 頻道、webhook 或靜默 內嵌於主要工作階段
最適合 報告、提醒、背景作業 收件匣檢查、行事曆、通知

當你需要精確時間或隔離執行時,請使用排程工作 (Cron)。當工作受益於完整工作階段情境,且近似時間即可時,請使用 Heartbeat。

核心概念

排程工作 (cron)

Cron 是 Gateway 內建的精確時間排程器。它會持久化作業、在正確時間喚醒 agent,並可將輸出傳遞到聊天頻道或 webhook endpoint。支援一次性提醒、週期性表達式和傳入 webhook 觸發器。

請參閱排程工作

工作

背景工作帳本會追蹤所有分離工作:ACP 執行、subagent 產生、隔離 cron 執行和 CLI 操作。工作是記錄,不是排程器。使用 openclaw tasks listopenclaw tasks audit 檢查它們。

請參閱背景工作

推斷承諾

承諾是選擇啟用、短期存在的後續追蹤記憶。OpenClaw 會從一般對話推斷承諾,將它們限定於相同 agent 和頻道,並透過 Heartbeat 傳遞到期確認。使用者明確要求的精確提醒仍屬於 cron。

請參閱推斷承諾

Task Flow

Task Flow 是位於背景工作之上的流程編排基礎層。它會管理持久化多步驟流程,具備受管理與鏡像同步模式、修訂追蹤,以及用於檢查的 openclaw tasks flow list|show|cancel

請參閱 Task Flow

常駐指令

常駐指令授予 agent 對已定義程式的永久操作權限。它們存放於工作區檔案中(通常是 AGENTS.md),並注入每個工作階段。可搭配 cron 進行以時間為基礎的執行。

請參閱常駐指令

Hooks

內部 hooks 是事件驅動 scripts,會由 agent 生命週期事件(/new/reset/stop)、工作階段 Compaction、Gateway 啟動和訊息流程觸發。它們會自動從目錄探索,並可使用 openclaw hooks 管理。若要進行程序內工具呼叫攔截,請使用 Plugin hooks

請參閱 Hooks

Heartbeat

Heartbeat 是週期性的主要工作階段回合(預設每 30 分鐘)。它會在一次 agent 回合中,以完整工作階段情境批次執行多項檢查(收件匣、行事曆、通知)。Heartbeat 回合不會建立工作記錄,也不會延長每日/閒置工作階段重設的新鮮度。使用 HEARTBEAT.md 放置小型檢查清單,或在你想於 Heartbeat 本身執行僅限到期的週期性檢查時使用 tasks: 區塊。空的 Heartbeat 檔案會以 empty-heartbeat-file 跳過;僅限到期工作模式會以 no-tasks-due 跳過。當 cron 工作正在執行或佇列中時,Heartbeat 會延後;heartbeat.skipWhenBusy 也可在 subagent 或巢狀 lane 忙碌時延後它們。

請參閱 Heartbeat

它們如何一起運作

  • Cron 處理精確排程(每日報告、每週審查)和一次性提醒。所有 cron 執行都會建立工作記錄。
  • Heartbeat 在每 30 分鐘一次的批次回合中處理例行監控(收件匣、行事曆、通知)。
  • Hooks 透過自訂 scripts 回應特定事件(工作階段重設、Compaction、訊息流程)。Plugin hooks 涵蓋工具呼叫。
  • 常駐指令 提供 agent 持久情境與權限邊界。
  • Task Flow 在個別工作之上協調多步驟流程。
  • 工作 會自動追蹤所有分離工作,讓你能檢查與稽核。

相關