« Les démos CrewAI tiennent tant que le HTTP outillé reste discipliné : dès que les appels partent en spaghetti concurrent et que les erreurs LLM restent opaques, la confiance s’effrite. Exécutez OpenClaw en boucle locale, routez chaque outil via des routes passerelle nommées, imposez un budget de concurrence explicite, ouvrez le disjoncteur avant que le nœud ne surchauffe, et renvoyez des enveloppes d’échec que le gestionnaire peut citer sans divulguer les prompts. »

Sur cette page : environnement et dépendances · passerelle et intégration CrewAI · budgets et disjoncteur · erreurs fréquentes · FAQ

Ce playbook part d’un Mac distant dédié (Apple Silicon) pour services longue durée. Complétez-le avec le guide LiteLLM Proxy et passerelle OpenClaw pour les alias multi-modèles, croisez la fiche JSON Schema, retries et discipline HTTP, alignez les traces sur la matrice OpenTelemetry GenAI, et comparez les coûts de routage via la matrice coût multi-modèles. Pour la surface /v1 locale, ouvrez aussi le volet routage compatible OpenAI façon vLLM.

Environnement et dépendances

Hôte et Python. Utilisez macOS 14 ou plus sur la machine louée, Python 3.11 dans un environnement projet, et épinglez crewai, httpx et les clients d’embedding dans requirements.txt. Conservez tokenizer et petits adaptateurs sur SSD local pour ne pas fausser les tests de disjoncteur au démarrage à froid.

CLI OpenClaw. Installez la chaîne Node 22 LTS, lancez openclaw gateway listen sur 127.0.0.1, et placez les jetons tableau de bord sous un chemin du type ~/.openclaw/token avec des droits réservés au compte de service.

Hub d’inférence optionnel. Lorsque plusieurs fournisseurs doivent partager une façade OpenAI, positionnez LiteLLM Proxy comme dans l’article dédié ; les crews CrewAI ne voient jamais les clés brutes fournisseur.

Garde-fous d’exploitation. Séparez comptes UNIX ou étiquettes launchd pour passerelle, proxy et workers crew ; journalisez sur volume persistant ; consignez les ports dans un runbook unique pour accélérer les diffs en incident.

Passerelle et intégration CrewAI

Préoccupation Crew CrewAI Passerelle OpenClaw
Appels LLM Agents et tâches orchestrent les prompts ; n’utilisez que des alias stables. Authentifie le trafic compatible OpenAI, mappe les alias vers des routes, impose les identifiants de corrélation.
Outils à effets de bord Outils personnalisés = clients HTTP avec timeouts serrés. Expose des routes allow-listées, valide les charges, fusionne les pistes d’audit.
Gestion d’échec Le gestionnaire résume pour l’utilisateur final. Renvoie des corps structurés ; la passerelle retire les secrets avant Python.

1. Lier le client LLM. Pointez OPENAI_API_BASE (ou le champ équivalent CrewAI) vers http://127.0.0.1:GATEWAY_PORT/v1 pour une politique unique.

2. Enregistrer les outils sur les URL passerelle. Implémentez des fonctions qui appellent les points /tools/… documentés avec l’en-tête Bearer issu du fichier jeton et X-Correlation-Id propagé depuis les métadonnées de kickoff.

3. Valider les arguments localement. Exécutez des contrôles JSON Schema ou Pydantic avant le HTTP ; les formes invalides ne doivent pas consumer les quotas amont — reprenez la logique de la fiche JSON Schema citée plus haut.

4. Sérialiser l’exécution. Lorsque plusieurs agents touchent le même outil, ajoutez un sémaphore asyncio ou une limite de pool pour transformer les rafales en file d’attente.

5. Mapper les erreurs vers des enveloppes. Interceptez les échecs HTTP dans le client outil, normalisez route, code, correlation_id et hint, puis levez une exception sûre pour le gestionnaire.

6. Test de fumée. Lancez un crew à deux agents avec un outil no-op, vérifiez la santé passerelle avec le même jeton, archivez la sortie openclaw doctor --json à côté de pip freeze.

# Exemple : pointer la config OpenAI de CrewAI vers la boucle (illustratif) # export OPENAI_API_BASE="http://127.0.0.1:18789/v1" # export OPENAI_API_KEY="$(tr -d '\n' < ~/.openclaw/dashboard.token)"

Budgets et paramètres de disjoncteur

Paramètre Valeur de départ Pourquoi c’est important
Appels d’outils concurrents 4 à 8 sur un hôte type M4 Évite l’explosion des descripteurs et des RPM amont lorsque les agents se multiplient.
Plafond RPM passerelle Aligné sur le budget locataire LiteLLM moins une marge Empêche max_iter d’entrer en collision avec les régulateurs fournisseur.
Ratio d’erreurs disjoncteur Ouverture après ~50 % d’erreurs sur 30 s Isoler une route empoisonnée sans affamer les alias sains.
Refroidissement 45 à 90 secondes Laisser l’amont se rétablir avant que les agents ne martèlent les retries.
  • Comptabilité des jetons : attachez des libellés stables tenant_id et crew_id côté passerelle pour rapprocher finance et traces OTel.
  • SLO de latence : timeouts de connexion vers 2 s, lectures complétion vers 30 s, lectures outil vers 8 s sauf streaming.
  • Politique de retry : backoff borné pour 429 et erreurs de connectivité ; jamais de retry automatique sur 401 ou 413.

Erreurs fréquentes

  • Boucles 401 entre agents. Jeton tableau de bord expiré ou mauvais chemin exporté : régénérez le secret, redémarrez les workers, validez avec curl la même chaîne Bearer que le crew.
  • Scintillement du disjoncteur. Les retries CrewAI amplifient le trafic ; réduisez les retries client lorsque le disjoncteur est ouvert et préférez l’enveloppe d’échec au martelage.
  • Alias introuvable. Dérive entre LiteLLM et les manifestes : rechargez les configs, inspectez la casse dans les journaux, promouvez les alias en fenêtre de maintenance.
  • Pic de coût silencieux. Concurrence non plafonnée multipliant le TPM : resserrez le sémaphore, réduisez les agents actifs, vérifiez les journaux d’usage par route.

FAQ

Les agents peuvent-ils court-circuiter OpenClaw pour joindre LiteLLM directement ? Oui techniquement, mais vous perdez audit, garde-fous schéma et résumés homogènes — gardez le trafic sur la pile boucle locale.

Comment partager des budgets entre plusieurs crews ? Un sémaphore et un tenant passerelle par processus ; distinguez les crews par métadonnées, pas par clés maîtres distinctes.

Que restituer à l’utilisateur après un échec ? Citez hint, l’identifiant de corrélation et la capacité dégradée ; excluez charges brutes fournisseur et fragments de prompt.

Mac loué plutôt qu’un portable ? Le portable dort et disperse les clés ; le nœud distant fixe l’horloge, launchd et l’audit au même périmètre serveur.

Pages publiques sans connexion : comparez les paliers sur la page tarifs, parcourez les SKU sur la page d’achat, puis prolongez avec le centre d’aide et l’index du blog technique.