【進階篇】OpenClaw 高級技巧:定時任務 + 子 Agent + 自動化工作流

作者:H先生出品
日期:2026年5月7日 上午2:58
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

OpenClaw 高級技巧:通過定時任務、子 Agent 同自動化工作流,將 AI 從被動響應升級為主動執行、並行幹活嘅數字打工人。

整理版摘要

呢篇文章係 H先生 OpenClaw 系列嘅進階篇,專注教用戶點樣令 OpenClaw 自動做嘢,而唔係下下要你問先答。作者係專注 AI 工具同效率提升嘅內容創作者,佢發現入門篇只係做到「你問佢答」嘅被動模式,但現實需要係:每日朝早自動推送日程天氣、每小時監控伺服器、多個任務並行做。

文章嘅核心結論係:透過定時任務(cron)、子 Agent(sessions_spawn)同自動化工作流,你可以將 OpenClaw 變成一個真正幫你打工嘅數字助理。定時任務係基於 cron,但比傳統 cron 強大,因為佢執行嘅係 Agent 而唔係腳本,仲可以駁落微信飛書等渠道通知你。子 Agent 可以同時開幾個,各自做唔同嘢,最後由主 Agent 彙總,速度可以快幾倍。自動化工作流就係將觸發、動作、通知串埋一條鏈,比如朝早九點自動查日曆天氣待辦再推送。

作者仲畀咗好多實戰案例,例如伺服器存活監控、並行 PR 審查、每日晨報,仲有踩坑指南同最佳實踐,令你可以即刻跟住做。總括嚟講,呢篇係一篇好實用嘅進階指南,適合已經識基本操作、想更進一步嘅用戶。

  • 結論:定時任務、子 Agent、工作流三者組合,可以將 OpenClaw 從被動答問升級為主動執行嘅數字打工人。
  • 方法:定時任務用 cron 表達式或 everyMs 設定,子 Agent 用 sessions_spawn 工具,工作流就係將兩者結合。
  • 差異OpenClaw cron 同傳統 cron 最大分別係執行內容(Agent vs 腳本)同通知方式(即時推送到微信等渠道 vs 寫日誌)。
  • 啟發:並行子 Agent 可以大幅縮短複雜任務時間,例如審查 3 個 PR 可以同時做,快 3 倍。
  • 可行動點:立即用文章提供嘅模板建立一個每日晨報或伺服器監控任務,體驗自動化流程。
值得記低
Prompt

定時任務創建模板 JSON

一個完整嘅定時任務 JSON 結構,包含 name、agentId、schedule、sessionTarget、payload、delivery 等字段。

Prompt

子 Agent 調用指令模板

使用 sessions_spawn 工具創建子 Agent 嘅 JSON 格式,包含 task、runtime、mode、timeoutSeconds。

流程

每日晨報工作流配置

每日九點自動查日曆、天氣、待辦,然後推送匯總。使用定時任務 + 一個 agentTurn 訊息。

Skill

伺服器存活監控技能

每小時執行 bash script 檢查伺服器,如果返回 SERVER_DOWN 就發告警。包含腳本同定時任務配置。

整理重點

點解需要高級技巧?由被動變主動

入門篇裏面,你同 OpenClaw 嘅互動係被動嘅:你問先答,唔問就唔出聲。但現實場景你需要朝早自動推送日程、每小時檢查伺服器、多個任務並行做,呢啲就唔係就咁問一句搞得掂。

整理重點

定時任務:讓 OpenClaw 主動揾你

OpenClaw 嘅定時任務基於 cron,但比傳統 cron 更厲害:傳統 cron 只係跑腳本,OpenClaw cron 係跑 Agent,仲可以經微信/飛書/釘釘即時通知你。時間類型有三種:週期任務(everyMs 或 cron 表達式)、一次性任務(at)、同埋智能時區處理。

關鍵要記住:時區一定要用 ISO 格式(+08:00),否則會當成 UTC 搞錯時間

  1. 1 週期任務:例如每 30 分鐘用 {"kind":"every","everyMs":1800000},或每晚 9 點用 {"kind":"cron","expr":"0 9 * * *"}。
  2. 2 一次性任務:用 at 搭配 deleteAfterRun: true,例如今日下午三點用 ISO 8601 格式。
  3. 3 智能時區:先用 date +%z 拎系統時區,轉成 ISO,唔好 hardcode。

建立定時任務有兩個途徑:推薦用內置 cron 工具,直接喺 UI 或者微信飛書等渠道 send JSON;第二種係用 CLI 命令 openclaw cron add,適合企微等外部渠道。管理任務可以用 openclaw cron list、edit、remove、run。

定時任務創建範例(每日提醒) json
{
 "action": "add",
 "job": {
 "name": "每日提醒",
 "agentId": "main",
 "schedule": {"kind":"cron","expr":"0 9 * * *"},
 "sessionTarget": "isolated",
 "payload": {
 "kind": "agentTurn",
 "message": "你係一個暖心嘅提醒助手。請用温暖嘅方式提醒用戶:新嘅一日開始咗。要求:(1) 唔好回 HEARTBEAT_OK (2) 唔好 call message 工具 (3) 直接輸出提醒文字 (4) 控制喺 2-3 句以內"
 },
 "delivery": {"mode":"announce"}
 }
}
整理重點

子 Agent:並行幹活,快幾倍

複雜任務例如查 10 篇文檔、寫 API、整理文件,串行做要 30 分鐘;但如果開三個子 Agent 並行做,10 分鐘就搞掂,快成三倍。子 Agent 嘅核心係每個都有獨立會話,各自執行唔同任務,最後由主 Agent 收集結果。

建立子 Agent 用 sessions_spawn 工具,task 係子任務描述,runtime 用 subagent,mode 用 run 一次性

  • 監控子 Agent 可以用 openclaw subagents list / log / steer / kill。
  • 建議同時運行嘅子 Agent 唔好超過 5 個,否則系統會變慢。
  • 實戰案例:並行審查 3 個 PR,每個子 Agent 做 git diff,最後主 Agent 出統一報告。
子 Agent 調用範例 json
{
 "task": "查閲 https://docs.example.com/api 並總結核心功能",
 "runtime": "subagent",
 "mode": "run",
 "timeoutSeconds": 300
}
整理重點

自動化工作流:一條龍自動執行

自動化工作流就係將觸發器、動作、通知串埋一條鏈。觸發器可以係定時、事件或手動;動作包括查詢、執行、生成;通知渠道支援本地 UI、微信、飛書等。最常見嘅例子係每日晨報:朝早 9 點觸發,查日程、天氣、待辦,然後推送畀你。

工作流嘅核心係 payload 入面嘅 message 要寫清楚要求,例如限制字數同禁止調用 message 工具

  • 觸發器:定時(cron/everyMs)、事件(例如收到重要郵件)、手動(講句開始工作流)。
  • 動作:查類(天氣、日程)、執行類(call API、行腳本)、生成類(報告、文檔)。
  • 通知:用 delivery.mode announce,可以指定 channel 同 to。
每日晨報工作流配置 json
{
 "action": "add",
 "job": {
 "name": "每日晨報",
 "agentId": "main",
 "schedule": {"kind":"cron","expr":"0 9 * * *"},
 "sessionTarget": "isolated",
 "payload": {
 "kind": "agentTurn",
 "message": "請生成今日晨報,包含:(1) 今日日程(查日曆)(2) 今日天氣(查天氣)(3) 待辦事項(查 TODO)。格式:簡潔清晰,控制在 200 字以內。要求:(1) 唔好回 HEARTBEAT_OK (2) 唔好 call message 工具 (3) 直接輸出晨報內容"
 },
 "delivery": {"mode":"announce"}
 }
}
整理重點

踩坑指南同最佳實踐

用呢啲高級功能嘅時候,有幾個常見問題要注意。首先係時區,冇指定時區會當成 UTC,搞到時間錯曬。第二係 delivery 參數,漏咗就唔會收到通知。第三係子 Agent 開太多,建議控制喺 5 個以內。另外,任務重複創建會令你收到重複提醒,所以創建前先用 openclaw cron list 檢查。

定時任務命名規範:<類型>_<頻率>_<動作>,例如 daily_morning_report、hourly_server_check

  • 定期檢查任務狀態:每星期用 openclaw cron list 睇下有冇過期任務。
  • 善用錯誤重試:failureAlert.after 設為 2,失敗兩次先告警,避免誤報。
  • 條件執行:喺 message 入面加 if 條件,例如「如果落雨就提醒,否則唔出聲」。
  • 子 Agent 協作模式:主從模式(主 Agent 派工)同流水線模式(串聯執行)兩種,按場景揀。

之前幾篇講完咗「點樣用」同「點樣行」,呢篇就講「點樣令佢自己行」。定時任務令 OpenClaw 主動提你,子 Agent 令佢並行做嘢,自動化工作流令佢成為你嘅「數字打工人」。


一、點解需要高級技巧?

入門篇入面,你同 OpenClaw 嘅互動係咁樣:

你:幫我查一下今天天氣
OpenClaw:今天北京晴,15-25℃

這是被動回應——你唔問,佢唔講。

但現實場景中,你往往需要:

  • 每日早上 9 點,自動推送今日日程 + 天氣 + 待辦事項
  • 每小時,檢查伺服器係咪仲生還,死咗自動警報
  • 多個任務並行,一個寫程式碼,一個查資料,一個整理文件

咁就需要定時任務子 Agent


二、定時任務:令 OpenClaw 主動揾你

2.1 定時任務嘅核心概念

圖片

OpenClaw 嘅定時任務係基於 cron,但比傳統 cron 仲強大:

特性
傳統 cron
OpenClaw cron
執行內容
只能行指令
可以俾 AI 做嘢
通知方式
只能寫日誌
微信/飛書/企微/釘釘
任務類型
週期性
一次性 + 週期性
管理
手動改 crontab
命令行 + API

本質分別:傳統 cron 行腳本,OpenClaw cron 行 Agent

2.2 三種時間類型

(1)週期任務

最常見,按固定間隔重複執行:

ounter(lineounter(lineounter(lineounter(lineounter(line
每 30 分鐘 → {"kind":"every","everyMs":1800000}
每 2 小時  → {"kind":"every","everyMs":7200000}
每天 9 點  → {"kind":"cron","expr":"0 9 * * *"}
每週一 10 點 → {"kind":"cron","expr":"0 10 * * 1"}
工作日 18 點 → {"kind":"cron","expr":"0 18 * * 1-5"}

cron 表達式格式分 時 日 月 星期

  • 0 9 * * * = 每日 9:00
  • 0 18 * * 1-5 = 週一到週五 18:00
  • */30 * * * * = 每 30 分鐘
  • 0 10 * * 1 = 每星期一 10:00

(2)一次性任務

執行一次後自動刪除:

今天下午 3 點 → {"kind":"at","at":"2026-05-07T15:00:00+08:00"}
10 分鐘後    → {"kind":"at","at":"<當前時間+10分鐘>"}

關鍵參數deleteAfterRun: true

(3)智能時區

唔好硬編碼時區!

先獲取系統時區:

date +%z  # 輸出 +0800

轉換做 ISO 格式:+0800 → +08:00

正確寫法:

{"kind":"at","at":"2026-05-07T15:00:00+08:00"}

錯誤寫法:

{"kind":"at","at":"2026-05-07T15:00:00"}  // 沒有時區,會被當成 UTC

2.3 創建定時任務

方式一:內置 cron 工具(推薦)

適用於本地 UI、wechat-access、釘釘等渠道:

{
  "action": "add",
  "job": {
    "name": "每日提醒",
    "agentId": "main",
    "schedule": {"kind":"cron","expr":"0 9 * * *"},
    "sessionTarget": "isolated",
    "payload": {
      "kind": "agentTurn",
      "message": "你是一個暖心的提醒助手。請用温暖的方式提醒用戶:新的一天開始了。要求:(1) 不要回復 HEARTBEAT_OK (2) 不要調用 message 工具 (3) 直接輸出提醒文字 (4) 控制在 2-3 句話以內"
    },
    "delivery": {"mode":"announce"}
  }
}

關鍵參數解釋

參數
含義
agentId
邊個 Agent 執行(從當前 sessionKey 提取)
sessionTargetisolated
 = 獨立會話,唔污染主對話歷史
payload.kindagentTurn
 = 俾 AI 執行,systemEvent = 簡單文本
delivery.modeannounce
 = 推送到當前渠道

方式二:CLI 指令

適用於企微、飛書等外部渠道:

openclaw cron add \
  --name "每日提醒" \
  --cron "0 9 * * *" \
  --session isolated \
  --agent main \
  --message "你是一個暖心的提醒助手..." \
  --announce

2.4 定時任務管理

# 查看所有任務
openclaw cron list

# 暫停任務(不刪除)
openclaw cron edit <jobId> --enabled false

# 恢復任務
openclaw cron edit <jobId> --enabled true

# 刪除任務
openclaw cron remove <jobId>

# 立即執行一次
openclaw cron run <jobId>

2.5 實戰案例:伺服器存活監控

需求:每個鐘檢查一次伺服器,死咗自動警報

步驟 1:創建檢測腳本

# 保存為 ~/scripts/check-server.sh
#!/bin/bash
curl -f https://your-server.com/health || echo "SERVER_DOWN"

步驟 2:創建定時任務

{
  "action": "add",
  "job": {
    "name": "服務器存活監控",
    "agentId": "main",
    "schedule": {"kind":"every","everyMs":3600000},
    "sessionTarget": "isolated",
    "payload": {
      "kind": "agentTurn",
      "message": "執行 ~/scripts/check-server.sh,如果輸出 SERVER_DOWN,立即發送告警:服務器可能掛了,請檢查。要求:(1) 直接輸出結果 (2) 不要調用無關工具"
    },
    "delivery": {"mode":"announce"}
  }
}

效果:每個鐘自動執行,有問題即刻通知你。


三、子 Agent:令 OpenClaw 並行做嘢

3.1 點解需要子 Agent?

想像嚇你有個複雜任務:

  1. 查閲 10 篇技術文件
  2. 寫一個 API 服務
  3. 整理程式碼文件

串行執行:1 → 2 → 3,需時 30 分鐘

並行執行

  • 子 Agent A:查文件
  • 子 Agent B:寫程式碼
  • 子 Agent C:整理文件

需時 10 分鐘,快咗 3 倍!

3.2 子 Agent 嘅核心概念

主 Agent(你對話的 Agent)
  ├── 子 Agent A(查資料)
  ├── 子 Agent B(寫代碼)
  └── 子 Agent C(整理文檔)

關鍵特性

  • 獨立會話:每個子 Agent 有獨立嘅對話歷史
  • 並行執行:多個子 Agent 同時做嘢
  • 結果滙總:主 Agent 收集所有結果

3.3 創建子 Agent

使用 sessions_spawn 工具:

{
  "task": "查閲 https://docs.example.com/api 並總結核心功能",
  "runtime": "subagent",
  "mode": "run",
  "timeoutSeconds": 300
}

參數說明

參數
含義
task
子 Agent 嘅任務描述
runtimesubagent
 = OpenClaw 子 Agent
moderun
 = 一次性任務,session = 持久會話
timeoutSeconds
超時時間(秒)

3.4 監控子 Agent

# 查看所有子 Agent
openclaw subagents list

# 查看某個子 Agent 的輸出
openclaw subagents log <sessionId>

# 向子 Agent 發送指令
openclaw subagents steer <sessionId> --message "請加快進度"

# 終止子 Agent
openclaw subagents kill <sessionId>

3.5 實戰案例:並行程式碼審查

需求:同時審查 3 個 PR

步驟 1:啟動 3 個子 Agent

# 子 Agent 1:審查 PR #86
sessions_spawn task:"Review PR #86. git diff origin/main...origin/pr/86" runtime:"subagent" mode:"run"

# 子 Agent 2:審查 PR #87
sessions_spawn task:"Review PR #87. git diff origin/main...origin/pr/87" runtime:"subagent" mode:"run"

# 子 Agent 3:審查 PR #88
sessions_spawn task:"Review PR #88. git diff origin/main...origin/pr/88" runtime:"subagent" mode:"run"

步驟 2:等所有子 Agent 完成

ounter(lineounter(line
# 查看狀態
openclaw subagents list

步驟 3:收集結果並滙總

主 Agent 收到所有結果後,生成統一報告。

3.6 子 Agent vs 定時任務

特性
定時任務
子 Agent
觸發方式
時間驅動
手動觸發
執行時機
週期/定點
立即
數量限制
建議同時 ≤ 5 個
適用場景
定期檢查、提醒
並行任務、複雜工作

四、自動化工作流:從「我問佢答」到「佢幫我做嘢」

4.1 乜嘢係自動化工作流?

將多個操作串聯起嚟,形成一個完整嘅自動化鏈條:

觸發條件 → 執行動作 → 結果通知

示例

每天 9 點 → 查日程 + 查天氣 + 查郵件 → 推送彙總

4.2 三要素

(1)觸發器

類型
示例
定時觸發
每日 9 點
事件觸發
收到重要電郵時
手動觸發
講「開始工作流」

(2)動作

類型
示例
查詢類
查天氣、查日程、查電郵
執行類
發送訊息、調用 API、執行腳本
生成類
寫報告、生成文件、整理摘要

(3)通知

渠道
配置
本地 UI
delivery: {"mode":"announce"}
微信
delivery: {"mode":"announce","channel":"wechat-access","to":"<sender_id>"}
飛書
delivery: {"mode":"announce","channel":"feishu","to":"<sender_id>"}

4.3 實戰案例:每日晨報

需求:每日早上 9 點,自動推送今日日程 + 天氣 + 待辦事項

方案:結合定時任務 + 子 Agent

{
  "action": "add",
  "job": {
    "name": "每日晨報",
    "agentId": "main",
    "schedule": {"kind":"cron","expr":"0 9 * * *"},
    "sessionTarget": "isolated",
    "payload": {
      "kind": "agentTurn",
      "message": "請生成今日晨報,包含:(1) 今日日程(查日曆)(2) 今日天氣(查天氣)(3) 待辦事項(查 TODO)。格式:簡潔清晰,控制在 200 字以內。要求:(1) 不要回復 HEARTBEAT_OK (2) 不要調用 message 工具 (3) 直接輸出晨報內容"
    },
    "delivery": {"mode":"announce"}
  }
}

4.4 實戰案例:智能警報

需求:伺服器 CPU > 80% 時警報

方案:定時任務 + 腳本檢測

# 監控腳本
#!/bin/bash
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then
  echo "CPU告警:當前使用率 ${CPU_USAGE}%"
fi

定時任務配置:

{
  "action": "add",
  "job": {
    "name": "CPU監控",
    "agentId": "main",
    "schedule": {"kind":"every","everyMs":300000},
    "sessionTarget": "isolated",
    "payload": {
      "kind": "agentTurn",
      "message": "執行 CPU 監控腳本,如果有告警輸出,立即通知用戶。要求:(1) 直接輸出結果 (2) 正常時不輸出"
    },
    "delivery": {"mode":"announce"}
  }
}

五、進階技巧:令自動化更智能

5.1 錯誤重試

定時任務支援自動重試:

{
  "job": {
    ...
    "failureAlert": {
      "mode": "announce",
      "after": 2
    }
  }
}

含義:失敗 2 次之後先警報,避免誤報。

5.2 失敗通知

配置失敗時嘅通知目標:

{
  "job": {
    ...
    "failureDestination": {
      "mode": "announce",
      "channel": "wechat-access",
      "to": "your_sender_id"
    }
  }
}

5.3 條件執行

喺任務描述中加入條件判斷:

ounter(line
查天氣,如果下雨,提醒帶傘;否則不輸出

AI 會自動判斷條件並決定係咪通知。

5.4 子 Agent 協作模式

主從模式:主 Agent 分配任務,子 Agent 執行

主 Agent:分析需求,拆分為 3 個子任務
  ├── 子 Agent A:執行任務 1
  ├── 子 Agent B:執行任務 2
  └── 子 Agent C:執行任務 3
主 Agent:彙總結果,生成報告

流水線模式:子 Agent 串聯執行

子 Agent A → 子 Agent B → 子 Agent C
(查資料)   (寫代碼)    (整理文檔)

六、踩坑指南

6.1 時區問題

症狀:定時任務比預期早/遲 8 個鐘

原因:時間冇指定時區,被當成 UTC

解決:始終使用 +08:00 格式

6.2 delivery 缺失

症狀:任務執行咗,但冇收到通知

原因delivery 參數缺失或 to 字段為空

解決:確保 delivery 包含完整信息

6.3 子 Agent 數量過多

症狀:系統變慢,反應遲鈍

原因:同時行太多子 Agent

解決:控制並發數量,建議 ≤ 5 個

6.4 任務重複創建

症狀:同一個提醒收到多次

原因:多次創建同名任務

解決:創建前先 openclaw cron list 檢查


七、最佳實踐

7.1 定時任務命名規範

<類型>_<頻率>_<動作>

示例:

  • daily_morning_report
  • hourly_server_check
  • weekly_summary

7.2 任務描述模板

你是一個【角色】。
請【具體動作】。
要求:
(1) 不要回復 HEARTBEAT_OK
(2) 不要調用 message 工具
(3) 直接輸出結果
(4) 控制在 X 句話以內

7.3 監控與維護

定期檢查任務狀態:

# 每週檢查一次
openclaw cron list

# 清理過期任務
openclaw cron remove <過期任務ID>

八、總結

功能
解決嘅問題
核心工具
定時任務
令 AI 主動揾你
cron
子 Agent
令 AI 並行做嘢
sessions_spawn
自動化工作流
令 AI 完成複雜鏈條
定時任務 + 子 Agent

從被動到主動

  • 入門篇:你問佢答
  • 進階篇:佢主動幫你

下一步:實戰篇會帶你搭建一個完整嘅「數字打工人」,從需求到落地。


系列文章預告

  • ✅ 入門篇(已完成)
  • ✅ 技能篇(已完成)
  • ✅ 記憶篇(已完成)
  • ✅ 原理篇(已完成)
  • ✅ 進階篇(本文)
  • ⏳ 實戰篇(待完成):用 OpenClaw 搭建你嘅「數字打工人」

㩒下讚同關注唔好迷路,後面仲有更多精彩乾貨。

👨‍💻 H先生出品 | 專注 AI 工具與效率提升


前面幾篇講完了"怎麼用"和"怎麼跑",這篇講"怎麼讓它自己跑"。定時任務讓 OpenClaw 主動提醒你,子 Agent 讓它並行幹活,自動化工作流讓它成為你的"數字打工人"。


一、為什麼需要高級技巧?

入門篇裏,你和 OpenClaw 的交互是這樣的:

你:幫我查一下今天天氣
OpenClaw:今天北京晴,15-25℃

這是被動響應——你不問,它不說。

但現實場景中,你往往需要:

  • 每天早上 9 點,自動推送今日日程 + 天氣 + 待辦
  • 每小時,檢查服務器是否存活,掛了自動告警
  • 多個任務並行,一個寫代碼,一個查資料,一個整理文檔

這就需要定時任務子 Agent


二、定時任務:讓 OpenClaw 主動找你

2.1 定時任務的核心概念

圖片

OpenClaw 的定時任務基於 cron,但比傳統 cron 更強大:

特性
傳統 cron
OpenClaw cron
執行內容
只能跑命令
可以讓 AI 幹活
通知方式
只能寫日誌
微信/飛書/企微/釘釘
任務類型
週期性
一次性 + 週期性
管理
手動改 crontab
命令行 + API

本質區別:傳統 cron 跑腳本,OpenClaw cron 跑 Agent

2.2 三種時間類型

(1)週期任務

最常見,按固定間隔重複執行:

ounter(lineounter(lineounter(lineounter(lineounter(line
每 30 分鐘 → {"kind":"every","everyMs":1800000}
每 2 小時  → {"kind":"every","everyMs":7200000}
每天 9 點  → {"kind":"cron","expr":"0 9 * * *"}
每週一 10 點 → {"kind":"cron","expr":"0 10 * * 1"}
工作日 18 點 → {"kind":"cron","expr":"0 18 * * 1-5"}

cron 表達式格式分 時 日 月 星期

  • 0 9 * * * = 每天 9:00
  • 0 18 * * 1-5 = 週一到週五 18:00
  • */30 * * * * = 每 30 分鐘
  • 0 10 * * 1 = 每週一 10:00

(2)一次性任務

執行一次後自動刪除:

今天下午 3 點 → {"kind":"at","at":"2026-05-07T15:00:00+08:00"}
10 分鐘後    → {"kind":"at","at":"<當前時間+10分鐘>"}

關鍵參數deleteAfterRun: true

(3)智能時區

不要硬編碼時區!

先獲取系統時區:

date +%z  # 輸出 +0800

轉換成 ISO 格式:+0800 → +08:00

正確寫法:

{"kind":"at","at":"2026-05-07T15:00:00+08:00"}

錯誤寫法:

{"kind":"at","at":"2026-05-07T15:00:00"}  // 沒有時區,會被當成 UTC

2.3 創建定時任務

方式一:內置 cron 工具(推薦)

適用於本地 UI、wechat-access、釘釘等渠道:

{
  "action": "add",
  "job": {
    "name": "每日提醒",
    "agentId": "main",
    "schedule": {"kind":"cron","expr":"0 9 * * *"},
    "sessionTarget": "isolated",
    "payload": {
      "kind": "agentTurn",
      "message": "你是一個暖心的提醒助手。請用温暖的方式提醒用戶:新的一天開始了。要求:(1) 不要回復 HEARTBEAT_OK (2) 不要調用 message 工具 (3) 直接輸出提醒文字 (4) 控制在 2-3 句話以內"
    },
    "delivery": {"mode":"announce"}
  }
}

關鍵參數解釋

參數
含義
agentId
哪個 Agent 執行(從當前 sessionKey 提取)
sessionTargetisolated
 = 獨立會話,不污染主對話歷史
payload.kindagentTurn
 = 讓 AI 執行,systemEvent = 簡單文本
delivery.modeannounce
 = 推送到當前渠道

方式二:CLI 命令

適用於企微、飛書等外部渠道:

openclaw cron add \
  --name "每日提醒" \
  --cron "0 9 * * *" \
  --session isolated \
  --agent main \
  --message "你是一個暖心的提醒助手..." \
  --announce

2.4 定時任務管理

# 查看所有任務
openclaw cron list

# 暫停任務(不刪除)
openclaw cron edit <jobId> --enabled false

# 恢復任務
openclaw cron edit <jobId> --enabled true

# 刪除任務
openclaw cron remove <jobId>

# 立即執行一次
openclaw cron run <jobId>

2.5 實戰案例:服務器存活監控

需求:每小時檢查一次服務器,掛了自動告警

步驟 1:創建檢測腳本

# 保存為 ~/scripts/check-server.sh
#!/bin/bash
curl -f https://your-server.com/health || echo "SERVER_DOWN"

步驟 2:創建定時任務

{
  "action": "add",
  "job": {
    "name": "服務器存活監控",
    "agentId": "main",
    "schedule": {"kind":"every","everyMs":3600000},
    "sessionTarget": "isolated",
    "payload": {
      "kind": "agentTurn",
      "message": "執行 ~/scripts/check-server.sh,如果輸出 SERVER_DOWN,立即發送告警:服務器可能掛了,請檢查。要求:(1) 直接輸出結果 (2) 不要調用無關工具"
    },
    "delivery": {"mode":"announce"}
  }
}

效果:每小時自動執行,有問題立刻通知你。


三、子 Agent:讓 OpenClaw 並行幹活

3.1 為什麼需要子 Agent?

想象你有一個複雜任務:

  1. 查閲 10 篇技術文檔
  2. 寫一個 API 服務
  3. 整理代碼文檔

串行執行:1 → 2 → 3,耗時 30 分鐘

並行執行

  • 子 Agent A:查文檔
  • 子 Agent B:寫代碼
  • 子 Agent C:整理文檔

耗時 10 分鐘,快了 3 倍!

3.2 子 Agent 的核心概念

主 Agent(你對話的 Agent)
  ├── 子 Agent A(查資料)
  ├── 子 Agent B(寫代碼)
  └── 子 Agent C(整理文檔)

關鍵特性

  • 獨立會話:每個子 Agent 有獨立的對話歷史
  • 並行執行:多個子 Agent 同時幹活
  • 結果彙總:主 Agent 收集所有結果

3.3 創建子 Agent

使用 sessions_spawn 工具:

{
  "task": "查閲 https://docs.example.com/api 並總結核心功能",
  "runtime": "subagent",
  "mode": "run",
  "timeoutSeconds": 300
}

參數說明

參數
含義
task
子 Agent 的任務描述
runtimesubagent
 = OpenClaw 子 Agent
moderun
 = 一次性任務,session = 持久會話
timeoutSeconds
超時時間(秒)

3.4 監控子 Agent

# 查看所有子 Agent
openclaw subagents list

# 查看某個子 Agent 的輸出
openclaw subagents log <sessionId>

# 向子 Agent 發送指令
openclaw subagents steer <sessionId> --message "請加快進度"

# 終止子 Agent
openclaw subagents kill <sessionId>

3.5 實戰案例:並行代碼審查

需求:同時審查 3 個 PR

步驟 1:啓動 3 個子 Agent

# 子 Agent 1:審查 PR #86
sessions_spawn task:"Review PR #86. git diff origin/main...origin/pr/86" runtime:"subagent" mode:"run"

# 子 Agent 2:審查 PR #87
sessions_spawn task:"Review PR #87. git diff origin/main...origin/pr/87" runtime:"subagent" mode:"run"

# 子 Agent 3:審查 PR #88
sessions_spawn task:"Review PR #88. git diff origin/main...origin/pr/88" runtime:"subagent" mode:"run"

步驟 2:等待所有子 Agent 完成

ounter(lineounter(line
# 查看狀態
openclaw subagents list

步驟 3:收集結果並彙總

主 Agent 收到所有結果後,生成統一報告。

3.6 子 Agent vs 定時任務

特性
定時任務
子 Agent
觸發方式
時間驅動
手動觸發
執行時機
週期/定點
立即
數量限制
建議同時 ≤ 5 個
適用場景
定期檢查、提醒
並行任務、複雜工作

四、自動化工作流:從"我問它答"到"它幫我幹活"

4.1 什麼是自動化工作流?

把多個操作串起來,形成一個完整的自動化鏈條:

觸發條件 → 執行動作 → 結果通知

示例

每天 9 點 → 查日程 + 查天氣 + 查郵件 → 推送彙總

4.2 三要素

(1)觸發器

類型
示例
定時觸發
每天 9 點
事件觸發
收到重要郵件時
手動觸發
說"開始工作流"

(2)動作

類型
示例
查詢類
查天氣、查日程、查郵件
執行類
發送消息、調用 API、執行腳本
生成類
寫報告、生成文檔、整理摘要

(3)通知

渠道
配置
本地 UI
delivery: {"mode":"announce"}
微信
delivery: {"mode":"announce","channel":"wechat-access","to":"<sender_id>"}
飛書
delivery: {"mode":"announce","channel":"feishu","to":"<sender_id>"}

4.3 實戰案例:每日晨報

需求:每天早上 9 點,自動推送今日日程 + 天氣 + 待辦

方案:結合定時任務 + 子 Agent

{
  "action": "add",
  "job": {
    "name": "每日晨報",
    "agentId": "main",
    "schedule": {"kind":"cron","expr":"0 9 * * *"},
    "sessionTarget": "isolated",
    "payload": {
      "kind": "agentTurn",
      "message": "請生成今日晨報,包含:(1) 今日日程(查日曆)(2) 今日天氣(查天氣)(3) 待辦事項(查 TODO)。格式:簡潔清晰,控制在 200 字以內。要求:(1) 不要回復 HEARTBEAT_OK (2) 不要調用 message 工具 (3) 直接輸出晨報內容"
    },
    "delivery": {"mode":"announce"}
  }
}

4.4 實戰案例:智能告警

需求:服務器 CPU > 80% 時告警

方案:定時任務 + 腳本檢測

# 監控腳本
#!/bin/bash
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then
  echo "CPU告警:當前使用率 ${CPU_USAGE}%"
fi

定時任務配置:

{
  "action": "add",
  "job": {
    "name": "CPU監控",
    "agentId": "main",
    "schedule": {"kind":"every","everyMs":300000},
    "sessionTarget": "isolated",
    "payload": {
      "kind": "agentTurn",
      "message": "執行 CPU 監控腳本,如果有告警輸出,立即通知用戶。要求:(1) 直接輸出結果 (2) 正常時不輸出"
    },
    "delivery": {"mode":"announce"}
  }
}

五、進階技巧:讓自動化更智能

5.1 錯誤重試

定時任務支持自動重試:

{
  "job": {
    ...
    "failureAlert": {
      "mode": "announce",
      "after": 2
    }
  }
}

含義:失敗 2 次後才告警,避免誤報。

5.2 失敗通知

配置失敗時的通知目標:

{
  "job": {
    ...
    "failureDestination": {
      "mode": "announce",
      "channel": "wechat-access",
      "to": "your_sender_id"
    }
  }
}

5.3 條件執行

在任務描述中加入條件判斷:

ounter(line
查天氣,如果下雨,提醒帶傘;否則不輸出

AI 會自動判斷條件並決定是否通知。

5.4 子 Agent 協作模式

主從模式:主 Agent 分配任務,子 Agent 執行

主 Agent:分析需求,拆分為 3 個子任務
  ├── 子 Agent A:執行任務 1
  ├── 子 Agent B:執行任務 2
  └── 子 Agent C:執行任務 3
主 Agent:彙總結果,生成報告

流水線模式:子 Agent 串聯執行

子 Agent A → 子 Agent B → 子 Agent C
(查資料)   (寫代碼)    (整理文檔)

六、踩坑指南

6.1 時區問題

症狀:定時任務比預期早/晚 8 小時

原因:時間沒有指定時區,被當成 UTC

解決:始終使用 +08:00 格式

6.2 delivery 缺失

症狀:任務執行了,但沒有收到通知

原因delivery 參數缺失或 to 字段為空

解決:確保 delivery 包含完整信息

6.3 子 Agent 數量過多

症狀:系統變慢,響應遲鈍

原因:同時運行太多子 Agent

解決:控制併發數量,建議 ≤ 5 個

6.4 任務重複創建

症狀:同一個提醒收到多次

原因:多次創建同名任務

解決:創建前先 openclaw cron list 檢查


七、最佳實踐

7.1 定時任務命名規範

<類型>_<頻率>_<動作>

示例:

  • daily_morning_report
  • hourly_server_check
  • weekly_summary

7.2 任務描述模板

你是一個【角色】。
請【具體動作】。
要求:
(1) 不要回復 HEARTBEAT_OK
(2) 不要調用 message 工具
(3) 直接輸出結果
(4) 控制在 X 句話以內

7.3 監控與維護

定期檢查任務狀態:

# 每週檢查一次
openclaw cron list

# 清理過期任務
openclaw cron remove <過期任務ID>

八、總結

功能
解決的問題
核心工具
定時任務
讓 AI 主動找你
cron
子 Agent
讓 AI 並行幹活
sessions_spawn
自動化工作流
讓 AI 完成複雜鏈條
定時任務 + 子 Agent

從被動到主動

  • 入門篇:你問它答
  • 進階篇:它主動幫你

下一步:實戰篇將帶你搭建一個完整的"數字打工人",從需求到落地。


系列文章預告

  • ✅ 入門篇(已完成)
  • ✅ 技能篇(已完成)
  • ✅ 記憶篇(已完成)
  • ✅ 原理篇(已完成)
  • ✅ 進階篇(本文)
  • ⏳ 實戰篇(待完成):用 OpenClaw 搭建你的"數字打工人"

點點贊和關注不迷路,後面還有更多精彩乾貨。

👨‍💻 H先生出品 | 專注 AI 工具與效率提升