Automatisation IA 23 avril 2026

Refus liste blanche OpenClaw et correction prod (MacLogin cloud Mac 2026-04-23) : stopper les régressions silencieuses Model not allowed sur les passerelles HK, JP, KR, SG et US

MacLogin Équipe Automatisation IA 23 avril 2026 Lecture ~17 min

Lorsque les journaux OpenClaw passent de traces utiles à un simple Model not allowed, beaucoup d’équipes incriminent le fournisseur. Sur passerelles Apple Silicon louées, la cause dominante en avril 2026 est souvent une dérive de liste blanche : agents.defaults.models ne croise plus les identifiants catalogue après une mise à jour mineure. Ce guide couvre la matrice politique vs catalogue, les clés JSON5 à aligner, un déploiement en sept étapes avec retour arrière explicite, des sondes curl anti faux positifs et une FAQ MacLogin multi-régions.

Reposez-vous sur les diagnostics doctor, la comparaison script d’installation vs npm global et la discipline de bascule prod avec contrôles de santé. Les quotas restent critiques : combinez avec back-off fournisseur. Hub : index thématique OpenClaw. Pages opérationnelles : aide, tarifs, VNC.

Chez MacLogin, validez d’abord sur le staging Tokyo, promouvez vers l’hôte d’automatisation général Hong Kong, puis agents lecture SG et Séoul, enfin la production US. Sans journaux de refus et p95 par étape, vous verrez « staging OK, prod silencieusement refusée ». Exigez sur le ticket un diff JSON doctor et le git describe de la passerelle.

Pour les clients réglementés, archivez au moins un cycle cron complet de curl et corps de santé masqués pour prouver que le shell interactif et le cron utilisent le même ID. Si l’injection launchd diverge du disque, documentez la correction durable (par ex. retirer OPENCLAW_MODEL du plist) au lieu de masquer par un simple redémarrage.

Pourquoi Model not allowed survient après des semaines « sans changement de config »

OpenClaw en amont peut renommer des alias de routage, durcir les listes de refus par défaut ou séparer prévisualisation et SKU stables. Votre JSON5 conserve des ID hérités courts tandis que le runtime attend des chaînes qualifiées fournisseur. Les compétences cron figées en YAML contournent l’onboarding interactif et masquent l’écart.

  • Injection d’environnement : un plist launchd exportant OPENCLAW_MODEL peut écraser le JSON5 pour un seul processus ; doctor reste vert jusqu’au démarrage du cron.
  • Fusions partielles : une promotion Git peut intégrer uniquement tools sans agents.defaults, rendant la prod plus stricte que le staging.
  • Catalogues régionaux : des listes US et JP décalées de quelques minutes suffisent pour que JP refuse avec la même chaîne mais des drapeaux de disponibilité différents.
Seuil chiffré : si les refus dépassent 8 par heure alors que la latence de succès reste plate, suspectez la liste blanche plutôt que la capacité.

Matrice dérive politique vs catalogue

SignalCôté politiqueCôté catalogueVérifier
401 fournisseurPeu probableRotation de clécurl fournisseur /models
200 immédiat mais complétion videID inconnu mappéModèle retirégrep des ID refusés dans les logs passerelle
Refus intermittent seulement en cronEnvironnement cron sans nouvel IDIdemprintenv dans le job launchd
Refus après upgrade npmSchéma par défaut renforcéDépendance pair modifiant le routeuropenclaw doctor --json diff

Forme JSON5 et clés oubliées

Gardez agents.defaults.models comme tableau explicite de chaînes : pas de virgules traînantes, pas de lignes commentées qui réapparaissent au cherry-pick. Copiez les ID fournisseur à l’identique ; avec alias -latest et hachages épinglés, préférez les hachages épinglés en production et un alias de trempage en staging.

Commentez chaque entrée (équipe propriétaire, date de revue trimestrielle) : les jokers non expliqués échouent aux audits. Après édition, openclaw doctor --fix normalise les clés invalides, puis relancez sans --fix pour confirmer la stabilité.

Avertissement : élargir la liste blanche sans double validation viole la plupart des contrôles de changement SOC2 — référencez l’ID de ticket dans les commentaires.

Déploiement en sept étapes (canari JP → prod US)

  1. Instantané de ~/.openclaw selon le guide de sauvegarde d’état.
  2. Appliquer le diff de liste blanche sur un bail staging JP ; charge synthétique < 5 RPS.
  3. Doctor deux fois ; échec si le nombre d’avertissements augmente de plus de 1.
  4. Promouvoir vers l’hôte HK ; surveiller les refus 24 h.
  5. Promouvoir SG et KR (agents lecture) ; surveiller le p95.
  6. Promouvoir US uniquement après visa finance si les modèles touchent l’analyse de trading.
  7. Retour arrière (tarball + relance launchd) si un refus horaire dépasse 15 dans une région.

Sondes curl après redémarrage (éviter les faux verts)

Appelez l’endpoint de santé local 5 fois avec 200 ms entre appels ; le second chargement peut activer des plugins qui réappliquent la liste blanche. Conservez les en-têtes de build. Si TLS termine sur un proxy inverse, testez aussi 127.0.0.1:18789 pour isoler politique réseau vs politique OpenClaw.

SondeCritère de réussiteÉchec signifie
GET /health (local)HTTP 200, corps OKPasserelle non liée après redémarrage
Complétion testTexte assistant non videChemin de refus silencieux
Dry-run cronMême ID que manuelDérive d’environnement

Si les proxies retirent X-OpenClaw-Build, archivez git describe dans le canal d’incident pour corréler la version de schéma. Ignorer cette étape ajoute en moyenne 47 minutes de doctor comparatif JSON5 issus de miroirs npm décalés.

FAQ

Activer allow-all temporairement ? Uniquement sur clones jetables ; jamais sur baux MacLogin partagés où d’autres compétences héritent du même $HOME.

Casse des caractères ? Oui — traitez les ID comme des chaînes opaques sensibles à la casse.

Propriétaire de la revue catalogue ? Ingénierie plateforme + gouvernance IA ; documentez la liste dans les runbooks liés depuis aide.

Pourquoi le Mac mini M4 accélère les cycles de validation

Les puces M4 maintiennent doctor et les redémarrages passerelle npm sous 90 s, utiles pour enchaîner cinq métros avant l’ouverture. La mémoire unifiée garde les caches tokenizer chauds pendant les sondes curl. L’empreinte HK/JP/KR/SG/US permet de prioriser JP sans réveiller systématiquement les ingénieurs US.

Ajouter des canaris via tarifs coûte moins cher qu’un refus prod : gardez une réplique de liste plus stricte en ligne 24/7 et ne promouvez le JSON5 qu’après un cycle cron complet.

Exécutez les changements de liste blanche OpenClaw sur Apple Silicon dédié

Associez le JSON5 validé par doctor aux nœuds MacLogin HK, JP, KR, SG et US.