メインコンテンツへスキップ
このページは、Gateway サービスの初日立ち上げと 2日目以降の運用に使用します。

詳細なトラブルシューティング

正確なコマンド手順とログシグネチャによる、症状優先の診断。

設定

タスク指向のセットアップガイドと完全な設定リファレンス。

シークレット管理

SecretRef コントラクト、ランタイムスナップショットの動作、移行/リロード操作。

シークレット計画コントラクト

正確な secrets apply のターゲット/パス規則と、参照のみの認証プロファイル動作。

5分でのローカル起動

1

Gateway を起動する

openclaw gateway --port 18789
# debug/trace mirrored to stdio
openclaw gateway --port 18789 --verbose
# force-kill listener on selected port, then start
openclaw gateway --force
2

サービスの健全性を確認する

openclaw gateway status
openclaw status
openclaw logs --follow
正常なベースライン: Runtime: runningConnectivity probe: ok、および期待どおりの Capability: ...。到達性だけでなく読み取りスコープの RPC 証明が必要な場合は、openclaw gateway status --require-rpc を使用します。
3

チャネルの準備状態を検証する

openclaw channels status --probe
到達可能な Gateway がある場合、これはアカウントごとのライブチャネルプローブと任意の監査を実行します。 Gateway に到達できない場合、CLI はライブプローブ出力ではなく、設定のみのチャネル概要にフォールバックします。
Gateway 設定のリロードは、アクティブな設定ファイルパス(プロファイル/状態のデフォルトから解決、または OPENCLAW_CONFIG_PATH が設定されている場合はそれ)を監視します。 デフォルトモードは gateway.reload.mode="hybrid" です。 最初の正常な読み込み後、実行中のプロセスはアクティブなメモリ内設定スナップショットを提供します。リロードが成功すると、そのスナップショットはアトミックに差し替えられます。

ランタイムモデル

  • ルーティング、コントロールプレーン、チャネル接続のための常時稼働プロセスが 1つ。
  • 次のための単一の多重化ポート:
    • WebSocket コントロール/RPC
    • HTTP API(/v1/models/v1/embeddings/v1/chat/completions/v1/responses/tools/invoke
    • 任意の /api/v1/admin/rpc などの Plugin HTTP ルート
    • Control UI とフック
  • デフォルトのバインドモード: loopback
  • 認証はデフォルトで必須です。共有シークレットのセットアップでは gateway.auth.token / gateway.auth.password(または OPENCLAW_GATEWAY_TOKEN / OPENCLAW_GATEWAY_PASSWORD)を使用し、非 local loopback の リバースプロキシセットアップでは gateway.auth.mode: "trusted-proxy" を使用できます。

OpenAI 互換エンドポイント

OpenClaw の最も効果の高い互換性サーフェスは現在、次のとおりです。
  • GET /v1/models
  • GET /v1/models/{id}
  • POST /v1/embeddings
  • POST /v1/chat/completions
  • POST /v1/responses
このセットが重要な理由:
  • ほとんどの Open WebUI、LobeChat、LibreChat 連携は最初に /v1/models をプローブします。
  • 多くの RAG とメモリパイプラインは /v1/embeddings を想定しています。
  • エージェントネイティブなクライアントでは、/v1/responses がますます好まれています。
計画メモ:
  • /v1/models はエージェント優先です。openclawopenclaw/defaultopenclaw/<agentId> を返します。
  • openclaw/default は、常に設定済みのデフォルトエージェントにマップされる安定したエイリアスです。
  • バックエンドプロバイダー/モデルをオーバーライドしたい場合は x-openclaw-model を使用します。それ以外の場合は、選択されたエージェントの通常のモデルと埋め込み設定が制御を維持します。
これらはすべてメインの Gateway ポートで実行され、Gateway HTTP API の残りと同じ信頼済みオペレーター認証境界を使用します。 管理用 HTTP RPC(POST /api/v1/admin/rpc)は、WebSocket RPC を使用できないホストツール向けの、別個のデフォルトオフ Plugin ルートです。管理用 HTTP RPC を参照してください。

ポートとバインドの優先順位

設定解決順序
Gateway ポート--portOPENCLAW_GATEWAY_PORTgateway.port18789
バインドモードCLI/オーバーライド → gateway.bindloopback
インストール済みの Gateway サービスは、解決された --port をスーパーバイザーメタデータに記録します。gateway.port を変更した後は、launchd/systemd/schtasks が新しいポートでプロセスを起動するように、openclaw doctor --fix または openclaw gateway install --force を実行します。 Gateway 起動時は、非 local loopback バインド用にローカルの Control UI オリジンをシードするとき、同じ有効ポートとバインドを使用します。たとえば、--bind lan --port 3000 は、ランタイム検証が実行される前に http://localhost:3000http://127.0.0.1:3000 をシードします。 HTTPS プロキシ URL などのリモートブラウザーオリジンは、 gateway.controlUi.allowedOrigins に明示的に追加してください。

ホットリロードモード

gateway.reload.mode動作
off設定をリロードしない
hotホットセーフな変更のみ適用
restartリロードが必要な変更で再起動
hybrid(デフォルト)安全な場合はホット適用し、必要な場合は再起動

オペレーターコマンドセット

openclaw gateway status
openclaw gateway status --deep   # adds a system-level service scan
openclaw gateway status --json
openclaw gateway install
openclaw gateway restart
openclaw gateway stop
openclaw secrets reload
openclaw logs --follow
openclaw doctor
gateway status --deep は追加のサービス検出(LaunchDaemons/systemd システム ユニット/schtasks)用であり、より深い RPC 健全性プローブではありません。

複数の Gateway(同一ホスト)

ほとんどのインストールでは、マシンごとに 1つの Gateway を実行すべきです。単一の Gateway で複数の エージェントとチャネルをホストできます。 意図的に分離したい場合、またはレスキューボットが必要な場合にのみ、複数の Gateway が必要です。 有用なチェック:
openclaw gateway status --deep
openclaw gateway probe
想定される内容:
  • gateway status --deep は、古い launchd/systemd/schtasks インストールが残っている場合に、 Other gateway-like services detected (best effort) を報告し、クリーンアップのヒントを出力することがあります。
  • gateway probe は、別々の Gateway が応答する場合、または OpenClaw が到達可能なターゲットが同じ Gateway であることを証明できない場合に、 multiple reachable gateway identities について警告することがあります。 同じ Gateway への SSH トンネル、プロキシ URL、または設定済みリモート URL は、 トランスポートポートが異なる場合でも、複数のトランスポートを持つ 1つの Gateway です。
  • それが意図した構成である場合は、Gateway ごとにポート、設定/状態、ワークスペースルートを分離します。
インスタンスごとのチェックリスト:
  • 一意の gateway.port
  • 一意の OPENCLAW_CONFIG_PATH
  • 一意の OPENCLAW_STATE_DIR
  • 一意の agents.defaults.workspace
例:
OPENCLAW_CONFIG_PATH=~/.openclaw/a.json OPENCLAW_STATE_DIR=~/.openclaw-a openclaw gateway --port 19001
OPENCLAW_CONFIG_PATH=~/.openclaw/b.json OPENCLAW_STATE_DIR=~/.openclaw-b openclaw gateway --port 19002
詳細なセットアップ: /gateway/multiple-gateways

リモートアクセス

推奨: Tailscale/VPN。 フォールバック: SSH トンネル。
ssh -N -L 18789:127.0.0.1:18789 user@host
その後、クライアントをローカルで ws://127.0.0.1:18789 に接続します。
SSH トンネルは Gateway 認証を迂回しません。共有シークレット認証では、トンネル越しであってもクライアントは token/password を送信する必要があります。アイデンティティを持つモードでは、 リクエストは引き続きその認証パスを満たす必要があります。
参照: リモート Gateway認証Tailscale

監視とサービスライフサイクル

本番に近い信頼性のために、監視付き実行を使用します。
openclaw gateway install
openclaw gateway status
openclaw gateway restart
openclaw gateway stop
再起動には openclaw gateway restart を使用します。再起動の代替として openclaw gateway stopopenclaw gateway start を連結しないでください。macOS では、gateway stop はデフォルトで launchctl bootout を使用します。これは無効化を永続化せずに現在の起動セッションから LaunchAgent を削除するため、予期しないクラッシュ後も KeepAlive の自動復旧が機能し、gateway start で正常に再有効化できます。再起動をまたいで自動再生成を永続的に抑制するには、--disable を渡します: openclaw gateway stop --disableLaunchAgent ラベルは ai.openclaw.gateway(デフォルト)または ai.openclaw.<profile>(名前付きプロファイル)です。openclaw doctor はサービス設定のずれを監査し、修復します。

開発プロファイルのクイックパス

openclaw --dev setup
openclaw --dev gateway --allow-unconfigured
openclaw --dev status
デフォルトには、分離された状態/設定とベース Gateway ポート 19001 が含まれます。

プロトコルのクイックリファレンス(オペレーター視点)

  • 最初のクライアントフレームは connect である必要があります。
  • Gateway は hello-ok スナップショット(presencehealthstateVersionuptimeMs、制限/ポリシー)を返します。
  • hello-ok.features.methods / events は保守的な検出リストであり、 呼び出し可能なすべてのヘルパールートを生成して列挙したものではありません。
  • リクエスト: req(method, params)res(ok/payload|error)
  • 一般的なイベントには、connect.challengeagentchatsession.messagesession.operationsession.toolsessions.changedpresencetickhealthheartbeat、ペアリング/承認ライフサイクルイベント、 shutdown が含まれます。
エージェント実行は 2段階です。
  1. 即時の受理 ack(status:"accepted"
  2. 最終完了レスポンス(status:"ok"|"error")。その間に agent イベントがストリーミングされます。
完全なプロトコルドキュメントを参照: Gateway プロトコル

運用チェック

Liveness

  • WS を開き、connect を送信します。
  • スナップショット付きの hello-ok レスポンスを期待します。

Readiness

openclaw gateway status
openclaw channels status --probe
openclaw health

ギャップ復旧

イベントは再生されません。シーケンスギャップがある場合は、続行する前に状態(healthsystem-presence)を更新します。

一般的な失敗シグネチャ

シグネチャ想定される問題
refusing to bind gateway ... without auth有効な Gateway 認証パスなしでの非ループバックバインド
another gateway instance is already listening / EADDRINUSEポート競合
Gateway start blocked: set gateway.mode=local設定がリモートモードになっている、または破損した設定からローカルモードスタンプが欠落している
unauthorized during connectクライアントと Gateway の認証不一致
完全な診断手順については、Gateway トラブルシューティングを使用してください。

安全性の保証

  • Gateway プロトコルクライアントは、Gateway が利用できない場合に即座に失敗します(暗黙の直接チャネルフォールバックはありません)。
  • 無効な、または接続ではない最初のフレームは拒否され、閉じられます。
  • 正常なシャットダウンでは、ソケットを閉じる前に shutdown イベントが発行されます。

関連:

関連