Day 6
OpenClaw Heartbeat & Cron:自動化セットアップガイド
Heartbeatで常時監視を有効化、Cronスケジュールでタスク自動実行、メモリログ設定。OpenClawを受動から能動に変える方法。
「頼まないと動かないアシスタントは、ただのツールです。自分から声をかけてくるアシスタントこそ、本物のアシスタントです。」
今日の目標
| 学ぶこと | heartbeat、cron、memory がどう OpenClaw を自発的なアシスタントに変えるかを理解する |
| やること | heartbeat ルールを 1 つ作り、朝の cron を 1 つ追加し、その両方が有効であることを確認する |
| 完了条件 | openclaw system heartbeat last と openclaw cron list の両方に、今日作成した設定が表示される |
足りなかった最後のピース
アシスタントには魂があり、あなたを知り、メールを読み、カレンダーを管理し、Web を検索し、スキルを実行できます。けれども、重大な制限が 1 つあります。あなたが話しかけなければ、何も起きない ことです。
メールが 50 通たまっても、確認しない。30 分後に会議が始まっても、知らせない。サイトが落ちても、アラートを出さない。
能力はあるのに、指示待ちで入口に立っているだけの人を雇ったようなものです。それは執事ではありません。像です。
今日はそこを解決します。
Heartbeat: アシスタントの体内時計
Heartbeat は一定間隔(既定: 30 分)でアシスタントに信号を送ります。信号を受け取るたびに、アシスタントは次を行います。
HEARTBEAT.mdのタスクリストを読む- 各チェックを実行する
- 注意が必要ならメッセージを送る
- 何もなければ静かに
HEARTBEAT_OKを返して再び待機する
何を毎回確認するかは、~/.openclaw/workspace/HEARTBEAT.md を編集して定義します。
## 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 min(集中作業日)、30 min(既定のバランス)、1 hour(節約重視または勤務時間外)。設定は openclaw.json の agents.defaults.heartbeat.every で行います(例: "30m"、"1h"、"15m")。
Token cost の目安:
- 15 min heartbeat: 約 $8-15/月(高頻度)
- 30 min heartbeat: 約 $4-8/月(推奨)
- 1 hour heartbeat: 約 $2-4/月(軽め)
model provider の料金に応じて調整してください。
自発的な確認を止めたいとき: openclaw system heartbeat disable / openclaw system heartbeat enable
Heartbeat vs Cron: when to use which →
確認ポイント: openclaw system heartbeat last を実行し、heartbeat が有効で、今定義した ~/.openclaw/workspace/HEARTBEAT.md のルールを読んでいることを確認してください。
Day 6 の最小構成
今日やる価値がある最小限の設定はこれです。
ステップ 1: ~/.openclaw/workspace/HEARTBEAT.md に 1 つだけルールを書く
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")。
ステップ 2: 朝のブリーフィング cron を 1 つ設定する
openclaw cron add --name "Morning" --cron "0 8 * * *" \
--system-event "Send me a morning briefing: important emails + today's calendar."ステップ 3: 両方登録されたことを確認する
openclaw system heartbeat last
openclaw cron list確認ポイント: openclaw system heartbeat last に heartbeat enabled が表示され、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 syntax で、Linux crontab と同じです。
Cron jobs: full syntax reference and examples →
確認ポイント: openclaw cron list を実行し、各 job name、cron expression、system event が意図通りか確認してください。
3 層のメモリシステム
アシスタントが自発的に動くようになると、何が起きたかを覚えておく必要があります。OpenClaw は 3 層でメモリを扱います。
Layer 1 — Daily logs(~/.openclaw/workspace/memory/YYYY-MM-DD.md)
アシスタントは毎日、何を確認し、何を見つけ、何を頼まれ、あなたの好みについて何を学んだかを書き残します。
Layer 2 — Long-term memory(~/.openclaw/workspace/MEMORY.md)
数日ごとに最近の daily logs を見直し、長く残す価値のあることを要約します。プロジェクト名、働き方の癖、いつもすぐ返信するメール、気づいたパターンなどです。
Layer 3 — Soul memory(SOUL.md + USER.md)
もっとも安定した核です。あなたが誰で、どう働きたいか。日付では変わらない、すべての土台になります。
積み上がり効果は大きく、1 週間後には初期設定時よりワークフローを理解し、1 か月後には必要なことを先回りし始めます。fresh install と 6 か月運用済みアシスタントの差は、ほとんどがメモリの差です。
Hooks: pre/post action automation →
確認ポイント: 1 日使ったあと、~/.openclaw/workspace/memory/ に daily log があることを確認し、~/.openclaw/workspace/MEMORY.md または SOUL.md を見て、長期的な振る舞いがまだ望む方向に保たれているか確認してください。
ちょうどよいバランス: 自発的だがうるさくない
役に立つことと、うるさいことの間には細い線があります。
重要でないものはまとめる。 重要メールは即通知。普通のメールは朝の briefing にまとめる。天気がいいだけなら、わざわざ送る必要はありません。
quiet hours を尊重する。 SOUL.md に「緊急時以外は 11pm–8am にメッセージしない」と書く。週末は頻度を下げる。
目安: 1 日 3-5 件の proactive message なら、多くの人にとって快適です。それ以上になると、価値が薄れてノイズになります。
すべての自発的な振る舞いは HEARTBEAT.md と Cron で設定され、いつでも調整できます。頻度が高すぎるなら interval を伸ばし、役に立たない確認は削除してください。
確認ポイント: 1 日で価値の低い通知が何件も来たなら、設定を一晩放置する前に heartbeat interval を長くするか、騒がしいルールを削除してください。
よくある問題
- Heartbeat fires but no message received: 通知 channel がまだ接続されているかを確認し、必ずメッセージが出る単純なルールを
HEARTBEAT.mdに書いて再テストしてください。 - Cron runs at the wrong time: server の time zone を確認し、cron expression がノート PC の local clock ではなく、その time zone 基準になっているか見直してください。
- Too many notifications in the first day: 多くの場合、最初のルールが広すぎます。ルールを絞り、優先度の低い更新は morning briefing にまとめるか、heartbeat を 15 分から 30 分または 60 分に伸ばしてください。
実際に動くとこう見える
設定済みの Day 6 は、あなたが何もしなくても次のように動きます。
- 8:00am — Telegram に morning briefing が届く。必要な情報が 1 通にまとまっている。
- 10:30am — Heartbeat check では特に何も見つからず、静かに終了する。
- 11:50am — "Meeting in 1 hour: Product Discussion. Found 3 related email threads — want me to prep a brief?"
- 3:00pm — Heartbeat がサイトのトラフィック 30% 減少を検知し、アラートが届く。
- 9:00pm — Daily log が書かれ、
~/.openclaw/workspace/MEMORY.mdが更新される。今日学んだことが明日のために保存される。
アプリを開く必要も、質問する必要もありません。ただ動きます。
それがポイントです。