想定読者:Docker またはローカルで OpenClaw を入れたあと、初回ペアリング・onboarding・コンテナ内実行で openclaw CLI が WebSocket 1006/1008 を繰り返したり、token mismatch が出て設定ファイルを直しても直らない場合です。結論:環境変数の上書き・CLI が実際に接続する ws URL・ペアリング状態機械を一枚の対照表に揃え、そのうえで openclaw doctor と Docker ネットワーク稿をつなぎます。構成:六つの誤読、症状マトリクス、指紋コマンド、六段 Runbook、三 KPI、ホスティングの収束です。
gateway.auth.token を変えても mismatch が残るのか:六つの典型誤読2025–2026 のコミュニティ切り分けでは、OpenClaw Gateway のペアリングと認証が「ネットワーク不通」と混同されがちです。ログに切断コードとモデルエラーが同居すると、上流 LLM 障害と決めつけてしまいます。次の六つは当番で寄り道しやすいパターンなので、インストール後の doctor と Gateway ヘルスと並べて Wiki の表紙に貼ってください。
OPENCLAW_GATEWAY_TOKEN が設定ファイルを黙って上書きする:コンテナや launchd ユニットから注入された環境変数の方が優先され、ディスク上の gateway.auth.token は変えたのにプロセスは古い値を読み、「再起動しても mismatch」のように見えます。127.0.0.1 を向く:Compose で CLI の Gateway URL を openclaw-gateway サービス名に向けていないと、ハンドシェイク早期に失敗し、アプリ層のエラーなしに 1006/1008 だけが残り、Docker ネットワーク切り分けチェックリストと症状が重なります。.openclaw 相当があり、CLI が読むパスとエディタで開いているファイルが一致しません。公式インストールスクリプトと npm グローバル経路との関係:インストール稿は「バイナリと Node が PATH に乗る」ことを保証し、本稿は「CLI と Gateway が同一 token・同一 ws エンドポイントで話す」ことを保証します。同一の初日 Runbook に順番付きで載せます。
このマトリクスは初動の一次切り分け用です。行に当てはまったら、そのチェックを「再現可能なコマンド出力」まで落としてから次へ進み、token・Compose・リバプロを同時にいじらないでください。
| 表面症状 | 優先して疑うスタック | すぐやる確認 | 次に読む稿 |
|---|---|---|---|
ログに token mismatch、ファイル修正が効かない | 環境変数上書き/複数設定 | プロセス環境の OPENCLAW_GATEWAY_* を出す;実際に読み込まれたパスと突き合わせる | 本文 §3 の指紋スクリプト;インストール後 doctor 稿 |
| コンテナ内だけ失敗しホストは成功 | ループバック/サービス名/DNS | コンテナ内で Gateway ポートを curl または nc;ws URL のホストを確認 | Docker ネットワーク切り分けチェックリスト |
| 1008 と 401/403 相当、または明示的な認証失敗 | 認証設定/リバプロによるヘッダ欠落 | loopback 直結で再現;リバプロ前後で応答ヘッダを比較 | Nginx/Caddy リバースプロキシと WebSocket 稿 |
| 1006 が多く認証エラーがはっきりしない | アイドル切断、プローブによる切断、バージョン不一致 | CLI と Gateway の版を揃える;ゲートウェイ側がセッションを積極的に切っていないかログを見る | Gateway 無応答と doctor 稿 |
| onboarding の UI/CLI が止まったまま | 状態機械未完/ポート競合 | Listen ポートの衝突を確認;再ペアリング前に一時状態を公式手順に従って掃除 | 公式 Troubleshooting;本文 Runbook |
| 再インストール後「一度だけ繋がるがすぐ切れる」 | 古い token の注入層が残存 | systemd drop-in、シェルプロファイル、CI 変数を確認 | インストール稿の pin とプロキシ・フォールバック節 |
出力はチケットに貼ってください。ルートパスは自環境に置き換えます。Docker ボリュームと権限と併せてレビューするときは、マウントが新しいボリュームを古い設定ディレクトリで覆い隠していないかも確認してください。
# A) 現在のシェルから見える環境変数(大文字小文字とプレフィックスに注意) env | sort | grep -i OPENCLAW || true # B) 例:systemd で gateway を管理している場合、drop-in が token を注入していないか # systemctl show openclaw-gateway --property=Environment 2>/dev/null || true # C) CLI の版と doctor(まず浅く—本番で盲信 --fix は避ける) openclaw --version || true openclaw doctor 2>/dev/null | sed -n '1,40p' || true # D) CLI 側の gateway URL を表示(サブコマンド名はインストール版に合わせる) # openclaw config get gateway.remoteUrl # 例・プレースホルダ # E) Docker:CLI を動かすコンテナ内で、ws 先が誤った 127.0.0.1:18789 になっていないか # docker compose exec cli sh -lc 'env | grep -i OPENCLAW; getent hosts openclaw-gateway || true'
ヒント:コミュニティ issue では、環境変数の token とファイルの不一致による長時間の onboarding 停滞がよく見られます。Compose を議論する前に、まず A/B の出力を揃えてください。
OPENCLAW_GATEWAY_TOKEN などの注入を一つずつ外し、プロセス再起動後に環境がきれいであることを確認してから、設定ファイルに単一の正とします。doctor --deep があれば変更窓の中で使い、出力を保存します。エンジニアリング上の位置づけ(ベンチではなくコミュニティ/運用の経験則)です。公開 issue ではtoken 二重化とコンテナ内ループバック誤指定が「初回デプロイ失敗」系で上位に残ります。変更テンプレに環境変数監査を入れると平均の切り分けラウンドは下がりやすいです。さらに重要なのは、これらの失敗はCPU の GHz と相関が弱いことです。メモリを増やしてもハンドシェイク失敗だけが直るとは限りません。
Gateway を 7×24 で動かし、個人ノートのスリープや省電力と争わないなら、「安定した専有実行面」と「ペアリング/アップグレード窓」を同じ SRE 文書に書きます。リモート Mac にエージェント用 Gateway を常駐させる企業運用とも整合します。
個人端末ではスリープ、VPN 切替、企業証明書更新の影響を受けやすく、ペアリング状態機械の監査と再生が難しくなります。token ローテが複数人の CI にまたがる場面では、固定ホスト名と安定したループバック境界も欠けがちで、ログが散らばります。
Gateway を、再起動やディスク・ログの挙動が読みやすく、チーム Runner と同一ネットワークに置ける専用リモート Macに載せると、複数の個人端末を渡り歩くより onboarding 問題が収束しやすいです。Apple Silicon を常時オンで、CI の秘密モデルと揃えて納品したいチームは、MACCOME の Mac mini M4 / M4 Pro のマルチリージョンと柔らかいレンタル期間で、「ペアリング切り分け」と「安定実行面」を同じ請求と変更リズムに載せられます。まず公開の料金説明を読み、運用は リモート Mac 常駐運用チェックリストに揃えてください。
パイロット案:主 CI と同じリージョンのリモート 1 台だけ選び、Gateway と最小 smoke ジョブだけ載せ、隔週レビューで本稿の六段 Runbook を回してから、対話開発まで同一トポロジに寄せるか判断します。
よくある質問
先に doctor を回すべきですか、それとも token を変えるべきですか。
まず本文の表 1 で「ペアリング/token」に振り分けます。ネットワーク層まで確定しているなら、doctor のネットワーク項目を並行して構いません。公開の料金とリージョンは レンタル料金の案内をご覧ください。
1006 は必ず 1008 より軽いのでしょうか。
必ずしもそうではありません。隣接ログ行と再現性を見てください。切断コードはラベルであり結論ではないので、認証切り分けを飛ばさないでください。
本番コンテナに長期で token を export してもよいですか。
おすすめしません。オーケストレータから短期クレデンシャルを注入するか、シークレット用サイドカーを使い、「正」を一か所に収束させる方が安全です。さもないとローテのたびに二重化しやすくなります。