OpenClaw でよくある「見かけ上の正常」は、openclaw gateway status では RPC チェックが緑なのに、クライアントが gateway closed (1000) を出したり、アップグレード後にツールが突然使えなくなったりするパターンです。本稿は「症状 → 高確度の原因 → 検証コマンド → 対処」の順で整理し、トークン、scope、ワークスペースパス、モデルバックエンド(CLI-only によりツールが無効になるケースを含む)という三つの落とし穴をカバーし、6 段階の復旧 Runbook と systemd/Docker で見るべきログ行を示します。サイト内の 本番観測、セキュリティ強化、クロスプラットフォームインストール と役割分担し、本稿は接続とセッションの整合に焦点を当てます。まず経路を復旧し、監視と変更の定着は観測編に任せる、という読み方になります。
Gateway の制御面プローブは、多くの場合「プロセスがいるか・ポートが応答するか」までしか答えません。一方、gateway closed (1000) のようなクライアントエラーは、WebSocket/セッションがサーバ側で閉じられたか、認証とポリシーがずれたあとに起こりがちです。以下の 7 項目は現場での自己点検用です。該当が多いほど、UI の再読み込みだけに頼らず、第 3 節の順序付き再起動と設定検証へ進むべきです。
プローブの緑をエンドツーエンドの緑とみなす:status の RPC OK は狭いチェックです。デバイス系コマンドやツール実行チャネルは、scope 不足やセッション期限で失敗し得ます。
トークンの漂移:CLI の環境変数・設定ファイルと、Gateway プロセスが読み込んだトークンが同一でない。鍵ローテを片側だけ行うと、断続的成功と一括失敗が混在します。
ワークスペースパスの不一致:agents.defaults.workspace が古いディレクトリを指す、またはコンテナのマウントがずれると、ツール層が拒否したりすぐ切断したりします。
CLI-only のモデルバックエンド:一部の *-cli/... ルートは設計上ファイル系ツールを無効にします。「Gateway はオンラインだがツールが使えない」という見え方は closed(1000) と取り違えやすいです。
アップグレード後の二重プロセス:パッケージは更新されたが旧 Gateway がポートを握ったまま、または PID ファイルが残り、新プロセスが半起動でプローブが古いリスナーを踏んでいる。
セキュリティポリシーの強化直後:dmPolicy/networkPolicy 有効化後、握手は成功しても最初のペイロードがポリシで落ちる。セキュリティ強化記事の許可リストと照合します。
最小再現セットがない:チケットにエラーの半行しかなく、CLI 版・設定抜粋・直近変更がないと、二次対応は推測になり復旧が伸びます。
共通の根は、分散システムの多層の健全性を単一の真偽値に圧縮してしまうことです。次の表で「見えている症状」と「まず打つコマンド」を対応づけ、ログの海を泳がないようにします。
オンコール手順の冒頭に貼る想定で、見えている文字列を揃えてから最短の検証経路を選びます。サブコマンドはインストールした OpenClaw の版に依存するため、下記は意図を示す例示名です。
| 見えている症状 | 高確度の原因 | 先に走らせるチェック |
|---|---|---|
| RPC OK だがデバイス/チャネル操作で closed(1000) | セッション scope と実操作が一致しない、またはトークンが Gateway 実行環境と食い違う | openclaw status --all、トークン取得元の突合、セキュリティ設定の allowlist 確認 |
| アップグレード後「ツールがすべて灰色」 | モデルルーティングが CLI-only、または Gateway が再起動されず新設定未読込 | openclaw models list、CLI-only 以外へ切替え、openclaw gateway restart |
| たまに成功し一括では失敗 | 複数端末でトークンが違う、またはリバプロが古い接続を保持 | 単一シェルから env を統一、クライアント側セッションを掃除、idle timeout を確認 |
| パス系ツールが拒否される | workspace 設定と実リポジトリパスが一致しない | openclaw config get agents.defaults.workspace と実ディスクを diff |
| ポリシ変更直後に切断 | dmPolicy/networkPolicy 強化で最初のパケットが拒否 | セキュリティ強化の該当節を再読、既知セッションだけ一時的に緩めて検証 |
プローブの緑は制御面が生きていることの証明にすぎません。「安定して作業できる」ためには、トークン・ワークスペース・モデルバックエンド・ポリシの四本を揃える必要があります。
ログとロールバックの粒度は 本番観測記事を参照してください。本稿ではおおよそ 10 分で「再起動+検証」か「設定ロールバック」かを切り分けることを優先します。
順序は意図的に低コストの手を前に、設定ロールバックを後ろに置いています。いきなりファイアウォールや再インストールに進まないためです。本番ではチケットに「影響:当該 CLI のみ/複数ユーザセッション含む」と明記してください。
同時操作を止める:同僚に新規セッションとバッチを一時停止してもらい、Gateway 再起動時の再接続ストームを避けます。
状態スナップショット:openclaw --version、openclaw status --all(利用可能なら)を実行して出力保存。直近のトークンローテや openclaw.json 変更を記録します。
ワークスペースとモデルルート:実ディレクトリを指しているか確認。openclaw models list で CLI-only バックエンドの誤選択がないか見ます。
doctor/validate:公式 CLI の openclaw doctor、config:validate または同等コマンドで明らかな不整合を直します。
Gateway の順序付き再起動:openclaw gateway restart、または systemd/Docker ユニットの再起動で、旧プロセスが終了してから新プロセスが listen するようにします。
最小受け入れ試験:読み取り専用ツール 1 回と書き込みツール 1 回。通ってから他の利用を再開します。失敗なら第 4 節のシステムログへ。
openclaw --version openclaw status --all 2>&1 | tee /tmp/openclaw-status.txt openclaw config get agents.defaults.workspace openclaw models list openclaw doctor openclaw gateway restart # 続けて最小の読み取りツールと書き込みツールを各 1 回、セッションと scope を確認
補足:Gateway を専用のリモート Macで動かす場合、長い SSH セッションや GUI ダイアログがツールチェーンを中断し得ます。無人で安定させたいときは、エージェントノード記事のディレクトリとセッション分離チェックリストと併用してください。
第 3 節の再起動後も closed(1000) が出る場合は、まずプロセスが残っているかコンテナ内パスマッピングがずれたかを疑います。観測記事と同様、「誰が listen しているか」「どのユーザが起動したか」をはっきりさせてから設定議論に進みます。
systemd(Linux ベアメタル):systemctl status でメインプロセスの再起動ループを確認。journalctl -u <unit> -n 200 --no-pager で終了コードとポリシ関連キーワードを探します。Docker Compose:docker compose ps と docker compose logs --tail=200 gateway で再起動時刻を揃えます。Linux systemd + Tunnel 記事どおりに構築している場合は、Tunnel とローカルループバックのバインドが古いポートを指していないかも確認します。
注意:どのインタフェースが listen しているか分からないまま Gateway を一時的に公網へ晒して疎通試験をしないでください。セキュリティ強化記事の制約の内側で検証し、切り分けがインシデントに化さないようにします。
以下の項目があると二次切り分けが短くなります。外部共有前にマスキングしてください。
ノート PC だけを Gateway ホストにすると、スリープ・OS アップデート・複数ユーザのデスクトップセッションの影響を受けやすくなります。小型 Linux だけでは、必要な macOS ツールチェーンや GUI 境界のシナリオが欠けることもあります。OpenClaw を長期稼働で契約可能な実行層に載せるなら、専用リモート Macの方が端末の貸し借りを繰り返すより安定しがちです。自前ラックと比べると、NodeMini の Mac Mini クラウドレンタルの方がノード像を複製しやすく、「Gateway + ツールチェーン」を VPS のように引き継げる形に寄せられます。
モデルルーティングが CLI-only バックエンドになっていないか、Gateway が再起動して新設定を読み込んだか、ワークスペースパスとトークンローテが全体で揃っているかを確認します。
ブログの OpenClaw カテゴリからインストール、systemd、Docker、セキュリティ、観測の各記事へ進み、接続の基線は ヘルプセンター と照合してください。