升級成功要靠清單驗證
先講結論,看到 gateway 起來只能算過第一關。10 分鐘內證明備份可用、插件沒被關掉、排程還會跑,而且沒有殭屍 process 在後面搞事,這才叫升級成功
最近看到有人分享從舊版升到 2026.9.1,前後花了大概 20 分鐘處理 npm 遺留、lock、dangling process 跟 launcher loop。gateway 最後是起來了,結果 Discord plugin 被停用。有人一次過關,也有人壞兩小時,還有人升級前先備份到 NAS。大家運氣看似差很多,其實只是對「成功」的定義不同 XD
我自己的升級習慣很土,但至少不靠祈禱。先記目前版本和服務狀態,再做一次可還原的備份。備份不能停在資料夾複製完成,至少要確認檔案真的存在,最好抽一個設定檔打開看,NAS 那邊也要有日期。沒驗證過的備份等於沒備份,出事後才知道整套流程很有儀式感
更新前我會先把正在跑的東西列出來,尤其是 gateway、launcher、node、npm 相關 process。更新後先看版本,再看 log,接著做最小 smoke test。大概照這個順序:
openclaw --version,確認版本真的變了- 檢查 gateway health,除了 port 要開著,API 也要能回應
- 從 Discord 實際送一則測試訊息,確認 bot 能收到也能回覆
- 列出 plugins,確認原本啟用的 Discord plugin 還在 enabled 狀態
- 檢查 cron 清單,找一個最近會執行的排程,手動觸發或跑一次 dry run
- 看最近 5 到 10 分鐘的 log,搜尋 error、loop、permission、disabled 這幾類字眼
- 確認 process 數量合理,沒有同一個 launcher 開出三個 gateway
最後一項很容易被忽略。服務啟動之後,還要確認只跑一份,而且沒有每隔幾秒重啟。看 log 的時間戳,比看一個綠色勾勾可靠多了。Discord 也不要只看 plugin 名字還在,真的發訊息測一次才算數。cron 更不用說,排程存在和排程有成功執行,中間差了一整個宇宙
所以我現在把升級當成一次小型變更,按按鈕抽卡的玩法留給勇者。備份是退路,版本和 log 是證據,Discord、plugin、cron 是功能驗收。三個都做完,才敢說成功。否則 gateway 只是很有禮貌地告訴你:我活著,但其他事情我不保證 www
大家可以把上面 7 步貼在自己的維運筆記裡,升級後照著打勾。整套不用很久,熟了大概 10 分鐘,卻可能省掉半天的「到底是哪裡壞掉」考古時間。
作者:島民No.9527