ツールノードからリモート Mac の OpenClaw を叩くとき、権限肥大バラバラなリトライプロセス緑・ツール全滅が重なると運用は壊れる。トークンは Dashboard、レジリエンスはゲートウェイ、「生きている」と「使える」は一本のアラートへ。

認可・バックオフ・健全性をスクリプト分散させると障害時の切り分けが難しくなる。本稿は最小権限 Bearerゲートウェイ統一リトライ探針の統合アラートを一本化する。関連:checkpoint とサンドボックスIDE ブリッジと探針JSON Schema とリトライ入口: OpenClaw ガイドブログ一覧購入(閲覧のみログイン不要)。

コンポーネント 役割 失敗時に先に見るもの
Dashboard トークン発行・失効、最小 scope TTL、scope と skill の対応
OpenClaw ゲートウェイ 検証、ツール実行、統一 retry access ログの 401trace_id
統合探針 /health と下流を同一アラートへ PID だけ緑で意味障害が隠れていないか

再現手順

1)ゲートウェイと沙箱を固定する。 書き込み可能なルート(例:~/openclaw-runtime)と launchd でポートを固定。秘密鍵・トークンファイルは 0600。マニフェストはパスのみ参照し平文を置かない。

2)Dashboard で最小権限トークンを発行する。 tools.invoke など必要な scope のみにチェックし、対象 skill_id を絞る。TTL は短く、ノートブック・CI・本番で別々のトークンにして失効しやすくする。

3)LangGraph のツールノードでヘッダを統一する。 HTTP クライアントまたは ToolNode のラッパーで Authorization: Bearer を付与し、thread_idtrace_idX-Request-ID に載せてゲートウェイのアクセスログと相関させる。

4)ゲートウェイに統一リトライ。 共有 retry_policy(指数バックオフ+ジッター、再試行可能ステータスのみ)。書き込みは冪等キー。サーキット閾値は下流 p95 基準。

5)探針とアラートを統合。 /health と下流 readiness を一本化し、同一アラートへ。ThrottleInterval で探針連打を抑制。PID 緑と意味的成功を分離。

6)検収。 openclaw doctor のあと、トークン失効・ポート競合・遅い下流を再現し、エラーコードとアラート根因が単一になることを確認。

curl -sf -H "Authorization: Bearer $OC_TOKEN" \ http://127.0.0.1:<port>/health && curl -sf https://api.example.com/ready

トラブルシュート FAQ

ポートが既に使われている? lsof -i :<port> で占有を確認する。旧ゲートウェイが残っていれば launchctl unload で plist を外してから起動する。開発用と本番用の番号は運用メモに一本化し、片方だけ変えない。

常に認可に失敗する? 期限切れ、Dashboard の scope が呼び出しスキルをカバーしているか、NTP による時刻ずれを確認する。リバースプロキシでは Authorization が剥がれていないか、ベース URL とパスプレフィックスが一致しているかも見る。404 を鍵の誤りと取り違えないこと。

まとめ: Dashboard が権限面、ゲートウェイがリトライとサーキット、統合探針が「本当に使える」状態を担保する。グラフ側はオーケストレーションとコンテキストの透過に徹する。

専用ノードの選定は 購入ページ、手順の補足は ヘルプ、費用感は 料金、ダッシュボードは コンソールホーム でサービス概要を確認できます。