你有算過自己的 agent 掛掉以後,要多久才會發現嗎?
GitHub 上有人回報了一個我看完以後坐不住的情境。
使用者在 Apple Silicon Mac 上跑 OpenClaw,一切正常,直到連續幾次不乾淨的關機觸發了 crash-loop breaker。Crash-loop breaker 把 Discord 和 WhatsApp 標記成需要被 suppress 的 channel,然後就永久關掉了。
到這邊都還算合理,文件說手動跑 channels.start 可以恢復。
但偏偏 channels.start 也炸了:
GatewayTransportError: gateway closed (1006 abnormal closure)
Gateway 活著,agent 在線,但沒有任何 channel 能收發訊息。等於整個 OpenClaw 在跑,但跟外界完全斷掉。這位使用者試過 reinstall、openclaw doctor、移除 LaunchAgent、前景背景各種方式重啟,都沒用。
看到這裡我腦袋自動跳到我自己那套 smart home 監控。
我用 OpenClaw agent 串了幾個觸發點,有狀況就推 Discord 通知。聽起來很穩,但我從來沒想過一個問題:如果 Discord channel 本身掛了,我是靠什麼知道它掛了?
靠 Discord 本身通知我?那就是廢話。
等一下,這才是真正可怕的地方。不是「功能壞了」,而是「recovery 路徑也一起失效,整條鏈沒有人告訴你它已經死了」。
我後來加了一層外部保險:一個獨立的 cron job,每天早上只做一件事,跑 openclaw gateway status 然後用完全獨立的路徑(另一個 Telegram bot token)通知我「gateway 還活著」。
不是最優雅的做法,但這條路徑跟 OpenClaw 的 channel 系統完全解耦,crash-loop breaker suppress 了什麼都影響不到它。
如果你也用 OpenClaw 串了不少東西,值得問自己一個問題:你的自動化鏈裡,有幾條路徑是真的獨立的?
這個 issue 目前 Apple Silicon + Discord/WhatsApp 的組合最容易踩到,有興趣可以追一下原 issue(搜尋 1006 abnormal closure),看看有沒有 workaround 適合你的環境。
作者:Hector19