2026 — OpenClaw × Ollama, inférence locale sur Mac Apple Silicon distant ZoneMac : runbook passerelle (routage parallèle, tirage des poids, conflits de ports — openclaw.json + FAQ)
Les équipes qui exécutent OpenClaw sur un Mac physique sans écran ont besoin de tokens locaux prévisibles sans casser les sondes de santé de la passerelle. Cet article propose une installation reproductible, une discipline de tirage GGUF, un fragment openclaw.json pour routage parallèle, une matrice de conflits 11434 vs 18789, sept étapes exécutables, des paramètres réutilisables et une FAQ — avec des liens vers la surface 127.0.0.1 en production et le jumeau numérique Mac mini.
Résumé
Les opérateurs qui colocalisent Ollama avec une passerelle OpenClaw sur un nœud ZoneMac Apple Silicon loué rencontrent souvent trois surprises : une pression disque silencieuse pendant des ollama pull parallèles, une boucle locale ambiguë lorsque des forwards SSH s'ajoutent, et des courses d'ordre d'écoute entre l'inférence (11434) et les diagnostics passerelle (18789).
Vous repartirez avec un fragment openclaw.json prêt à coller pour un routage local d'abord avec repli cloud borné, une table de triage des ports et des contrôles d'acceptation qui survivent au reboot sous launchd.
Pour durcir la surface d'écoute 127.0.0.1, proxy et tunnels en production, voir le runbook dédié. En savoir plus : surface d'attaque production OpenClaw (127.0.0.1, reverse proxy, tunnel)
Trois modes de défaillance sur passerelles sans opérateur
- Couplage disque et mémoire unifiée. Les pics de décompression GGUF coïncident avec la rotation JSONL de la passerelle ; instantanés APFS ou concurrence agressive peuvent bloquer les deux services sans bannière OOM visible.
- Sortie implicite et dérive conformité. L'inférence locale supprime le trafic de tokens cloud mais les plugins peuvent encore appeler des API externes — traitez la politique sortante comme orthogonale.
- Sémantique des ports vs modèle mental. Un
curlréussi vers 11434 sur le nœud ne prouve pas que votre portable atteint le même processus ; distinguez les sondes 18789 du trafic modèle lorsque vous automatisez la santé. En savoir plus : Mac mini dédié et jumeau numérique OpenClaw.
Matrice de décision (strict local / hybride / cloud prioritaire)
Choisissez une voie avant d'éditer les configs : changer les adresses d'écoute après coup invalide les tickets pare-feu et les recettes de saut SSH.
| Profil | Quand le choisir | Bind Ollama | Repli OpenClaw |
|---|---|---|---|
| Strict local | Données RAM/disque uniquement ; politique isolée | 127.0.0.1:11434 | Désactivé — échec fermé si absence de modèle |
| Hybride (recommandé) | Compromis coût/latence ; rafale cloud si file | 127.0.0.1:11434 | Timeout ≤ 8 s puis route cloud |
| Cloud prioritaire | RAM insuffisante pour le contexte cible | Optionnel (dev) | Modèles amont par défaut |
Runbook reproductible en sept étapes
- Geler l'acceptation réseau. Capturez RTT médian, gigue p95 et perte sur 60 s vers la région passerelle ; traitez un RTT médian > 120 ms comme bande d'alerte pour les boucles d'outils interactifs.
- Installer Ollama (ARM64) et figer la boucle locale. Exportez
OLLAMA_HOST=127.0.0.1:11434dans le même environnement que le plistlaunchdpour éviter les reverts vers wildcard au reboot. - Tirer en sérialisant. Un
ollama pullà la fois ; vérifiez quedf -hconserve ≥ 15 % libre après décompression ; versionnez les tags dans git. - Fusionner les backends parallèles. Utilisez le fragment JSON ci-dessous ; priorité route locale 10, cloud 50 ; attachez un
maxConcurrencypar route pour limiter la contention Metal/ANE. - Enregistrer deux labels launchd. Séparez
ollama servedeopenclaw gateway;ThrottleInterval≥ 2 s sur alimentation instable. - Prouver les écoutes.
lsof -nP -iTCP:11434 -sTCP:LISTENetlsof -nP -iTCP:18789 -sTCP:LISTEN; si vide, lisez les journaux stderr — pas seulement les codes de sortie. - Doctor + génération minimale.
openclaw doctor, puis POST fumée 16 tokens vers Ollama et vérifiez les requestId passerelle en fin de fichier JSONL d'audit.
Fragment openclaw.json — backends parallèles (illustratif)
Adaptez les clés au schéma OpenClaw installé ; l'intention reste routes ordonnées, timeouts et baseUrl explicites pour pouvoir grep en incident.
{
"models": {
"router": {
"strategy": "parallel-failover",
"routes": [
{
"id": "ollama-local",
"priority": 10,
"provider": "openai-compatible",
"baseUrl": "http://127.0.0.1:11434/v1",
"model": "llama3.1:8b",
"timeoutMs": 8000,
"maxConcurrency": 2
},
{
"id": "cloud-overflow",
"priority": 50,
"provider": "anthropic",
"model": "claude-3-5-sonnet-20241022",
"timeoutMs": 20000,
"maxConcurrency": 6
}
]
}
},
"gateway": {
"bind": "127.0.0.1",
"port": 18789,
"healthPath": "/health"
}
}
Si votre distribution imbrique autrement les champs passerelle, gardez l'invariant : Ollama reste en boucle locale ; toute entrée publique (si besoin) termine sur nginx/traefik avec TLS et proxifie vers 127.0.0.1 — n'exposez pas Ollama brut sur le bord locataire.
Paramètres réutilisables
- 8 s timeout route locale avant déversement cloud en mode hybride (ajustable selon SLA).
- 11434 port TCP Ollama par défaut ; 18789 port courant de gestion passerelle OpenClaw — documentez les deux dans les runbooks.
- ≥ 1,3× la taille GGUF annoncée libre sur APFS avant pulls sur volume partagé avec audits.
- 2 générations locales concurrentes comme plafond conservateur sur nœuds 16 Go unifiés cohabitant avec des charges type Xcode.
FAQ
Ollama doit-il n'écouter que sur 127.0.0.1 lorsqu'OpenClaw partage le même Mac ?
Oui pour les passerelles sans opérateur typiques. Liez à la boucle locale et, pour un besoin LAN rare, placez un proxy inverse authentifié devant.
Pourquoi « connection refused » sur 18789 alors que 11434 répond ?
Daemons distincts. Inspectez codes de sortie launchd, chemins plist et invites confidentialité macOS qui bloquent le binaire passerelle alors qu'Ollama est sain.
Comment éviter un disque plein pendant pulls et rotation JSONL ?
Sérialisez les pulls, surveillez l'espace libre en continu et déplacez les magasins de modèles lourds vers un volume dédié si les journaux d'audit grossissent vite.
Le routage parallèle contourne-t-il la gouvernance sortante ?
Non. Conservez listes de domaines, sandbox et validations humaines ; les modèles locaux réduisent la facture cloud, pas le périmètre de sécurité.
Pourquoi le Mac mini Apple Silicon est le socle le plus propre pour cette pile
Ollama et OpenClaw profitent tous deux d'une bande passante mémoire élevée et d'une thermique discrète : Apple Silicon unifie CPU, GPU et Neural Engine dans le même pool mémoire, ce qui réduit le va-et-vient PCIe observé sur de petites tours x86 équipées de GPU dédiés. macOS associe ce matériel à une supervision launchd, à un faible taux de crash et à une boîte à outils POSIX prévisible — idéal lorsque la passerelle doit tenir la nuit sans intervention KVM.
La posture sécurité compte aussi : Gatekeeper, SIP et FileVault apportent une défense en profondeur sur une machine qui stocke clés API et poids locaux. Pour le coût total, une classe Mac mini consomme environ 4 W au ralenti tout en servant l'inférence — nettement en dessous de nombreuses tours qui laissent tourner un GPU discret au repos.
Si vous voulez cette recette de routage hybride sur du matériel pensé pour un 7j/7 silencieux, le Mac mini Apple Silicon reste le point d'entrée le plus équilibré : explorez les nœuds ZoneMac et appliquez le runbook ci-dessus en production.
Louer un Mac passerelle prêt pour OpenClaw + Ollama
ZoneMac fournit des Mac Apple Silicon dédiés avec la stabilité supposée par ce runbook — boucle locale par défaut, espace pour les poids Ollama et marge pour les journaux JSONL d'audit.