sessions_spawn runtime=acp vs subagent Entscheidungsmatrix, streamTo-Fehlkonfiguration und ACP-1008-Handshake RunbookWenn Sie im Haupt-Agent sessions_spawn aufrufen und ACP_TURN_FAILED, invalid handshake 1008 oder queue owner unavailable sehen, während Direktchat am selben Gateway läuft, beantwortet dieser Artikel: (1) wann runtime=acp vs runtime=subagent; (2) warum streamTo / resumeSessionId nur auf dem acp-Pfad gültig sind und wie subagent-Fehlkonfiguration getrennt wird; (3) subagent-Fallback bei ACP-Handshake-Fehler und Windows OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE; (4) Completions vs Responses bei streamTo-Autofill. Ergänzt Upgrade-Begleitung ACP-Triage und Docker subagent 1008 Pairing—dieser Beitrag deckt Runtime-Auswahl beim Multi-Agent-Scheduling ab.
runtime=acp ohne ACP-Bridge: Hauptkanal chatet, jeder spawn liefert ACP_TURN_FAILED—Ursache ist nicht registriertes acpx oder offline queue owner, nicht Modellkontingent.streamTo / resumeSessionId unter runtime=subagent: nur für ACP-Sitzungsfortsetzung; subagent nutzt Gateway-RPC, Fehlkonfiguration ergibt ungültige Parameter oder stille Feldverluste.OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE nutzen.Upstream 2026 trennt sessions_spawn in zwei exklusive Runtimes. runtime=acp spricht über ACP-Bridge mit externem acpx, unterstützt streamTo für UI-Rückfluss. runtime=subagent startet leichten Sub-Agent im Gateway—weniger Latenz, kein acpx, keine ACP-Fortsetzungsfelder.
Falsche runtime plus ungültige Felder ist die zeitintensivste „Scheinkomplexität“ im Betrieb. Pfad zuerst, dann Modelle und Tool-Allowlist (tools.profile-Triage).
Archivieren Sie jeden spawn als Scheduling-Vertrag: runtime, UI-Rückfluss ja/nein, Completions vs Responses, Fallback (subagent/Rollback). Ohne Vertrag ist „gestern ging's, heute nicht“ schwer erklärbar—Änderungen liegen in Template-Feldern oder API-Form, selten am Gateway-Binary.
Für EU-Teams gilt Datenschutz auch bei spawn-Logs: eingefrorene Call-JSONs können Task-Inhalte und Session-IDs enthalten. Tickets nur mit redigierten Ausschnitten; vollständige Payloads nicht in Team-Chat oder unverschlüsselte Laufwerke. Verantwortlichen im Change-Ticket benennen.
Typisches 2026-Muster: Template aus Cursor-IDE-acp unverändert auf headless Gateway mit subagent-Batch—spawn scheitert intermittierend, wenn acpx lokal läuft, dann in CI. Scheinbare Instabilität statt Runtime-Mismatch.
Vor Severity-1-Bridge-Outage prüfen: brauchte ein spawn in der letzten Stunde acp-Semantik? Reine Hintergrund-Recherche ohne UI → subagent oft dauerhaft richtig, nicht nur Workaround.
| Vorhandene Langform | Dieser Artikel | Bewusst nicht wiederholt |
|---|---|---|
| Upgrade-Begleitung ACP | acp vs subagent bei spawn inkl. Fallback | backup create, volle probe-Leiter |
| Docker subagent 1008 | Grenze subagent vs Pairing-1008 | Compose trustedProxies Schrittfolge |
| tools.profile | Nach erfolgreichem spawn ohne Tools | Allowlist-Schichten-Spezialartikel |
| SSH dediziertes Gateway | Topologie acpx + subagent auf Remote-Mac | Port-Forward, launchd-Details |
runtime=acp vs runtime=subagent: welcher StackMerksatz: UI-Rückfluss, ACP-Sitzung fortsetzen, Cursor/IDE-acpx → acp. Gateway-intern, geringe Abhängigkeit, acp down → subagent. Tabelle: vier häufige Produktionsformen.
Bei Unsicherheit zuerst Einzeiler-subagent-Probe. Besteht sie, ist der Scheduling-Stack gesund—Fehler liegt bei acp oder Feldkonfiguration.
| Aufgabenform | Empfohlene runtime | Schlüsselparameter | Vermeiden |
|---|---|---|---|
| Sub-Agent-Ausgabe in Hauptchat streamen | acp |
streamTo auf Hauptsitzung; optional resumeSessionId |
subagent + streamTo |
| Hintergrund-Batch, kein UI-Rückfluss | subagent |
task + Timeout; kein streamTo |
acp erzwingen |
| queue owner unavailable | Temporär subagent |
Fallback im Ticket; parallel acpx reparieren | acp endlos wiederholen |
| Multi-Container Docker, RPC ok, spawn 1008 | Pairing/Netz zuerst, dann subagent |
trustedProxies; Docker-Artikel | runtime wechseln vor Bind-Fix |
streamTo / resumeSessionId: nur acp—Fehlkonfiguration triagierenViele „Parameter stimmen, Sub-Agent leer“-Meldungen entstehen durch Feld-Runtime-Kreuzkontamination. subagent-Pfad strippt ACP-Felder. Template mit streamTo: "main" bei runtime=subagent liefert oft nur generischen RPC-Fehler—Call-JSON prüfen.
Unter runtime=acp setzt resumeSessionId acpx-Sitzung fort; streamTo leitet Token zum Control-UI-Ziel.
Responses-Routing 2026 kann streamTo inferieren; Completions nicht. Migration Responses→Completions ohne Template-Update: „früher Rückfluss, jetzt still im Hintergrund“—kein Upgrade-Bug, sondern API plus runtime.
Feld-Stripping-Experiment: fehlerhaftes JSON kopieren, streamTo/resumeSessionId entfernen, runtime=subagent, retry. Sofort ok → acp oder Fehlkonfiguration. Weiter rot → Pairing, Token oder Tool-Oberfläche. Runbook Schritt 4.
Vor/nach JSON im Ticket dokumentieren—Datenschutz: personenbezogene Task-Texte redigieren.
Templates auditieren: streamTo außerhalb acp-Blöcke suchen. Lint bei runtime=subagent plus ACP-Feldern fängt Regressionen vor Deploy.
UI-Rückfluss Pflicht und Stripping bricht UX → subagent nicht dauerhaft erzwingen; Bridge-Reparatur oder Topologie priorisieren.
// acp: UI-Rückfluss + optional resume
{
"tool": "sessions_spawn",
"runtime": "acp",
"task": "Wettbewerberpreise recherchieren und Tabelle ausgeben",
"streamTo": "main",
"resumeSessionId": "acp-sess-abc123"
}
// subagent: Gateway-intern—kein streamTo
{
"tool": "sessions_spawn",
"runtime": "subagent",
"task": "Dateien unter logs/ stapelweise umbenennen"
}
// häufige Fehlkonfiguration
{
"runtime": "subagent",
"streamTo": "main"
}
ACP_TURN_FAILED, 1008, queue ownerBei runtime=acp-Fail und funktionierendem Hauptchat nach Log-Fingerabdruck routen—nicht mit „Gateway komplett stumm“ vermischen.
Einen spawn-Versuch mit aligned Gateway/acpx-Zeitstempeln erfassen. Handshake-Fenster sind oft subsekundengenau.
Minimalen acp-spawn zuerst—nicht Voll-Task mit Tools. Einzeiler-Probe isoliert Handshake von Allowlist und Modell-Latenz. acp minimal rot, subagent minimal grün → Bridge/acpx, nicht Scheduling allgemein.
1008 nur auf acp korreliert oft mit Versions-Split CLI/Gateway/acpx. Alle drei Versionen im Ticket vor Rollback—nur Gateway pinnen bei altem acpx reproduziert 1008.
| Log / Symptom | Erster Verdacht | Erste Aktion |
|---|---|---|
ACP_TURN_FAILED |
acpx nicht bereit; Turn-Timeout | Windows OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE=1; Bridge-Registrierung |
| invalid handshake / WebSocket 1008 | CLI/Gateway/acpx Versions-Split | Gleiche Version; ein reload; Pin-Matrix |
| queue owner unavailable | Bridge-Registrierung verloren (2026.3.x-Fenster) | Host-acpx; temporär runtime=subagent |
| subagent auch 1008 | Pairing/Token/Netz (nicht ACP-spezifisch) | Docker-1008-Runbook |
| spawn ok, Sub-Agent ohne Tools | tools.profile / Agent-Override | tools.profile-Triage |
Fallback-Richtlinie: acp scheitert zwei Runden im Change-Fenster (nach reload), subagent-Minimalfprobe ok → Ticket „temporär runtime=subagent“, UI-Rückfluss-Aufgaben einschränken. Orthogonal zu Digest-Rollback: Fallback sichert SLA; Rollback behebt Regression.
OPENCLAW_ACPX_RUNTIME_STARTUP_PROBEProvider-Erweiterungen und Defender verlängern acpx-Kaltstart. spawn vor Bridge → ACP_TURN_FAILED oder invalid handshake.
OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE=1 (Semantik laut OpenClaw-Doku) lässt Gateway vor erstem spawn eine zusätzliche acpx-Gesundheitsprobe warten.
Weiter rot: Minimale subagent-Aufgabe auf demselben Host—Scheduling-Stack intakt, dann acpx isolieren. Nicht langsamen Windows-Start mit Versions-Rollback verwechseln.
Abgrenzung zur Upgrade-Begleitung: dort probe/ACP nach Migration; hier stabile Version, nur spawn/Handshake. Erst Abnahmeleiter grün, dann diese Matrix—sonst Split-Brain wie streamTo-Fehler.
Unter Windows auch Controlled Folder Access prüfen—acpx startet, Bridge-Registrierung fehlt → queue owner unavailable. Startup-Probe gibt Zeit nach policy-verzögertem I/O.
Probe-Variablen im Config-Management dokumentieren, nicht nur in temporärer PowerShell—Service-Restart ohne Variable erklärt „gestern im Terminal ok“.
# Windows: acpx-Startup-Probe verlängern (Beispiel) $env:OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE = "1" openclaw gateway status openclaw gateway probe # Minimale subagent-Probe (ohne streamTo) # sessions_spawn über Control UI oder CLI, runtime=subagent
Nicht jeder rote acp-spawn erfordert Rollback. Impact-Oberfläche entscheidet.
| Impact | acp reparieren | Temporär runtime=subagent | Pin / Rollback |
|---|---|---|---|
| Nur spawn/acp rot; Hauptkanal + subagent ok | acpx-Registrierung, Startup-Probe | Empfohlen ohne UI-Rückfluss | Nur bei bekannter Regression |
| acp + subagent rot; probe rot | Nur nach backup ein Schritt | Nicht erste Wahl | Priorität backup/Digest |
| UI-Rückfluss Pflicht; acp down | Business leidet während Reparatur | Ersetzt streamTo nicht | Rollback oder Remote-Mac-Gateway |
Schritte 3–4 unter fünf Minuten bei zugänglichen Logs. Über 15 Minuten in Schritt 5 ohne neues Signal → Bridge-Owner eskalieren, nicht acp blind wiederholen—MTTR-Noise und Modell-Rate-Limits.
Schritt 6 explizit: „temporär runtime=subagent, UI-Rückfluss blockiert bis acp ok“—verhindert Duplikat-Tickets ohne sichtbare Sub-Agent-Ausgabe.
Auf Laptop-Gateways mit acpx, Deckel zu und vielen Plugins wirkt spawn instabil. Besser: autoritatives Gateway + acpx auf Remote-Mac mit Dauerstrom; Laptop nur SSH-Forward—Logs auf einem Knoten, Datenschutz-by-Design auf dediziertem Volume.
spawn-Erfolgsrate wöchentlich pro runtime-Bucket—Aggregat kann acp bei 70% und subagent bei 99% verbergen.
streamTo-Fehlkonfig-Zähler: strukturierte Warnung bei ACP-Feldern auf subagent; Ziel 0—Template-Drift oder Agent erfindet Felder.
Prompts drehen ohne runtime/streamTo-Check vergrößert ACP-Handshake zu „Multi-Agent tot“. Matrix, Fehlkonfig-Triage und subagent-Fallback komprimieren Betrieb auf gesonderte, fallback-gestützte Minuten-Events.
acp auf Windows-Laptop oder getrennten Containern kostet: Race-1008, streamTo-Inkonsistenz, größerer Störungsradius. Für 7×24, ticketierbare spawn, umschaltbare acp/subagent: MACCOME Mac mini (M4 / M4 Pro)—Multi-Region-Leitfaden, Topologie mit SSH-Runbook.
Runbook neben Upgrade-Begleitung und Docker-1008 im Wiki. Runtime-Fehlkonfig → kein Digest-Rollback; beide Pfade nach Channel-Upgrade rot → keine streamTo-Template-Marathon. Matrizen erzwingen diese Trennung früh.
Neue Operatoren: ein erfolgreicher acp-spawn mit streamTo und ein subagent-spawn ohne ACP-Felder am selben Gateway—zehn Minuten Übung verhindert die meisten Fehlinterpretationen aus Abschnitt eins.
FAQ
streamTo und resumeSessionId mit runtime=subagent?
Nein—nur bei runtime=acp. subagent: task und Gateway-Felder. Produktionsknoten: Mietpreise.
Bei ACP 1008 oder queue owner unavailable Rollback?
Nicht zwingend—Symptomtabelle; Hauptkanal ok → temporär runtime=subagent, Windows Startup-Probe. Beide Pfade rot → Digest-Rollback; Zugang: Hilfe-Center.