Ein OpenClaw-Gateway auf einem dauerhaft erreichbaren Remote-Mac ist der sinnvolle Ort, an dem CircleCI Outbound-Webhooks landen: Sie bündeln Signaturprüfung, kurze Lockfile-Drift-Gates und den Rückkanal mit Build-Zusammenfassungen — ohne dass CircleCI selbst breite Repo-Schreibrechte oder langlaufende Shells auf Entwickler-Laptops braucht. Dieser Leitfaden folgt docs.openclaw.ai (Installation, openclaw doctor, sichere Bindung) und den CircleCI-Dokumenten zu ausgehenden Webhooks. Vertiefung: Gateway-Healthcheck & LaunchAgent, Grenzüberschreitende Git/npm/brew-Spiegel für CI und zum Vergleich ähnliche Muster mit GitHub Checks: GitHub Check Suite & Lockfile.

Voraussetzungen: Node, OpenClaw-CLI, Token und minimale Berechtigungen

Installieren Sie Node.js 22.16+ oder 24 LTS auf dem Mac, der als Gateway dient. OpenClaw wie in der offiziellen Dokumentation beschrieben einrichten (openclaw onboard), anschließend openclaw doctor ausführen, bis Pfad, TLS und Proxy stimmen. Derselbe PATH und dieselbe node-Binary müssen für Ihre Login-Shell und für den launchd-Dienst gelten, sonst schlagen nächtliche Webhooks fehl, während manuelle Tests funktionieren.

Das Dashboard und die Verwaltungs-APIs sollten nur an 127.0.0.1 lauschen; nach außen gehen Sie mit TLS-Terminierung (nginx, Caddy) oder einem kontrollierten Tunnel. Speichern Sie das Dashboard-Token und das CircleCI-Webhook-Secret ausschließlich im Secret Store oder in einer LaunchAgent-Plist mit restriktiven Dateirechten — nicht im Git-Repository.

Minimale CircleCI-Seite: Für das Anlegen und Ändern von Outbound-Webhooks sind typischerweise Organisationsadministratorrechte nötig. Auf dem Mac selbst reicht ein technischer Benutzer, der Repository lesend klonen darf (Deploy-Key oder PAT nur mit contents:read bzw. vergleichbar schmal), sofern Ihr Lockfile-Scan keinen Schreibzugriff braucht. Jede weitergehende Berechtigung sollte bewusst begründet sein.

Schnell-Checkliste vor dem ersten Live-Webhook:

  • Node-Version und openclaw im Dienstkonto verifiziert (openclaw doctor).
  • Gateway lauscht auf Loopback; öffentliche URL endet auf TLS mit gültigem Zertifikat.
  • Webhook-Secret generiert, nur im Secret Store, Rotation dokumentiert.
  • Git-Zugriff vom Mac zum VCS getestet (Clone/Fetch als Dienstbenutzer).
  • Optional: Ziel-URL für Build-Zusammenfassung (Slack-kompatibler Webhook, internes API) und Rate-Limits geklärt.

CircleCI-Webhook und Signaturprüfung — nummerierte Konfiguration

Gehen Sie in CircleCI als berechtigte Person zu Projekteinstellungen → Webhooks. Tragen Sie die öffentliche HTTPS-URL ein, die auf Ihren Reverse-Proxy oder Tunnel zeigt und intern an den OpenClaw- bzw. Node-Handler auf 127.0.0.1 weiterleitet. Setzen Sie ein starkes Secret und wählen Sie ein schmales Ereignis, z. B. workflow completed oder job completed, je nachdem, ob Sie pro Workflow oder pro Job zusammenfassen möchten.

Schrittfolge (empfohlen):

  1. Health-Route hinter dem Proxy mit curl prüfen (Status 2xx, gleicher Hostname wie später CircleCI).
  2. Webhook in CircleCI speichern; Testlieferung auslösen und Roh-Header in den Gateway-Logs prüfen.
  3. Header circleci-signature auswerten: Eintrag v1=<hex> extrahieren (kommaseparierte Liste).
  4. HMAC-SHA256 über die unveränderten POST-Bytes mit dem Webhook-Secret berechnen und zeitkonstant mit v1 vergleichen — bei Abweichung 401, kein Repo-Zugriff.
  5. Nur relevante Workflows filtern (Projekt, Branch, Status success/failed nach Policy), Payload-id für Idempotenz nutzen.

Der Reverse-Proxy darf den Body nicht neu serialisieren (kein Pretty-Print, kein erzwungener UTF-8-Normalisierungsschritt vor dem Handler). Viele Signaturfehler entstehen, weil Frameworks JSON.parse vor dem HMAC ausführen und den String danach erneut schreiben.

OpenClaw-Skills bzw. Skriptvorlagen: Lockfile parsen, Diff, Zusammenfassung

Der synchrone Teil des Handlers sollte nur aus Signaturprüfung, Validierung der Payload, optionalem shallow git fetch/git clone in ein eindeutiges Arbeitsverzeichnis pro Webhook-ID und einem begrenzten Lockfile-Diff bestehen. Liefern Sie innerhalb von etwa zehn Sekunden ein kurzes JSON mit Status und interner Job-ID zurück (HTTP 200), damit CircleCI die Lieferung nicht endlos wiederholt.

Die ausführliche Zusammenfassung (Markdown oder Slack-Blocks: Pipeline-Nummer, Branch, Commit, betroffene Lockdateien, Diff-Zeilenanzahl, Link zum Workflow) sollten Sie asynchron per setImmediate, Worker-Queue oder OpenClaw-Hintergrundskill senden, mit Retries z. B. nach 2 / 4 / 8 Sekunden und harter Obergrenze.

Beispielhafte Struktur eines Node-Handlers (vereinfacht, zum Anpassen unter Ihrem Gateway):

// Roh-Body: const raw = await getRawBody(req); // const sig = parseV1(req.headers['circleci-signature']); // const ok = timingSafeEqual(hmacSha256(raw, SECRET), sig); // if (!ok) return res.status(401).end(); // const ev = JSON.parse(raw.toString('utf8')); // const workdir = path.join(TMP, 'cc-' + ev.id); // await shallowClone(ev.project..., ev.revision..., workdir); // const diff = await exec(`git diff origin/${DEFAULT} -- package-lock.json`, { cwd: workdir }); // res.status(200).json({ accepted: true, job: ev.id }); // queue.postSummary(SUMMARY_URL, buildEmbed(ev, diff));

Unterstützen Sie mehrere Lockfile-Typen (package-lock.json, yarn.lock, pnpm-lock.yaml, Gemfile.lock, Cargo.lock) über eine kleine Konfigurationsliste, damit Teams nicht jedes Mal den Handler fork müssen. OpenClaw-Skills können die gleiche Logik kapseln und über stabile Umgebungsvariablen (CIRCLECI_WEBHOOK_SECRET, DEFAULT_BRANCH, SUMMARY_WEBHOOK_URL) parametrisieren.

  • Keine gemeinsamen Workdirs: Parallele Lieferungen überschreiben sonst package-lock.json gegenseitig.
  • Revision aus der Payload: Immer den Commit bzw. SHA aus dem Webhook auschecken, nicht den lokalen Cache von gestern.
  • Truncation: Lange Diffs im Summary-Kanal kürzen und vollständige Logs nur auf dem Mac ablegen.

Häufige Fehler: Signatur, Timeout, Berechtigungen — FAQ

Signatur: jede Lieferung 401 trotz korrektem Secret in der UI?

Prüfen Sie den rohen Body vor dem Parser, ob der Proxy gzip entpackt hat aber andere Bytes weiterreicht, und ob mehrere v1-Einträge im Header existieren — nehmen Sie den zur Dokumentation passenden. Postman-„Replay“ mit formatiertem JSON zerstört den Hash.

CircleCI wiederholt dieselbe Lieferung und unsere Latenz steigt?

Outbound-Webhooks time out nach ungefähr zehn Sekunden. Verschieben Sie npm ci, Tests und große Artefakte in einen Background-Job; die HTTP-Antwort muss zuerst kommen. Nutzen Sie die Payload-id, um nach einem Neustart keine doppelten Pipelines zu triggern.

403 oder graue UI beim Webhook-Anlegen?

Fehlende Org-Admin-Rolle oder Projektgrenze (max. Webhooks pro Projekt). Klären Sie mit der CircleCI-Organisation, wer Webhooks pflegt, und dokumentieren Sie die URLs pro Umgebung (Staging/Produktion).

Git clone schlägt auf dem Mac fehl?

Deploy-Key oder Token abgelaufen, known_hosts im Dienstkonto leer, oder Corporate-Proxy ohne NO_PROXY für den VCS-Host. Testen Sie git ls-remote als exakt denselben UNIX-Benutzer wie der Gateway-Prozess.

Anbindung an CI-Pull-Szenarien (Artefakte, Spiegel, Runner)

Der Webhook-Scan ist die leichte Vorstufe: Er erkennt Lockfile-Drift früh und feedet Zusammenfassungen in Chat oder Tickets. Die schwere Arbeit — npm ci, CocoaPods, Gradle, Docker-Layer — läuft weiterhin auf CircleCI-Runnern oder auf Ihrem Remote-Mac-Build-Pool. Verknüpfen Sie beide Welten, indem Sie dieselben Spiegel- und Proxy-Regeln verwenden: Was der Webhook auf dem Gateway als „Drift erkannt“ meldet, sollte der CI-Job mit konsistenten .npmrc-, bundle- oder goproxy-Einstellungen bestätigen.

Die in der Einleitung verlinkte Übersicht zu Mirror-Ketten und Parallelität hilft, Pull-Zeiten und Timeouts in der Pipeline zu reduzieren, sodass der Webhook nicht nur warnt, sondern der nachfolgende Job zuverlässig grün wird. Das Gateway bleibt dabei die stabile Schicht für eingehende Automatisierung — unabhängig davon, ob der nächste Schritt CircleCI bleibt oder ein selbst gehosteter macOS-Runner folgt.

Fazit

Fazit (2026): Mit docs.openclaw.ai-konformem Gateway auf dem Remote-Mac, circleci-signature v1 auf dem Roh-Body, Wegwerf-Arbeitsverzeichnissen und einer strikten 10-Sekunden-Budget-Grenze für die synchrone Antwort bekommen Sie ein kleines, wiederholbares System: CircleCI liefert verlässliche Ereignisse, der Mac entscheidet Lockfile-Fragen und spiegelt Ergebnisse in Ihre Kommunikationskanäle — ohne dass die CI-Plattform selbst zum generischen Shell-Server wird. Für dauerhaft erreichbare Endpunkte und SSH-/Relay-Themen ohne Login-Pflicht: Hilfe, Kaufen, Preise und der Technik-Blog.

OpenClaw × CircleCI × Remote-Mac

Nächste Schritte — öffentliche Seiten, ohne Login

Wählen Sie einen Apple-Silicon-Remote-Mac, der Ihren Gateway-Prozess und Tunnel stabil hostet; in der Hilfe finden Sie u. a. SSH-Verbindung und typische Relay-Szenarien. Kaufen und Preise erklären die Node-Auswahl ohne Kontopflicht zum Lesen.

Gateway auf dediziertem Mac
Signatur & minimale Tokens
CI-Automatisierung 2026