從真實客服紀錄整理出來的解法,讓你五分鐘內自己搞定。
OpenClaw 在 Zeabur 上跑得好好的,直到它突然不動了。
這不是假設情境。過去三週,我們處理了超過 40 張 OpenClaw 相關的支援單。有些問題五分鐘就能自己解決,有些卻讓人卡了好幾天。
這篇文章把最常見的問題整理出來,附上從真實案例中提煉的解法。下次遇到的時候,不用等客服回覆。
| 症狀 | 去看 |
|---|---|
| 服務顯示 CRASHED,一直重啟 | 問題一 |
| 服務卡在 STARTING,從來沒變 RUNNING | 問題二 |
| Telegram bot 顯示 typing 但不回覆 | 問題三 |
| 想換模型但不知道怎麼設定 | 問題四 |
| 打開網址看到 502 錯誤 | 問題五 |
| 瀏覽器工具說沒啟動 | 問題六 |
| 安裝套件顯示權限錯誤 | 問題七 |
openclaw gateway restart 出錯 | 問題八 |
| 不知道設定檔在哪 | 問題九 |
| 手動改設定後崩潰 | 問題十 |
| 想升級 OpenClaw | 問題十一 |
| 升級後出問題 | 問題十一 |
| 想備份或還原資料 | 問題十二 |
| 升級 2026.2.17 後 Telegram 連不上 | 問題十三 |
Telegram 日誌出現 409: Conflict | 問題十四 |
| 升級 2026.2.23 後 Web UI 打不開 | 問題十五 |
日誌出現 Unrecognized key | 問題一 + 救援模式 |
No API key found for provider | 問題三 |
connection refused on port 18789 | 問題二 |
systemctl ENOENT | 問題八 |
不管你遇到什麼崩潰問題,這套流程幾乎都能救回來。先記住,後面會反覆用到。
Gateway 崩潰時,打開服務網址會自動顯示輔助頁面,裡面有錯誤紀錄和修復提示。
/home/node/.openclaw/openclaw.json 並修正問題服務恢復後,輔助頁面會自動消失。
舊版沒有輔助頁面,需要手動進入容器修復。
sleep 3600,然後重新啟動 — 這樣容器會持續運行,讓你有機會進去修東西/home/node/.openclaw/openclaw.json 並修正問題/opt/openclaw/startup.sh && /opt/openclaw/start_gateway.sh,然後重啟服務想啟用輔助頁面?從 OpenClaw 模板重新部署即可。
這是目前最常見的問題,佔了將近一半的支援單。
症狀: 服務狀態顯示 CRASHED 或 CrashLoopBackOff,日誌出現類似這樣的錯誤:
Invalid config at /home/node/.openclaw/openclaw.json:
- gateway: Unrecognized key: "cool"
◇ Unknown config keys ─╮
│ │
│ - gateway.cool │
│ │
├───────────────────────╯
◇ Doctor ────────────────────────────────────────────╮
│ │
│ Run "openclaw doctor --fix" to remove these keys. │
│ │
├─────────────────────────────────────────────────────╯
Config invalid
File: ~/.openclaw/openclaw.json
Problem:
- gateway: Unrecognized key: "cool"
Run: openclaw doctor --fix原因: 設定檔裡有 OpenClaw 不認識的 key。常見情境:手動編輯時加了不存在的欄位、叫 OpenClaw 改設定但它改壞了、升級版本後舊的設定欄位被棄用或改名。設定檔存在持久化儲存裡,讀到不認識的 key 就直接拒絕啟動。
解法:
情況 A:服務還能啟動(日誌有顯示 Doctor 提示)
進入指令頁籤執行 openclaw doctor --fix,它會自動移除不認識的 key。
情況 B:服務已經崩潰,連 shell 都進不去
這是最常見的情況。用上面的救援模式進入容器,打開 /home/node/.openclaw/openclaw.json,對照日誌裡列出的 key(例如上面的 gateway.cool)把它刪掉,然後重啟服務。
症狀: 服務一直顯示 STARTING,從來沒有變成 RUNNING。日誌可能顯示:
Startup probe failed: dial tcp 10.0.5.87:18789: connect: connection refused原因: OpenClaw 需要比較長的啟動時間(有時超過 60 秒),預設的啟動探針可能太急了。另一個常見原因是設定檔損壞(跟問題一一樣)。
解法:
症狀: Telegram 傳訊息給 bot,它顯示 typing 但永遠不回覆,或直接沒反應。
原因: 通常是 API Key 設定問題,或是模型連接失敗。我們看過最常見的錯誤是 Key 和 Provider 不匹配。
解法:
確認環境變數設定正確:
ZEABUR_AI_HUB_API_KEY — 使用 Zeabur AI Hub 時ANTHROPIC_API_KEY — 直接使用 Claude 時OPENAI_API_KEY — 使用 OpenAI 時(也用於 Memory Search 和 TTS)到 Web UI 檢查模型設定,確認選擇的模型跟你的 API Key 匹配
設定環境變數後記得重啟服務,不然不會生效
常見錯誤: 設定了 AI Hub Key 但 OpenClaw 預設嘗試連 Anthropic,導致 No API key found for provider "anthropic"。確保 Provider 設定跟你的 Key 一致。
症狀: 預設模型不夠好用,想換成 Claude Sonnet 或其他模型。
解法:
如果使用 Zeabur AI Hub,可以在一把 Key 下切換多種模型:
claude-sonnet-4-6 — 推薦,平衡品質與速度claude-haiku-4-5 — 更快、更便宜gpt-5-mini — OpenAI 選項想用其他 Provider? 到環境變數頁籤加入對應的 API Key,重啟服務後即可使用:
| Provider | 環境變數 |
|---|---|
| Zeabur AI Hub | ZEABUR_AI_HUB_API_KEY |
| OpenAI | OPENAI_API_KEY |
| Anthropic | ANTHROPIC_API_KEY |
| Google Gemini | GEMINI_API_KEY |
| xAI (Grok) | XAI_API_KEY |
| Mistral | MISTRAL_API_KEY |
| OpenRouter | OPENROUTER_API_KEY |
| Groq | GROQ_API_KEY |
| Moonshot (Kimi) | MOONSHOT_API_KEY |
| Z.AI (GLM) | ZAI_API_KEY |
更多 Provider 請參考 OpenClaw 官方文件。
症狀: 打開 OpenClaw 的網址,看到 502 錯誤。
原因: 常見原因有三個:
18789)openclaw.json 後,OpenClaw 回退到預設設定,bind 變成 loopback,外部無法連線解法:
18789(跟環境變數 OPENCLAW_GATEWAY_PORT 一致)OPENCLAW_GATEWAY_BIND 的值是 lan(Zeabur 模板預設會設好,但如果手動刪除或重置過可能會不見)openclaw.json 裡的 gateway.bind,確保是 lan 而不是 loopback症狀: 叫 OpenClaw 上網查資料或控制瀏覽器,它說瀏覽器沒啟動或無法使用,然後改用 Web Fetch。
原因: 在容器環境中,headless Chrome 需要額外的 sandbox 服務才能運作。單純部署 OpenClaw 不會自動帶瀏覽器。
解法:
部署 OpenClaw Sandbox Browser 模板,它會自動配好 headless Chrome。部署後需要在 OpenClaw 的 Config 裡設定 remote Profile 指向 sandbox。
對於單純讀取網頁內容(例如摘要文章),Web Fetch 通常就夠用了,不一定需要完整的瀏覽器控制。
症狀: 想讓 bot 安裝 pip、Homebrew 或其他工具,但顯示權限錯誤。
原因: Zeabur 的 Docker 容器以非 root 用戶(node)運行,無法直接安裝系統級套件。Homebrew 在容器環境中也不可用。
解法: 這是設計上的取捨——容器隔離保護了你的資料安全。替代方案:
症狀: 執行 openclaw gateway restart 出現:
Gateway service check failed: Error: systemctl --user unavailable: spawn systemctl ENOENT原因: 容器環境沒有 systemd。
解法: 在 Zeabur 上不需要用 openclaw gateway restart。直接到 Dashboard 重啟整個服務即可。
症狀: 想手動編輯設定,但不知道檔案在哪。
解法: 設定檔位於容器內的:
/home/node/.openclaw/openclaw.json你可以透過 Zeabur Dashboard 的檔案或指令頁籤進去查看和編輯。
但建議優先使用 Web UI 的 Config 頁面來修改設定,比較不容易打壞 JSON 格式。手動改壞 JSON 是造成問題一(崩潰)的常見原因之一。
方法一:Web UI(推薦)
使用 Web UI 的 Settings → Config 頁面修改設定。它會幫你做格式驗證,比較不容易打壞 JSON。
方法二:叫 OpenClaw 幫你改
直接在對話中告訴 OpenClaw 你想改什麼設定,它可以幫你修改 openclaw.json。但要注意兩件事:
claude-sonnet-4-6 或 gpt-5 以上的模型來操作設定方法三:手動編輯
/home/node/.openclaw/openclaw.json注意: 不管用哪種方式,都不要加 OpenClaw 不認識的 key,否則會觸發問題一的崩潰。
正確做法:
2026.2.19 改為 2026.2.23升級前建議: 先到 Web UI 的 Config 頁面把現有設定匯出備份,以防新版本棄用了某些設定欄位。
升級後注意: 新版本可能會變更或棄用某些設定欄位,導致啟動時出現 Unrecognized key 錯誤而崩潰。如果升級後服務起不來,參考問題一和救援模式的處理方式。
不要做的事:
ghcr.io/openclaw/openclaw 的東西openclaw update 或 npm i -g openclaw——這些是本地安裝的升級方式,在 Zeabur 上改 image tag 就好latest 標籤——服務重啟時會自動拉取最新版本,可能在你不知情的情況下升級並出現問題。建議固定版本號(如 2026.2.23),需要升級時再手動更改Zeabur 有內建的備份功能,可以定期自動備份,建議先設定好。以下是手動備份的方式。
手動備份:
到 Zeabur Dashboard 的指令頁籤執行:
backup備份檔會產生在 /home/node/(例如 backup-1430.tar.gz),到檔案頁籤找到檔案,點右邊的下載按鈕存到電腦。
舊版沒有 backup 指令的話:
cd /home/node && tar -czvf backup.tar.gz .openclaw還原:
/home/node/,點右上角上傳按鈕上傳備份檔restore backup-1430.tar.gz如果是從 Zeabur Backup Service 產生的備份檔,加 --strip 2:
restore backup-xxxxx.tar.gz --strip 2什麼時候該備份: 初始設定完成後、升級前、改大幅設定前。
症狀: 升級到 2026.2.17 或更新版本後,Telegram bot 無法連線或不回應。
原因: 2026.2.17 版修改了網路連線的預設行為,在某些容器環境下會導致 Telegram API 連線失敗。
解法:
到 Zeabur Dashboard 的環境變數頁籤,新增:
OPENCLAW_TELEGRAM_DISABLE_AUTO_SELECT_FAMILY=true重啟服務即可。
症狀: 日誌不斷出現以下錯誤,Telegram bot 完全沒反應:
[telegram] getUpdates conflict: Call to 'getUpdates' failed! (409: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running)原因: Telegram Bot API 有兩種接收訊息的方式:Polling(主動輪詢)和 Webhook(Telegram 推送)。兩者互斥,不能同時使用。
這個 409 錯誤代表這個 bot 之前被設定過 webhook,但現在 OpenClaw 嘗試用 polling 方式接收訊息,Telegram 拒絕了。常見原因:
解法:
到 Zeabur Dashboard 的指令頁籤,執行以下指令清除 webhook(把 <TOKEN> 換成你的 bot token):
curl https://api.telegram.org/bot<TOKEN>/deleteWebhook看到 {"ok":true,"result":true} 就代表清除成功。重啟服務後 bot 就能正常接收訊息了。
症狀: 升級到 2026.2.23 後,打開 Web UI 出現空白頁面或 CORS 錯誤,無法正常載入。
原因: 2026.2.23 開始強制檢查 Control UI 的 allowedOrigins。在 Zeabur 上,使用者的 domain 是動態產生的,Gateway 無法自動判斷合法的 origin,導致請求被拒絕。
解法:
到 Zeabur Dashboard 的檔案分頁,編輯 /home/node/.openclaw/openclaw.json,在 gateway.controlUi 區塊加入:
{
"gateway": {
"controlUi": {
"dangerouslyAllowHostHeaderOriginFallback": true
}
}
}重啟服務即可。
如果服務已經崩潰進不去,用救援模式編輯設定檔。
如果以上都試過了還是不行:
如果這篇文章的內容有錯誤或過時,也歡迎到 Zeabur Forum 回報。