openclaw acp spricht ACP über stdio für IDEs und leitet Prompts über WebSocket an das Gateway weiter, wobei ACP-Sitzungen Gateway-Sitzungsschlüsseln zugeordnet bleiben. Es handelt sich um eine Gateway-gestützte ACP-Bridge und nicht um eine vollständige ACP-native Editor-Laufzeit: Der Schwerpunkt liegt auf Sitzungsrouting, Prompt-Zustellung und Streaming-Aktualisierungen.
Wenn ein externer MCP-Client direkt mit OpenClaw-Kanalunterhaltungen kommunizieren soll, anstatt eine ACP-Harness-Sitzung zu hosten, verwenden Sie stattdessen openclaw mcp serve.
Was dies nicht ist
openclaw acp bedeutet, dass OpenClaw als ACP-Server fungiert: Eine IDE oder ein ACP-Client stellt eine Verbindung zu OpenClaw her, und OpenClaw leitet diese Arbeit an eine Gateway-Sitzung weiter.
Dies unterscheidet sich von ACP-Agenten, bei denen OpenClaw über acpx ein externes Harness wie Codex oder Claude Code ausführt.
Faustregel:
- Editor/Client soll über ACP mit OpenClaw kommunizieren: Verwenden Sie
openclaw acp - OpenClaw soll Codex/Claude/Gemini als ACP-Harness starten: Verwenden Sie
/acp spawnund ACP-Agenten
Kompatibilitätsmatrix
Bekannte Einschränkungen
loadSessiongibt den vollständigen ACP-Ereignisjournalverlauf nur für von der Bridge erstellte Sitzungen wieder. Ältere Sitzungen bzw. Sitzungen ohne Journal verwenden den Transkript-Fallback und rekonstruieren keine historischen Werkzeugaufrufe oder Systemhinweise.- Wenn mehrere ACP-Clients denselben Gateway-Sitzungsschlüssel gemeinsam verwenden, erfolgen Ereignis- und Abbruchrouting nach bestem Bemühen und sind nicht strikt pro Client isoliert. Bevorzugen Sie die standardmäßig isolierten
acp-bridge:<uuid>-Sitzungen, wenn saubere editorlokale Durchläufe erforderlich sind. - Gateway-Stoppzustände werden in ACP-Stoppgründe übersetzt, diese Zuordnung ist jedoch weniger ausdrucksstark als bei einer vollständig ACP-nativen Laufzeit.
- Sitzungssteuerungen stellen eine gezielte Teilmenge der Gateway-Optionen bereit: Denkstufe, Werkzeugausführlichkeit, Schlussfolgerung, Nutzungsdetails und privilegierte Aktionen. Modellauswahl und Steuerungen des Ausführungshosts werden nicht als ACP-Konfigurationsoptionen bereitgestellt.
session_info_updateundusage_updatewerden aus Gateway-Sitzungsmomentaufnahmen abgeleitet und nicht aus einer laufenden ACP-nativen Laufzeitabrechnung. Die Nutzung ist näherungsweise, enthält keine Kostendaten und wird nur ausgegeben, wenn das Gateway die Gesamttokendaten als aktuell markiert.- Begleitdaten zu Werkzeugen werden nach bestem Bemühen bereitgestellt: Die Bridge gibt Dateipfade aus, die in bekannten Werkzeugargumenten/-ergebnissen vorkommen, gibt jedoch keine ACP-Terminals oder strukturierten Datei-Diffs aus.
- Die Weiterleitung von Ausführungsgenehmigungen ist auf den aktiven ACP-Prompt-Durchlauf beschränkt; Genehmigungen aus anderen Gateway-Sitzungen werden ignoriert.
Verwendung
ACP-Client (Debugging)
Verwenden Sie den integrierten ACP-Client, um die Bridge ohne IDE einer Plausibilitätsprüfung zu unterziehen. Er startet die ACP-Bridge und ermöglicht die interaktive Eingabe von Prompts.- Die automatische Genehmigung basiert auf einer Zulassungsliste und gilt nur für vertrauenswürdige zentrale Werkzeug-IDs.
- Die automatische Genehmigung von
readist auf das aktuelle Arbeitsverzeichnis beschränkt (--cwd, wenn festgelegt). - ACP genehmigt nur eng begrenzte schreibgeschützte Klassen automatisch: begrenzte
read-Aufrufe innerhalb des aktiven Arbeitsverzeichnisses sowie schreibgeschützte Suchwerkzeuge (search,web_search,memory_search). Unbekannte/nicht zentrale Werkzeuge, Lesezugriffe außerhalb des Geltungsbereichs, ausführungsfähige Werkzeuge, Steuerungsebenenwerkzeuge, verändernde Werkzeuge und interaktive Abläufe erfordern immer eine ausdrückliche Genehmigung nach Aufforderung. - Das vom Server bereitgestellte
toolCall.kindwird als nicht vertrauenswürdige Metadaten behandelt, nicht als Autorisierungsquelle. - Diese ACP-Bridge-Richtlinie ist von ACPX-Harness-Berechtigungen getrennt. Wenn Sie OpenClaw über das
acpx-Backend ausführen, istplugins.entries.acpx.config.permissionMode=approve-allder „Yolo“-Notfallschalter für diese Harness-Sitzung.
Protokoll-Smoke-Test
Starten Sie für das Debugging auf Protokollebene ein Gateway mit isoliertem Status und steuern Sieopenclaw acp über stdio mit einem ACP-JSON-RPC-Client. Decken Sie initialize, session/new, session/list mit einem absoluten cwd, session/resume, session/close, doppeltem Schließen und fehlendem Fortsetzen ab.
Der Nachweis sollte die angekündigten Lebenszyklusfähigkeiten, eine Gateway-gestützte Sitzungszeile, Aktualisierungsbenachrichtigungen und das Gateway-sessions.list-Protokoll enthalten:
openclaw gateway call sessions.list nicht als einzigen ACP-Nachweis. Dieser CLI-Pfad kann eine Operator-Bereichserweiterung mit einem neuen Token anfordern; die Korrektheit der ACP-Bridge wird durch ACP-stdio-Frames zusammen mit dem Gateway-sessions.list-Protokoll nachgewiesen.
Verwendung
Verwenden Sie ACP, wenn eine IDE (oder ein anderer Client) das Agent Client Protocol spricht und damit eine OpenClaw Gateway-Sitzung steuern soll.- Stellen Sie sicher, dass das Gateway ausgeführt wird (lokal oder entfernt).
- Konfigurieren Sie das Gateway-Ziel (Konfiguration oder Flags).
- Konfigurieren Sie Ihre IDE so, dass sie
openclaw acpüber stdio ausführt.
Agenten auswählen
ACP wählt Agenten nicht direkt aus. Das Routing erfolgt anhand des Gateway-Sitzungsschlüssels. Verwenden Sie agentenspezifische Sitzungsschlüssel, um einen bestimmten Agenten anzusprechen:acp-bridge:<uuid>-Sitzung, sofern Sie den Schlüssel oder die Bezeichnung nicht überschreiben.
Sitzungsspezifische mcpServers werden im Bridge-Modus nicht unterstützt. Wenn ein ACP-Client sie während newSession oder loadSession sendet, gibt die Bridge einen eindeutigen Fehler zurück, anstatt sie stillschweigend zu ignorieren.
Wenn ACPX-gestützte Sitzungen auf OpenClaw-Plugin-Tools oder ausgewählte integrierte Tools wie cron zugreifen sollen, aktivieren Sie die Gateway-seitigen ACPX-MCP-Bridges, anstatt zu versuchen, sitzungsspezifische mcpServers zu übergeben. Siehe ACP-Agenten und MCP-Bridge für OpenClaw-Tools.
Verwendung über acpx (Codex, Claude und andere ACP-Clients)
Wenn ein Coding-Agent wie Codex oder Claude Code über ACP mit Ihrem OpenClaw-Bot kommunizieren soll, verwenden Sie acpx mit dem integrierten Ziel openclaw.
Typischer Ablauf:
- Starten Sie das Gateway und stellen Sie sicher, dass die ACP-Bridge darauf zugreifen kann.
- Richten Sie
acpx openclawaufopenclaw acpaus. - Geben Sie den OpenClaw-Sitzungsschlüssel an, den der Coding-Agent verwenden soll.
acpx openclaw jedes Mal ein bestimmtes Gateway und einen bestimmten Sitzungsschlüssel ansprechen soll, überschreiben Sie den Agentenbefehl openclaw in ~/.acpx/config.json:
Einrichtung des Zed-Editors
Fügen Sie in~/.config/zed/settings.json einen benutzerdefinierten ACP-Agenten hinzu (oder verwenden Sie die Settings-Benutzeroberfläche von Zed):
Sitzungszuordnung
Standardmäßig erhalten ACP-Bridge-Sitzungen einen isolierten Gateway-Sitzungsschlüssel mit dem Präfixacp-bridge:. Diese Bridge-Sitzungen mit normalen Modellen sind synthetisch und temporär: Sie unterliegen der Bereinigung veralteter Einträge und werden nicht als geschützte Oberflächen für menschliche Unterhaltungen behandelt. Um eine bekannte Sitzung wiederzuverwenden, übergeben Sie einen Sitzungsschlüssel oder eine Bezeichnung:
--session <key>: Einen bestimmten Gateway-Sitzungsschlüssel verwenden.--session-label <label>: Eine vorhandene Sitzung anhand ihrer Bezeichnung auflösen.--reset-session: Eine neue Sitzungs-ID für diesen Schlüssel erzeugen (gleicher Schlüssel, neues Transkript).
Optionen
--url <url>: Gateway-WebSocket-URL (standardmäßiggateway.remote.url, wenn konfiguriert).--token <token>: Gateway-Authentifizierungstoken.--token-file <path>: Gateway-Authentifizierungstoken aus einer Datei lesen.--password <password>: Gateway-Authentifizierungspasswort.--password-file <path>: Gateway-Authentifizierungspasswort aus einer Datei lesen.--session <key>: Standardsitzungsschlüssel.--session-label <label>: Aufzulösende Standardsitzungsbezeichnung.--require-existing: Mit einem Fehler abbrechen, wenn der Sitzungsschlüssel oder die Sitzungsbezeichnung nicht vorhanden ist.--reset-session: Den Sitzungsschlüssel vor der ersten Verwendung zurücksetzen.--no-prefix-cwd: Prompts nicht das Arbeitsverzeichnis voranstellen.--provenance <off|meta|meta+receipt>: ACP-Herkunftsmetadaten oder Empfangsbestätigungen einschließen.--verbose, -v: Ausführliche Protokollierung nach stderr.
--tokenund--passwordkönnen auf einigen Systemen in lokalen Prozesslisten sichtbar sein. Verwenden Sie vorzugsweise--token-file/--password-fileoder Umgebungsvariablen (OPENCLAW_GATEWAY_TOKEN,OPENCLAW_GATEWAY_PASSWORD).- Die Auflösung der Gateway-Authentifizierung folgt dem gemeinsamen Vertrag, den auch andere Gateway-Clients verwenden:
- Lokaler Modus: Umgebung (
OPENCLAW_GATEWAY_*), danngateway.auth.*; Rückgriff aufgateway.remote.*nur, wenngateway.auth.*nicht gesetzt ist (eine konfigurierte, aber nicht auflösbare lokale SecretRef schlägt sicher fehl, statt stillschweigend auf eine Alternative zurückzugreifen) - Remote-Modus:
gateway.remote.*mit Rückgriff auf Umgebung/Konfiguration gemäß den Remote-Prioritätsregeln --urlkann sicher überschrieben werden und verwendet keine impliziten Anmeldedaten aus Konfiguration oder Umgebung wieder; übergeben Sie explizit--token/--password(oder die Dateivarianten)
- Lokaler Modus: Umgebung (
Optionen für acp client
--cwd <dir>: Arbeitsverzeichnis für die ACP-Sitzung.--server <command>: ACP-Serverbefehl (Standard:openclaw).--server-args <args...>: Zusätzliche Argumente, die an den ACP-Server übergeben werden.--server-verbose: Ausführliche Protokollierung auf dem ACP-Server aktivieren.--verbose, -v: Ausführliche Client-Protokollierung.openclaw acp clientsetztOPENCLAW_SHELL=acp-clientfür den gestarteten Bridge-Prozess; dies kann für kontextspezifische Shell-/Profilregeln verwendet werden.