OpenClaw トラブルシューティングログ
事象1: Botオフライン(初回デプロイ後)
- 発生日: 2026-03-01
- 事象: AntiCrow BotがDiscordでオフラインのまま
- 原因: OpenClawの遅延起動方式 — Gateway は認証済みHTTPリクエストでのみ起動。CF AccessがWorkerへの全リクエストをブロックするため、Admin UIにブラウザでアクセスしないとコンテナが起動しない
- 解決: Admin UIにブラウザでアクセスしてコンテナ起動をトリガー
事象2: “No API key found for provider anthropic”
- 発生日: 2026-03-01
- 事象: AI応答が返らない
- 原因: 初回デプロイ時にGEMINI_API_KEYのみ設定、ANTHROPIC_API_KEYが未設定
- 解決: Claude APIキー取得後、
wrangler secret put ANTHROPIC_API_KEYで設定
事象3: コンテナクラッシュ(exit code 1)
- 発生日: 2026-03-02
- 事象: Admin UIで「ProcessExitedBeforeReadyError: Process exited with code 1 before becoming ready. Waiting for: port 18789 (TCP)」
- 原因(多層的):
- 直接原因:
start-openclaw.shのDiscord config patching部分に追加したallowedChannelsプロパティがOpenClawの設定バリデーションに通らず、ノードスクリプトがエラー終了 →set -eによりスクリプト全体が exit code 1 で終了 - 持続原因: ローカルファイルから
allowedChannelsを削除して再デプロイしても、Cloudflare が Docker Image をキャッシュしていた。イメージハッシュ4a100fdbには壊れたstart-openclaw.shがベイクされたまま。Dockerfile のキャッシュバストコメントを変更しても、Cloudflare のビルダーが同一レイヤーを再利用 - 解決: Dockerfile に
RUN echo "force-rebuild-20260302-0045"を追加して、Docker レイヤーキャッシュを完全に無効化。新しいイメージハッシュ2bceda5dが生成された
- 直接原因:
教訓
- Docker Image のキャッシュに注意: Cloudflare Container ではコメント変更だけではキャッシュが無効化されない場合がある
- start-openclaw.sh の
set -eに注意: Node.js パッチ内のエラーがスクリプト全体を停止させる - OpenClaw の config プロパティは公式ドキュメントを確認してから追加すること
- 再デプロイ後は必ず Admin UI にアクセスして Gateway 起動をトリガーすること
事象4: Antipigeon が openclaw チャンネルのメッセージをインターセプト
- 発生日: 2026-03-02
- 事象:
#openclaw実行・指示チャンネルでBotにメッセージを送ると、AntiCrow ではなく Antipigeon(IDE連携Bot)が反応 - 原因: VPS版
listener.pyのチャンネル判定で実行・指示がキーワードマッチに使われており、openclaw実行・指示チャンネルも対象に含まれていた - 解決:
listener.pyにis_openclaw_channel = "openclaw" in channel_nameを追加し、openclaw チャンネルを除外。VPS に SCP でアップロード後、systemctl restart discord-botで反映
変更ファイル一覧
| ファイル | 変更内容 |
|---|---|
moltworker/Dockerfile | キャッシュバスト + RUN echo 追加 |
moltworker/src/gateway/env.ts | GEMINI_API_KEY, DISCORD_ALLOWED_CHANNELS パススルー追加 |
moltworker/src/types.ts | 同上のインターフェース追加 |
new_bot/cogs/listener.py | openclaw チャンネル除外ロジック追加 |
new_bot/vps_deploy/cogs/listener.py | 同上(VPS版) |