Schéma de sortie pour les formats texte, JSON et stream-JSON
--output-format
lorsqu’elle est utilisée avec --print
. Ces formats incluent des formats structurés pour un usage programmatique (json
, stream-json
) et un format texte simplifié pour un suivi de progression lisible.
--output-format
par défaut est stream-json
. Cette option n’est valable qu’en mode impression (--print
) ou lorsque ce mode est déduit (stdout non TTY ou stdin acheminé via un pipe).json
émet un unique objet JSON (suivi d’un saut de ligne) quand l’exécution se termine avec succès. Les deltas et les événements d’outils ne sont pas émis ; le texte est agrégé dans le résultat final.
En cas d’échec, le processus se termine avec un code non nul et écrit un message d’erreur sur stderr. Aucun objet JSON bien formé n’est émis en cas d’échec.
Champ | Description |
---|---|
type | Toujours "result" pour les résultats finaux |
subtype | Toujours "success" pour les exécutions réussies |
is_error | Toujours false pour les réponses réussies |
duration_ms | Temps d’exécution total en millisecondes |
duration_api_ms | Temps de requête API en millisecondes (actuellement égal à duration_ms ) |
result | Texte complet de la réponse de l’assistant (concaténation de tous les deltas de texte) |
session_id | Identifiant de session unique |
request_id | Identifiant de requête optionnel (peut être omis) |
stream-json
émet du JSON délimité par des nouvelles lignes (NDJSON). Chaque ligne contient un seul objet JSON représentant un événement en temps réel pendant l’exécution.
Le flux se termine par un événement terminal result
en cas de succès. En cas d’échec, le processus se termine avec un code non-zéro et le flux peut se terminer prématurément sans événement terminal ; un message d’erreur est écrit sur stderr.
tools
et mcp_servers
pourront être ajoutés à cet événement.message.content[].text
dans l’ordre pour reconstituer la réponse complète de l’assistant.tool_call.readToolCall.args
contient { "path": "file.txt" }
tool_call.readToolCall.result.success
contient les métadonnées et le contenu du fichiertool_call.writeToolCall.args
contient { "path": "file.txt", "fileText": "content...", "toolCallId": "id" }
tool_call.writeToolCall.result.success
contient { "path": "/absolute/path", "linesCreated": 19, "fileSize": 942 }
tool_call.function
avec { "name": "tool_name", "arguments": "..." }
text
fournit un flux simplifié et lisible par des humains des actions de l’agent. Au lieu d’événements JSON détaillés, il produit des descriptions textuelles concises de ce que l’agent fait en temps réel.
Ce format est utile pour suivre l’avancement de l’agent sans le coût de l’analyse de données structurées, ce qui le rend idéal pour la journalisation, le débogage ou un simple suivi de progression.
\n
thinking
sont supprimés en mode impression et n’apparaîtront dans aucun des deux formats de sortieassistant
pour reconstruire la réponse complète