Ausgabeschema für Text-, JSON- und Stream-JSON-Formate
--output-format
in Kombination mit --print
mehrere Ausgabeformate. Dazu zählen strukturierte Formate für die programmgesteuerte Nutzung (json
, stream-json
) sowie ein vereinfachtes Textformat zur gut lesbaren Fortschrittsverfolgung.
--output-format
ist stream-json
. Diese Option ist nur gültig beim Drucken (--print
) oder wenn der Druckmodus inferiert wird (nicht-TTY-stdout oder per Pipe zugeführtes stdin).json
-Ausgabeformat gibt ein einzelnes JSON-Objekt (gefolgt von einem Zeilenumbruch) aus, wenn der Run erfolgreich abgeschlossen wurde. Deltas und Tool-Events werden nicht ausgegeben; der Text wird zum finalen Ergebnis zusammengeführt.
Bei einem Fehler beendet sich der Prozess mit einem von null verschiedenen Exit-Code und schreibt eine Fehlermeldung nach stderr. In Fehlerfällen wird kein wohlgeformtes JSON-Objekt ausgegeben.
Field | Description |
---|---|
type | Immer "result" für terminale Ergebnisse |
subtype | Immer "success" für erfolgreiche Runs |
is_error | Immer false für erfolgreiche Responses |
duration_ms | Gesamtausführungszeit in Millisekunden |
duration_api_ms | API-Request-Zeit in Millisekunden (derzeit identisch zu duration_ms ) |
result | Vollständiger Assistant-Response-Text (Konkatenation aller Text-Deltas) |
session_id | Eindeutige Session-ID |
request_id | Optionale Request-ID (kann entfallen) |
stream-json
Ausgabeformat gibt newline-delimited JSON (NDJSON) aus. Jede Zeile enthält ein einzelnes JSON-Objekt, das ein Echtzeit-Event während der Ausführung repräsentiert.
Der Stream endet mit einem terminalen result
Event bei Erfolg. Bei einem Fehler beendet sich der Prozess mit einem Non-Zero-Code und der Stream kann vorzeitig ohne ein terminales Event enden; eine Fehlermeldung wird nach stderr geschrieben.
tools
und mcp_servers
können zu diesem Event hinzugefügt werden.message.content[].text
Werte in der richtigen Reihenfolge, um die vollständige Assistant-Antwort zu rekonstruieren.tool_call.readToolCall.args
enthält { "path": "file.txt" }
tool_call.readToolCall.result.success
enthält Datei-Metadaten und Inhalttool_call.writeToolCall.args
enthält { "path": "file.txt", "fileText": "content...", "toolCallId": "id" }
tool_call.writeToolCall.result.success
enthält { "path": "/absolute/path", "linesCreated": 19, "fileSize": 942 }
tool_call.function
Struktur mit { "name": "tool_name", "arguments": "..." }
verwendentext
-Ausgabeformat liefert einen vereinfachten, gut lesbaren Stream von Agent-Aktionen. Statt detaillierter JSON-Events gibt es prägnante Textbeschreibungen dessen aus, was der Agent in Echtzeit tut.
Dieses Format ist hilfreich, um den Agent-Fortschritt zu überwachen, ohne den Overhead beim Parsen strukturierter Daten – ideal für Logging, Debugging oder simples Fortschritts-Tracking.
\n
terminiert wirdthinking
Events werden im Print-Modus unterdrückt und erscheinen in keinem der beiden Ausgabeformateassistant
Message-Deltas, um die vollständige Antwort zu rekonstruieren