AI 自動化 2026年4月23日

OpenClaw モデル許可リスト拒否と本番修正(MacLogin クラウド Mac 2026-04-23):HK・JP・KR・SG・US ゲートウェイで Model not allowed のサイレント退行を止める

MacLogin AI自動化チーム 2026年4月23日 約 17 分で読了

OpenClaw のログが詳細なスタックから一気に短い Model not allowed だけになると、多くのチームはプロバイダー障害と決めつけます。 レンタルした Apple Silicon ゲートウェイでは、2026 年 4 月時点でより多い根本原因は 許可リストのドリフト です。agents.defaults.models が、マイナーアップグレード後にルーターや cron が要求するカタログ ID と交差しなくなります。 本稿はポリシー対カタログのマトリクス、揃えておくべき JSON5 キー、明示的ロールバック付きの 7 段階ロールアウト、偽陽性を拾う curl プローブ、MacLogin リージョン向け FAQ をまとめます。

出発点は doctor 診断インストール スクリプトと npm グローバル の比較、本番カットオーバー健全性チェック の規律です。レート制限は プロバイダー バックオフ と併用。ハブ:OpenClaw トピック索引。運用:ヘルプ料金VNC

MacLogin の多リージョンでは、許可リスト変更は東京 staging で検証し、香港の汎用自動化ホスト、シンガポールとソウルの読み取り中心エージェント、最後に米国本番へと進めます。各段で拒否カウンタと p95 尾遅延を残さないと「staging は成功、本番だけサイレント拒否」が起きます。変更票には doctor JSON の diff とゲートウェイの git describe を必須にし、JSON5 テキストだけで semver が見えないレビューを防ぎます。

規制顧客には、マスクした curl と健全性ボディを少なくとも 1 つの cron 周期保管し、cron 子と対話シェルが同じモデル ID であることを示します。launchd の環境注入とディスクが食い違う場合は、plist の OPENCLAW_MODEL を除く恒久修正をチケットに明記し、再起動だけで隠さないでください。

「設定を変えていない週」の後に Model not allowed が出る理由

上流 OpenClaw はルーティング別名の改名、デフォルト拒否リストの強化、プレビューと安定 SKU の分割を行うことがあります。ゲートウェイ JSON5 は短いレガシー ID のままで、ランタイムはベンダー修飾文字列を期待します。YAML でモデルを固定する cron スキルは対話オンボーディングを迂回するため不一致が目立ちにくくなります。

  • 環境注入: launchd plist が OPENCLAW_MODEL をエクスポートすると、ある子プロセスだけ JSON5 を上書きし、cron 子が動くまで doctor では隠れます。
  • 部分マージ: Git 昇格で tools だけが取り込まれ agents.defaults が抜けると、本番が staging より厳しくなります。
  • 地域カタログ: US と JP エンドポイントでモデル一覧が数分差で出ると、同じ文字列でも可用性フラグが違い JP だけ拒否されます。
数値トリップワイヤ:成功遅延が平坦なのに拒否が時間あたり 8 を超えたら、多くは許可リストで容量ではありません。

ポリシー対カタログ ドリフト マトリクス

シグナルポリシー側カタログ側検証
プロバイダー 401可能性低いキー ローテーションcurl プロバイダー /models
即時 200 かつ空の補完未知 ID へのマッピングモデル退役ゲートウェイ ログで拒否 ID を grep
cron のみ断続拒否cron 環境に新 ID なし同上launchd ジョブ内 printenv
npm アップグレード後のみ拒否schema デフォルト強化ピア依存がルーター変更openclaw doctor --json diff

JSON5 の形とチームが忘れるキー

agents.defaults.models は文字列の明示配列に保ち、パーサーを壊す末尾カンマや cherry-pick で蘇るコメント行を避けます。プロバイダー ID は逐語一致。-latest と固定ハッシュの両方がある場合、本番は固定ハッシュ、staging は soak 用に1 つの別名だけ残します。

各エントリに JSON5 コメントで担当チームと四半期レビュー日を書きます。説明のないワイルドカードは監査で不合格になります。編集後は openclaw doctor --fix で不正キーを正規化し、--fix なしで安定を再確認します。

警告:二重承認なしの許可リスト拡大は多くの SOC2 変更管理に違反します。マージ前にチケット ID をコメントへ。

7 段階ロールアウト(JP カナリア → US 本番)

  1. 状態ディレクトリ バックアップ に従い ~/.openclaw をスナップショット。
  2. JP staging リースに許可リスト diff を適用。合成負荷は 5 RPS 未満。
  3. doctor を 2 回。警告がベースラインより 1 多いなら失敗。
  4. 香港の汎用自動化ホストへ昇格し 24 時間拒否を監視。
  5. SG と KR の読み取り中心エージェントへ。尾遅延 p95 を見る。
  6. 取引分析に触れるモデルは財務承認後のみ米国本番へ。
  7. いずれかのリージョンで拒否が時間 15 を超えたら tarball を戻し launchd を再起動してロールバック。

再起動後の curl プローブ(偽の緑を避ける)

ローカル健全性エンドポイントを 200 ms 間隔で 5 回叩きます。1 回目は成功しても 2 回目で許可リストを再強制するプラグインが載ります。ビルド ハッシュ付きヘッダーを保存し、どのバイナリが答えたか特定します。TLS 終端がリバースプロキシなら 127.0.0.1:18789 でも curl し、ネットワーク方針と OpenClaw 方針を切り分けます。

プローブ合格条件失敗の意味
GET /health(ローカル)HTTP 200、本文 OK再起動後にゲートウェイがバインドされていない
補完サンプルアシスタント本文が空でないサイレント許可リスト拒否経路
cron ドライラン手動と同じモデル ID環境ドリフト

プロキシが X-OpenClaw-Build を落とす場合、インシデント チャンネルにゲートウェイの git describe を貼り、許可リスト schema 版の diff 対象を揃えます。この相関を飛ばすチームは、混雑した npm ミラーで数時間離れた 2 つの semver の JSON5 を無意識に比較し、平均 47 分余分に doctor を回します。

FAQ

一時的に allow-all にできますか? 使い捨てクローン内のみ。他テナントのスキルが同じホームレイアウトを継ぐ共有 MacLogin リースでは禁止。

大文字小文字は? はい。モデル ID は大文字小文字を区別する不透明文字列として扱います。

四半期カタログレビューの所有者は? プラットフォーム工学と AI ガバナンス承認。ヘルプ にリンクした runbook に名簿を書きます。

Mac mini M4 が許可リスト検証サイクルを短縮する理由

M4 クラスの Apple Silicon は doctor と npm link ゲートウェイ再起動を壁時計 90 秒以内に抑え、営業前に 5 メトロを回す反復に効きます。統合メモリで tokenizer キャッシュを温めたまま curl プローブを並行でき、手順省略の誘惑を減らします。HK・JP・KR・SG・US のフリートにより、JP 優先のモデル可用性を固定しても、すべての微調整で米国エンジニアを起こす必要はありません。

料金 からカナリアを追加するのは本番拒否リスクより安いです。厳しい許可リストのレプリカを 24/7 稼働させ、完全な cron 周期を生き延びた後だけ JSON5 を昇格させます。

専用 Apple Silicon で OpenClaw 許可リスト変更を実行

doctor でゲートした JSON5 を HK・JP・KR・SG・US の MacLogin ノードとペアにします。