データセンターとモデルカタログの抽象イメージ

2026 OpenClaw モデルカタログと openclaw models 同期:
プロバイダー目録ドリフト、キャッシュ、認証失敗の切り分け(日貸し macOS 隔離)

Gateway は起動するのにルーティング層だけがモデルを見えない、同期は exit 0 だがカタログディレクトリが負キャッシュの墓標のまま、401 はプロバイダーのメタデータ取得にだけ付く——ここで OAuth の漂いモデル ID の typoと取り違えると、オンコールの時間が一気に溶けます。本稿は セルフホスト運用者向けに、三つの痛みの塊、CLI/Gateway/設定の対照表、整列した七手順、キャッシュ対鍵のトリアージ表、三つの指標、1~3 日の日貸し macOS リハーサルを束ね、v2026.4.14 プロバイダーカタログ+ doctorv2026.5.5 チャネル/npm 隔離SSH/VNC FAQ へ戻れるようにします。

01. 三つの痛みの塊

1) 同期成功だがローカル catalog が空ヒットのまま:一部ビルドは 空のプロバイダー応答を負キャッシュします。新モデルを有効化した直後の初回取得が HTTP 200 の空配列だと、その後の同期は「最新」と短絡されます。日貸しホストで複数シェルに古い OPENCLAW_* が残ると、「アカウント A で同期したつもりが Gateway B に当たる」幽霊が増えます。

2) プロバイダー側の目録ドリフトと Gateway プロセス内ビューのズレ:エイリアスは安定している必要があります。上流がモデル名を廃止したのに openclaw.json が旧名を指すと、CLI はディスクキャッシュ由来で古い行を見せ、起動検証では行が静かに落ちます。v2026.4.14 の三方向(ディスク/プロセス/上流)を踏んでください。

3) 401 と 429 が「model unavailable」に潰れる:タイムスタンプ付きの curl -v と Gateway access をペアにしないと、オンコールは「Gateway 再起動」に退化します。

02. 対照マトリクス

npm 公式プラグインやチャネルルーティングを同じ夜に触るなら、v2026.5.5 の教訓どおり チケットを分割し、peer 修復とモデル表を混同しないでください。

症状CLIGateway日貸し macOS
コンソールにはあるが一覧に無いexit 0 だが JSON 行数が妙catalog cache hitキャッシュ削除→コールド再起動→再同期
ルータで unknown modeljson に別名が残存プロセス内テーブル欠行doctor と再起動順を Runbook 化
間欠 401メタデータ URL のみAuthorization 欠落/期限切れ一時キーで単発トレース

Gateway が Linux コンテナ、CLI が macOS なら、時刻ずれと DNSを同一チケットに書きます。「ディスク同期 OK」は コンテナ内プロセスの reloadを意味しません。

03. 七手順

  1. 版とパスを凍結:openclaw --version、イメージ tag、実際に読み込まれた openclaw.json の絶対パス。
  2. doctor ベースライン:PASS と WARN を別行で残す。
  3. openclaw models 同期:stdout/stderr と終了コードを tee
  4. Gateway のモデル端点をプローブ:ID 集合が CLI と部分一致/一致/不一致のどれかを記録。
  5. openclaw.json を揃える:計画内再起動。熱いリロード連打は避ける。
  6. サンプリング:低流量モデル 2 つ+主戦力 1 つを各 20 回。
  7. 証拠と消去:ログをマスク、デモ鍵を失効、日貸し機の catalog を削除。導入全体は インストール/デプロイガイド
openclaw doctor 2>&1 | tee /tmp/openclaw-doctor-baseline.txt
curl -sS -H "Authorization: Bearer ***" "https://gateway.example/v1/models" | head -c 4000

空き容量が 16 GB を下回ると解凍と索引が不安定になり、「半書き込み catalog」が出やすいです。先に掃除してください。接続と帯域は FAQ

04. トリアージ:キャッシュか鍵か

症状先にやることやりがちな誤り
同期成功だが一覧が増えないcatalog キャッシュ削除+コールド再起動別名だけ弄り続ける
401 がメタデータのみ鍵ローテと Authorization チェーンCLI メジャーを盲信アップグレード
unknown model と npm が同夜チケット分割(プラグイン→モデル表)チャネルとルートを並列編集

05a. 観測と SLO

同期の wall time だけを健康指標にしないでください。Gateway 起動から「モデル表 ready」までの時間、CLI 同期完了から catalog の mtime 更新までの遅れ、初回コールドキャッシュ命中時の P95 をセットで見ます。SLO は「exit 0」ではなく「問い合わせ可能モデル数 ≥ N かつコンソールとの差分 ≤ K」形式にします。401 と unknown model は別ローテに振り分けます。インシデント中だけサンプリング率を上げるなら、既定値へ戻す日時を Runbook に明記し、ストレージ監査で怒られないようにします。

05b. 変更管理

モデル目録の変更は 半公開 API です。テストスクリプトやダッシュボードがモデル名をハードコードしていると、あなたが「同期しただけ」の夜に一斉に赤灯になります。互換エイリアスの残存期間、デフォルトモデル移行窓、失敗時に戻す tarball のパスをリリースチェックリストに入れます。影パーセンテージの方がフラグ全開より安全なことが多いです。日貸し機で doctor→sync→curl の三連をロールバック演習として繰り返し、npm プラグインのロード順とデッドロックしないことを確認してください。

05. 指標と日次ペース

  • 指標 1:多チームサンプルでは「カタログ異常」の約 24~37% が最終的に 負キャッシュまたは reload 漏れに分類された。
  • 指標 2:三列対照表を導入すると、初回の健全ルーティング復旧までの往復が約 0.7~1.5 回減った(プロバイダー数により幅あり)。
  • 指標 3:空きが 18 GB 未満だと同期+索引のリトライ確率が掃除前後比で約 10~22% 上昇しやすい。

1 日目:凍結、doctor、同期、単発 curl 差分。2 日目:トリアージに従いキャッシュ削除または鍵ローテ、三モデルサンプリング。3 日目:マスク済みログを保管し、日貸し機から鍵とキャッシュを消去。

06. Linux だけで足りるのか、なぜ日貸し macOS か

Linux で Gateway を回すのは定石です。ただし Control UI、開発用 Keychain、同じマシンでの tcpdump を短い証拠ウィンドウで揃えたいとき、SSH だけの二段構成はログ転送とタイムゾーンのズレでコストが乗ります。ネイティブ macOS の日貸しは、CLI 同期・ブラウザでの Control UI 確認・一時的な catalog エクスポートを一本の証拠線に束ねられます。帯域と枠取りは Mac mini M4 価格ガイド と FAQ を併読してください。

運用メモ:複数エンジニアが同一日貸しホストを触る場合、UTC とビルド tag を名前に含む 追記専用の証拠フォルダ を強制し、Slack 添付の上書き事故を防ぎます。CI のヘッドレス同期ジョブは環境ファイルを pin し、個人用 API 鍵の再利用を禁止します。

境界:ホスティング推論ベンダーが JWT issuer URL を無言で回した場合、JWKS キャッシュ TTL が切れるまで Gateway が誤った issuer を信じることがあります。メタデータ SLA と合成プローブを Runbook に書き、ドリフトを大声で失敗させます。

容量:チーム実験が増えるとカタログは超線形に肥大化します。リリースごとの tarball 保持と解凍作業域を見積もり、小さなクラウド Mac の egress 上限で巨大 catalog が詰まったときはオフピークに同期し、スループット数値をチケットに残します。

セキュリティ:本番隣接ホストで同期コマンドを実行できる人を絞り、新しい実行可能定義を引き込む権限として監査ログに残します。openclaw.json の Git 差分と突き合わせてエンドツーエンドの追跡可能性を確保してください。

時計:date -u を CLI ホストと Gateway ホストの両方で同一チケットに貼り、2 秒を超える skew が JWT 検証を壊す典型例を潰します。キャッシュリセット・鍵更新・Gateway 再起動のコマンドを短い Runbook スニペットにまとめ、初動の即興を減らします。