La passerelle OpenClaw sur un Mac distant reçoit le webhook CircleCI, vérifie la signature, isole le dépôt et compare les lockfiles avant un résumé humain. Parcours « minimal reproductible » pour 2026 : scan lockfile GitHub Checks, tirages Git/npm transfrontaliers, relais SSH développement.

Prérequis : Node, CLI openclaw, jetons et moindre privilège

Sur le Mac distant, installez Node 22 LTS ou Node 24 si la documentation OpenClaw le recommande, puis la CLI via les instructions officielles (docs.openclaw.ai). Les commandes openclaw onboard et openclaw doctor doivent tourner sous le même compte que le service launchd : l’écart de PATH entre votre session SSH et le démon est la première cause d’échec silencieux.

Jetons et secrets webhook : fichier 600 dans le plist. Écoute sur 127.0.0.1 ; exposition via tunnel SSH ou reverse proxy TLS sans réécriture du corps POST (sinon la signature casse).

Checklist avant le premier POST CircleCI
  • node -v identique en SSH et dans le contexte du daemon.
  • Certificats d’entreprise déclarés via NODE_EXTRA_CA_CERTS si besoin.
  • Répertoire de travail jetable par livraison, quotas disque surveillés.
  • Aucun secret de CircleCI ou de VCS dans les journaux du handler.
StratégieAvantageRisque principal
HTTP 200 immédiat + file localeÉvite les timeouts de livraison CircleCINécessite un worker et une persistance légère
Traitement inline dans le handlerSimplicité de débogage au débutDépasse souvent la fenêtre de retry réseau
Jeton API étroit + webhook sortantAudit et rotation simplesConfigurer les scopes au plus juste

Webhook CircleCI et étapes de configuration de la vérification

Créez le webhook (projet ou organisation) vers l’URL publique du handler OpenClaw. Le secret console sert au HMAC sur le corps brut du POST, selon la doc CircleCI de votre version d’événements.

  1. Ne souscrire qu’aux événements utiles, typiquement workflow completed ou job completed, afin de réduire le bruit et la surface d’attaque.
  2. Filtrer par branche ou par contexte de workflow dans le handler après validation cryptographique, pas avant, afin de ne pas court-circuiter les journaux d’audit.
  3. Tester avec curl depuis une machine du même chemin réseau que CircleCI en rejouant un payload capturé, puis comparez le code HTTP avec la console de livraison.
# Exemple : conserver le corps dans un fichier brut avant parsing RAW="$(cat)" && echo "$RAW" | openssl dgst -sha256 -hmac "$CIRCLE_WEBHOOK_SECRET"

Si un WAF ou un équilibreur réécrit le JSON, la signature ne correspondra jamais : désactivez la normalisation ou déplacez la vérification derrière un saut TLS direct vers le Mac.

Compétence ou script OpenClaw : analyser les lockfiles et produire un résumé

Parsez le JSON puis la révision et le dépôt. git clone --depth 1 dans un dossier neuf ou mettez à jour un bare mirror local pour les livraisons fréquentes.

Node : git diff sur package-lock.json, pnpm-lock.yaml, yarn.lock ou npm ci --dry-run. Ruby : Gemfile.lock ; PHP : composer.lock + composer validate. Résumé court : statut, fichiers touchés, hash, lien workflow, zéro secret.

git fetch origin "$SHA" && git checkout -q FETCH_HEAD for f in package-lock.json pnpm-lock.yaml yarn.lock Gemfile.lock; do [ -f "$f" ] && git diff --stat "origin/main" -- "$f" done

Emballez ce bloc en skill OpenClaw ou script ; timeouts < moitié de la fenêtre de retry CircleCI.

FAQ : signature, délais d’attente et permissions

Signature invalide : comparez octet à octet le secret configuré ; vérifiez que vous signez le corps avant désérialisation JSON et que l’encodage UTF-8 n’est pas altéré par un proxy intermédiaire.

Timeout côté CircleCI : la livraison attend une réponse rapide ; déportez clone et diff dans un processus asynchrone et répondez 202 lorsque votre stack le permet, puis poussez le résultat via un second canal.

403 sur l’API CircleCI : le jeton personnel ou le rôle OIDC doit inclure explicitement le projet visé ; évitez les tokens organisation larges lorsque seule la lecture des derniers workflows suffit.

Écarts inexpliqués entre lockfile et log de job : un cache de dépendances réutilisé entre builds peut masquer une dérive ; forcez un répertoire vierge ou un git worktree par événement webhook.

Raccord aux scénarios de tirage CI sur Mac distant

Même machine : souvent runners et miroirs Git/npm. Alignez shallow clone, cache npm et purge disque avec nos guides. La passerelle orchestre événement CircleCI, lockfiles et shell SSH sans allers-retours console.

En synthèse : sécurisez la passerelle, validez chaque webhook avec le secret CircleCI, isolez le checkout, produisez un résumé structuré et reliez le flux à vos optimisations de tirage. Pour louer un nœud Mac stable, ouvrez sans compte les pages achat, tarifs, centre d’aide (guides SSH et mise en route) et accueil — idéal pour héberger OpenClaw et la CI au même endroit.

CircleCI · OpenClaw · Mac distant

Choisissez un nœud Mac pour la passerelle et la CI

Accès SSH documenté dans le centre d’aide, sans obligation de connexion pour consulter les tarifs ni l’achat.

Acheter un Mac distant Tarifs Guide SSH & aide
Apple Silicon
Passerelle stable
Support 24/7