2026 — OpenClaw Gateway en API compatible OpenAI : comment Cursor et les scripts joignent un Mac physique distant
Les équipes qui pointent Cursor — ou la CI — vers une passerelle OpenClaw sur un Mac sans opérateur échouent souvent sur trois coutures : composition de la Base URL, relais du Bearer et réécriture des chemins par le reverse proxy. Cet article propose un contrat 2026 pour les appels « compatibles OpenAI », une matrice de décision bord vs accès direct, sept étapes de vérification, des seuils réutilisables en SLO interne et une FAQ 401 / TLS / timeouts prête à coller dans vos runbooks.
1. Pourquoi les clients « façon OpenAI » cassent au bord de la passerelle
OpenClaw Gateway peut parler les mêmes formes HTTP que les API LLM courantes, mais « compatible OpenAI » est un contrat : Base URL, chemin (/v1/...), Authorization: Bearer et identité TLS doivent correspondre à ce que la passerelle valide réellement. Les Mac physiques distants ajoutent tunnels SSH, proxys d’entreprise et DNS scindés — chaque couche peut réécrire l’un de ces champs.
- Doubles chemins : un bord qui monte déjà
/v1plus un client qui ajoute/v1/chat/completionsdonne 404 ou redirections silencieuses — Cursor et les SDK masquent l’URL finale sans capture réseau. - Dérive du Bearer : les jetons copiés dans les secrets CI omettent parfois le préfixe
Bearerou entrent en conflit avec une auth basique du proxy ; la passerelle voit une identité vide ou fausse alors que curl sur127.0.0.1fonctionne encore. - Asymétrie des timeouts : les outils interactifs supposent une latence LAN ; RTT transfrontalier plus TLS et HTTP/2 peuvent dépasser les
read_timeoutpar défaut du proxy pendant de longues générations. Les équipes qui automatisent l’UI sur plusieurs régions rencontrent la même classe de problèmes — voir 2026 : Comment les nœuds Mac mini physiques éliminent les « faux échecs » de l’automatisation UI transfrontalière.
2. Matrice de décision : Cursor, scripts et CI
Choisissez une ligne par environnement et gardez la même Base URL entre humains et automatisation sauf scission documentée (par exemple CI via service mesh).
| Client | À configurer | Piège fréquent |
|---|---|---|
| Cursor (OpenAI personnalisé) | Base URL vers votre origine HTTPS ; champ clé API = secret Bearer de la passerelle. | Paramètres workspace vs globaux divergents ; un dossier pointe encore vers api.openai.com. |
| SDK OpenAI officiels | OPENAI_BASE_URL + OPENAI_API_KEY ; valider avec un chat minimal. |
En-têtes org/projet des docs cloud fuient et embrouillent les passerelles qui ne vérifient que le Bearer. |
| curl / GitHub Actions | -H "Authorization: Bearer …" et URL complète vers …/v1/chat/completions. |
Secrets masqués dans les journaux échouent quand le job utilise HTTP vers un bord réservé au HTTPS. |
3. Runbook de connexion en sept étapes
- Preuve localhost : sur le Mac,
curl -sS -H "Authorization: Bearer $TOKEN" http://127.0.0.1:<port>/v1/models(ou la route de découverte documentée). Si cela échoue, corrigez launchd ou l’adresse d’écoute avant le DNS. - Figez l’URL externe : un hostname, une politique de préfixe. Exemple : public
https://gw.example.comavec nginxlocation /v1/vershttp://127.0.0.1:<port>/v1/sans double retrait de segment. - Contrat Bearer : les proxys doivent transmettre
Authorization; si l’auth se fait au bord, injectez le même secret que la passerelle attend — ne mélangez pas les schèmes en silence. - Alignement Cursor : collez la même Base URL que dans curl (schéma + hôte + préfixe optionnel). Envoyez un court prompt ; en erreur, capturez l’URL depuis les outils développeur ou les journaux passerelle.
- Parité scripts : relancez la même requête en CI avec
--fail-with-bodypour que le 401 remonte en échec dur. - Budget timeout : réglez
--max-timecôté client etproxy_read_timeout≥ 120 s pour les longues complétions sur chemins à RTT élevé (ajustez selon le SLO modèle). - Contrôle continu : cron horaire depuis l’extérieur du LAN vers
/v1/modelsou santé avec Bearer — alertes avant le lundi matin. Pour la fiabilité des démons sur la même classe de nœud, voir Optimisation de la stabilité du Mac mini pour OpenClaw en 2026 : Guide complet.
4. Seuils réutilisables (brouillons SLO internes)
- SLA triage 401 : distinguer localhost vs public en moins de 5 minutes avec des traces curl appariées — les chemins mal routés dominent, pas l’entropie du jeton.
- Cadence revue TLS : revalider certificats et chaînes intermédiaires au bord à chaque mise à jour mineure de macOS sur l’hôte passerelle ; Trousseau et magasins de confiance du proxy dérivent ensemble.
- Plancher timeout : pour les appels génératifs transfrontaliers, fixez timers applicatifs et idle proxy à au moins 2× le P95 observé jusqu’au premier token avant de déclarer l’échec.
5. FAQ : 401, TLS et timeouts
HTTP 401 Unauthorized
Comparez trois charges : (1) curl localhost avec Bearer, (2) curl vers le hostname public avec Bearer, (3) trafic Cursor ou SDK capturé au proxy. Si (1) marche et (2) échoue, le bord supprime ou remplace Authorization. Si (2) marche et Cursor échoue, l’IDE cible encore une Base URL périmée — réinitialisez par workspace.
Erreurs TLS / certificats
Vérifiez que le nom sur le certificat correspond au hostname saisi par les clients. Les redirections http:// vers https:// avec des noms différents provoquent souvent SSL: certificate subject name mismatch. Terminez TLS une fois au bord ; évitez le double TLS vers localhost sauf PKI interne et confiance partout.
Timeouts et « blocages vides »
Augmentez ensemble les timeouts proxy et client. Si les réponses en flux s’arrêtent, vérifiez qu’HTTP/2 n’est pas mis en buffer par un intermédiaire qui attend le corps complet. Testez avec curl -N pour imiter le streaming.
6. Pourquoi un profil type Mac mini convient à cette passerelle
Un bord compatible OpenAI sur un Mac distant dépend moins des TFLOPS que de la fiabilité 7j/7 : en veille, Apple Silicon reste souvent dans une plage de quelques watts, macOS garde des taux de crash très faibles sur des uptime mensuels, et la boîte à outils Unix (launchd, ssh, Homebrew) colle aux pratiques d’exploitation des passerelles. La mémoire unifiée garde HTTP concurrent et appels d’outils locaux réactifs sans surprises NUMA des boîtiers x86 bricolés.
Gatekeeper, SIP et FileVault réduisent aussi le risque malware sur nœuds sans écran par rapport à des images Windows classiques — important lorsque votre plan d’administration termine TLS pour Cursor et les secrets CI. Pour déployer ce schéma sans surveiller des tours de bureau, le Mac mini M4 reste l’un des choix les plus prévisibles en coût.
Si vous standardisez des passerelles distantes pour agents et IDE, posez la charge sur du matériel silencieux, sobre et taillé pour macOS — découvrez les offres Mac mini sur ZoneMac et passez du « ça marche sur mon portable » à un contrat de production documenté.
Besoin d’un Mac physique 7j/7 pour OpenClaw ?
Louez un nœud Mac mini avec la stabilité et les chemins réseau qu’une passerelle compatible OpenAI mérite.