你已經能用 OpenClaw 對話、跑工具,下一步往往是:能不能按固定間隔自動巡檢收件箱、拉取狀態、寫一條摘要到頻道? 在 2026 年的 OpenClaw 體系裏,這類「無人值守但可預期」的節奏常與 Heartbeat 與 HEARTBEAT.md 掛鈎。本文與站內《任務發出卻無回復排查》不重複:那篇講靜默失敗時怎麼按 doctor → 日誌排障;本篇講如何把 Heartbeat 當作可控的定時自動化——適用邊界、風險清單、最小模板、與 launchd 常駐的銜接、遠程 Mac 上睡眠/斷線/權限的注意點,以及在 VNC 裏核對 Gateway 控制臺與日誌的可勾選表。需要十條報錯速查請看《常見報錯》;需要反代暴露請看《Gateway 公網訪問》。
① 導語摘要:誰會需要 Heartbeat
適合讀者畫像:已跑通安裝與首次對話,希望把「每隔 N 分鐘看一眼隊列/日曆/監控摘要」這類低頻率、可冪等的工作從人肉裏挪走。不適合:把 Heartbeat 當無限制爬蟲、在未經審計的環境對生產庫直接寫操作、或在未做額度與模型路由的情況下用高價模型做高頻輪詢。遠程 Mac 場景下,你還要同時考慮會話是否常駐、節點是否會睡眠、網關是否只綁 localhost——這些在純 SSH 裏常被低估,在 VNC 裏反而能一次看清。
② 痛點拆解:邊界、成本與「以爲在跑」
- 邊界模糊:Heartbeat 觸發的是「周期性代理回合」,不是操作系統級 cron 的全部替代;重活仍應交給 CI 或批處理隊列。
- 模型與 thinking:與《無回復排查》一致——某些模型/思考鏈配置下,回合可能消耗預算卻不向頻道輸出可見文本,看起來像「沒跑」。自動化場景更要顯式約定輸出渠道與失敗告警。
- 環境漂移:交互式 shell 裏 export 的變量不會自動出現在 launchd 子進程;Heartbeat 與手動對話可能不是同一套 env。
- 遠程 Mac 睡眠與斷開:租賃節點若按策略休眠,網關進程與定時節奏會一起停擺;需要電源策略 + 守護進程拉起策略雙管齊下。
- 可觀測性缺口:沒有「最後成功心跳時間」心智模型時,團隊會把偶發靜默當成模型問題,而不是配置問題。
③ 決策矩陣:場景 × 推薦組合
| 場景 | 推薦底座 | Heartbeat 角色 | 主要風險 |
|---|---|---|---|
| 個人提醒 / 收件摘要 | Gateway + 單實例 | 低頻摘要寫入頻道 | 模型成本、頻道刷屏 |
| 小團隊值班巡檢 | launchd 常駐 + 日誌輪轉 | 定時健康檢查與匯總 | 權限彈窗阻塞(需 VNC) |
| 多項目同機 | 分目錄/分端口(見多項目隔離文) | 每實例獨立 HEARTBEAT | 串臺、密鑰混用 |
| 外網回調 | 反代 + TLS(見 Gateway 文) | 仍建議限制頻率 | 暴露面與濫用 |
矩陣是經驗型落地建議,具體字段名與默認值仍以你當前 OpenClaw 版本與 openclaw doctor 輸出為準;大版本升級後務必重讀發行說明並按《v2026.4.5 升級實戰》做 canonical 路徑核對。
④ 落地步驟:從最小 HEARTBEAT.md 到驗證(7 步)
下面是一段示意性最小結構(僞 YAML/Front matter 風格,僅表達層次;請按你版本文檔填充真實鍵名與注釋):
# HEARTBEAT.md(示例骨架 — 請按官方文檔替換爲有效字段)
# goal: 每 30 分鐘檢查一次隊列深度並發送到指定頻道(示意)
interval_minutes: 30
channel: <your-channel-id>
on_tick:
- summarize_inbox_depth
- if_depth_gt: 10
then: notify_ops
fail_open: false
凍結版本與配置根目錄
執行 openclaw --version 與 openclaw doctor,把 canonical 工作目錄寫入團隊 Wiki,避免「改錯一份 HEARTBEAT」。
從「只讀巡檢」開始寫第一條心跳
先不要自動寫生產;先拉狀態、計數、健康檢查結果,確認輸出格式穩定。
爲 Heartbeat 單獨指定模型/路由(若支持)
避免與交互會話搶同一高價模型;cheap 模型做巡檢、貴模型留給人工觸發。
顯式約定輸出與失敗可見性
失敗時至少寫一條「heartbeat_failed + 原因摘要」到同一頻道或日誌,避免靜默。
用 launchd 拉起 Gateway(見守護進程文)
確保登錄會話重啓後仍能 bootstrap;對比 tmux/前臺跑的差異,統一團隊標準。
在 VNC 會話中打開控制臺 URL 做對照
核對監聽地址、端口、本機瀏覽器能否訪問;與《無回復排查》中的「綁在 127.0.0.1」類誤判對衝。
建立日誌巡檢表
字段建議:時間、間隔、是否 outbound、錯誤碼、關聯 commit/配置版本;每周回顧一次。
⑤ 可引用信息與參數清單
- ✅ doctor 無阻塞項後再啓用 Heartbeat
- ✅ 頻道裏能看到最近一次 tick 的時間戳
- ✅ launchd 與手動重啓後各驗一次
- ✅ 多實例時分端口/分工作目錄已核對
⑥ 強相關 CTA 與站內入口
靜默與 thinking 組合詳見《任務發出卻無回復排查》;常駐與 plist 思路見《守護進程與 launchd》;反代見《Gateway 公網訪問》;通排錯見《常見報錯 10 解》。
⑦ VNC 可視化核對表與 FAQ
- 本機瀏覽器能否打開控制臺地址(與 SSH 端口轉發區分)。
- 菜單欄/系統設置裏是否有未點掉的隱私彈窗。
- 鑰匙串或證書授權是否在圖形會話裏完成。
- 節點電源與鎖屏策略是否會讓 GPU/網絡棧休眠過度。
- 與供應商文檔核對:是否允許長期守護與對外端口。
頁首 JSON-LD 含兩條 FAQ;更細日誌參數以你當前版本 CLI 為準。
結語:Heartbeat 是「節奏」,穩定 Mac 運行環境是「舞臺」
在 Windows 或普通 Linux VPS 上硬跑圖形化審批與 macOS 工具鏈,往往會卡在權限、渲染與鏈路完整性上;純 SSH 又很難覆蓋鑰匙串與瀏覽器控制臺驗證。把 OpenClaw 放在真實 macOS 桌面環境裏,再用 VNC 把「看得見的狀態」對齊,Heartbeat 這類定時自動化才不容易變成黑盒。若你不想爲幾周的心跳實驗購置整機,又希望獲得可預期補丁級、隨時可連的節點,租賃 VNCMac 的遠程 Mac,配合幫助頁連接說明與站內 launchd / 無回復 / Gateway 系列文章,通常是更省試錯成本的路徑。