Day 6

OpenClaw Heartbeat 自動化教學:排程、Cron 設定與記憶系統

啟用 Heartbeat 讓 AI 助理主動巡查,設定 Cron 排程自動執行任務,建立記憶日誌系統。從被動回應變主動行動。

"你必須開口才會動的助理,只是一個工具。會主動找上你的助理,才是真正的助理。"

今日目標

Learn了解 Heartbeat、Cron 和記憶如何把 OpenClaw 變成主動自動化助理。
Do建立一條 Heartbeat 規則、加上一個早晨 cron,並確認兩者都已啟用。
Done whenopenclaw system heartbeat last 和 openclaw cron list 都能顯示你今天建立的設定。

缺少的最後一塊

你的助理已經有 soul、認識你、會讀 email、管理日曆、搜尋網路,也會跑技能。但在真正進入自動化之前,它還有一個關鍵限制:如果你不跟它說話,就什麼都不會發生。

50 封 email 堆著,它不會自己去看。30 分鐘後有會議,它不會提醒。網站掛了,它不會警報。

這就像你雇了一個很有能力的人,卻讓他只站在門口等指令。你不開口,他就什麼都不做。那不是管家,那是雕像。

今天我們把這件事補上。

Heartbeat:助理的生理時鐘

Heartbeat 機制會在固定間隔向你的助理送出一個訊號(預設:30 分鐘)。收到訊號後,它會:

  1. 讀取 HEARTBEAT.md 裡的任務清單
  2. 執行每一項檢查
  3. 如果有事值得你注意,就傳訊息給你
  4. 如果沒有,就安靜回傳 HEARTBEAT_OK,然後回去休眠

編輯 ~/.openclaw/workspace/HEARTBEAT.md,定義每次 Heartbeat 要檢查什麼:

## Check Every Heartbeat
- Gmail: any emails marked important or needing reply
- Calendar: meetings starting within 2 hours

## Check 2-3 Times Daily
- Is my site accessible?
- Any unusual GSC traffic fluctuations?

## Don't Check Unless I Ask
- Weather (not needed proactively)
- Social media (unless I'm @mentioned)

間隔選項:15 分鐘(工作日很密集)、30 分鐘(預設平衡)、1 小時(較省成本 / 離峰時段)。可透過 openclaw.json 的 agents.defaults.heartbeat.every 設定(例如 "30m"、"1h"、"15m")。

Token 成本參考:

  • 15 分鐘 heartbeat:每月約 $8-15(高使用量)
  • 30 分鐘 heartbeat:每月約 $4-8(建議)
  • 1 小時 heartbeat:每月約 $2-4(輕量)

請依你的模型提供商定價調整。

如果你想停止主動檢查:openclaw system heartbeat disable / openclaw system heartbeat enable

Heartbeat vs Cron:什麼時候該用哪一個 →

驗證檢查:執行 openclaw system heartbeat last,確認 Heartbeat 已啟用,且真的在讀取你剛才定義於 ~/.openclaw/workspace/HEARTBEAT.md 的規則。

第 6 天最低可用設定

今天最小但值得做的版本是這樣:

Step 1:建立 ~/.openclaw/workspace/HEARTBEAT.md,先放一條規則:

Check Gmail for emails marked important. Notify me if any found.

啟用 Heartbeat(如果還沒跑起來):

openclaw system heartbeat enable
openclaw system heartbeat last   # Should show last heartbeat run time

如果要調整間隔:編輯 openclaw.json,設定 agents.defaults.heartbeat.every(例如 "15m"、"30m"、"1h")。

Step 2:加上一個早晨簡報 cron:

openclaw cron add --name "Morning" --cron "0 8 * * *" \
  --system-event "Send me a morning briefing: important emails + today's calendar."

Step 3:確認兩者都已註冊:

openclaw system heartbeat last
openclaw cron list

驗證檢查:openclaw system heartbeat last 應顯示 Heartbeat 已啟用,而 openclaw cron list 應出現一筆排在 0 8 * * * 的 Morning。

Cron:精準排程

Heartbeat 適合「每隔一段時間檢查一次」。Cron 適合「在精確時間執行」:

# Morning briefing at 8am every day
openclaw cron add --name "Morning Briefing" --cron "0 8 * * *" \
  --system-event "Generate morning briefing: important emails, today's calendar, any site anomalies. Compile into one message."

# Weekly report every Monday at 9am
openclaw cron add --name "Weekly Report" --cron "0 9 * * 1" \
  --system-event "Summarize last week: key events, completed tasks, data changes, notable emails."

# Hydration reminder on weekdays
openclaw cron add --name "Break Reminder" --cron "0 10,12,14,16 * * 1-5" \
  --system-event "Remind to get up, move, drink water. If working 2+ hours straight, make it stronger."

標準 cron 語法,和 Linux crontab 一樣。

Cron jobs:完整語法參考與範例 →

驗證檢查:執行 openclaw cron list,確認每個 job 的名稱、cron expression 和 system event 都跟你的原意一致。

三層記憶系統

一旦助理開始主動工作,它就需要記住發生了什麼。OpenClaw 使用三層記憶:

Layer 1 — 每日日誌(~/.openclaw/workspace/memory/YYYY-MM-DD.md) 助理會自動寫下每天發生了什麼:它檢查了什麼、發現了什麼、你要求了什麼,以及它學到了哪些偏好。

Layer 2 — 長期記憶(~/.openclaw/workspace/MEMORY.md) 每隔幾天,它會回顧最近的每日日誌,提煉出值得永久保留的內容:你的專案名稱、工作習慣、哪些 email 你總是要馬上回,以及它觀察到的模式。

Layer 3 — Soul 記憶(SOUL.md + USER.md) 最穩定的核心:你是誰、你怎麼工作。這些不隨日期改變,而是定義其他一切的基線。

累積效應是這樣:一週後,它對你的工作流程已經比剛安裝時懂得更多;一個月後,它會開始預判你的需求。全新安裝和一個已跑了 6 個月的助理,差異幾乎都來自記憶。

Hooks:動作前 / 後自動化 →

驗證檢查:使用一天後,確認 ~/.openclaw/workspace/memory/ 裡已經出現每日日誌,並檢查 ~/.openclaw/workspace/MEMORY.md 或 SOUL.md 是否仍然反映你希望助理維持的長期行為。

平衡點:主動,但不要煩人

有用和打擾之間,只差一條線。

把不重要的事情打包。 重要 email → 立刻通知。一般 email → 留到早晨簡報。今天天氣不錯 → 沒人需要立刻知道。

尊重安靜時段。 在 SOUL.md 裡寫明:晚上 11 點到早上 8 點除非緊急,否則不要傳訊。週末降低頻率。

經驗法則: 多數人一天收到 3-5 則主動訊息是舒服的。再多,價值就會被噪音稀釋。

所有主動行為都定義在 HEARTBEAT.md 和 Cron 裡,隨時都能調整。如果某件事太頻繁,就拉長間隔;如果某條檢查沒價值,就直接刪掉。

驗證檢查:如果你在一天內收到超過幾則低價值通知,就先拉長 Heartbeat 間隔,或移除那條太吵的規則,再讓它整晚持續運行。

常見問題

  • Heartbeat 有觸發,但沒有收到訊息: 檢查你的通知頻道是否仍然連線,然後在 HEARTBEAT.md 裡放一條一定會產生訊息的簡單規則測試。
  • Cron 在錯的時間執行: 確認伺服器時區,並確認你的 cron expression 對應的是那個時區,而不是你筆電當前時鐘。
  • 第一天通知太多: 這通常代表你的第一版規則太寬。把規則收窄、把低優先順序更新合併到早晨簡報,或把 heartbeat 從 15 分鐘改成 30 或 60 分鐘。

實際跑起來會長怎樣

一套完整設定好的第 6 天系統,會在你什麼都不做時這樣運作:

  • 早上 8:00 — Telegram 收到早晨簡報。一則訊息,該知道的都在裡面。
  • 上午 10:30 — Heartbeat 檢查沒發現值得一提的事。保持安靜。
  • 上午 11:50 — 「1 小時後有 Product Discussion。找到 3 封相關 email 討論串,要我先整理成 briefing 嗎?」
  • 下午 3:00 — Heartbeat 偵測到你的網站流量下滑 30%。你收到警報。
  • 晚上 9:00 — 每日日誌寫入完成。~/.openclaw/workspace/MEMORY.md 已更新。今天學到的事都替明天存好了。

你沒有打開任何 app,也沒有先問任何問題。它就是自己開始工作。

這就是重點。

Day 6 Agent

Need help with this step?

Ask about anything on this page.

OpenClaw 專家

來自官方文件

I can help you with Day 6. What would you like to know?

Common questions: