Схема вывода для текстового, JSON и stream-JSON форматов
--output-format
в сочетании с --print
. Доступны структурированные форматы для программного использования (json
, stream-json
) и упрощённый текстовый формат для удобного отслеживания прогресса.
--output-format
— stream-json
. Эта опция работает только при печати (--print
) или когда режим печати определяется автоматически (не TTY stdout или передача в конвейере через stdin).json
при успешном завершении выполнения возвращает один объект JSON (с завершающим переводом строки). Дельты и события инструментов не выводятся; текст собирается в итоговый результат.
При ошибке процесс завершается с ненулевым кодом и записывает сообщение об ошибке в stderr. В случае ошибки корректный объект JSON не выводится.
Field | Description |
---|---|
type | Всегда "result" для финальных результатов |
subtype | Всегда "success" для успешных завершений |
is_error | Всегда false для успешных ответов |
duration_ms | Общее время выполнения в миллисекундах |
duration_api_ms | Время запроса к API в миллисекундах (сейчас равно duration_ms ) |
result | Полный текст ответа ассистента (конкатенация всех текстовых дельт) |
session_id | Уникальный идентификатор сеанса |
request_id | Необязательный идентификатор запроса (может быть опущен) |
stream-json
генерирует JSON, разделенный переводами строк (NDJSON). Каждая строка содержит один JSON-объект, представляющий событие в реальном времени во время выполнения.
Поток завершается терминальным событием result
при успешном выполнении. При ошибке процесс завершается с ненулевым кодом, и поток может завершиться досрочно без терминального события; сообщение об ошибке записывается в stderr.
tools
и mcp_servers
.message.content[].text
по порядку, чтобы восстановить полный ответ ассистента.tool_call.readToolCall.args
содержит { "path": "file.txt" }
tool_call.readToolCall.result.success
содержит метаданные файла и содержимоеtool_call.writeToolCall.args
содержит { "path": "file.txt", "fileText": "content...", "toolCallId": "id" }
tool_call.writeToolCall.result.success
содержит { "path": "/absolute/path", "linesCreated": 19, "fileSize": 942 }
tool_call.function
с { "name": "tool_name", "arguments": "..." }
text
предоставляет упрощённый, удобочитаемый поток действий агента. Вместо детализированных JSON-событий он выводит короткие текстовые описания того, что агент делает в реальном времени.
Этот формат удобен для мониторинга прогресса агента без накладных расходов на парсинг структурированных данных, что делает его идеальным для логирования, отладки или простого трекинга прогресса.
\n
thinking
подавляются в режиме печати и не будут отображаться ни в одном из форматов выводаassistant
, чтобы восстановить полный ответ