Ir para o conteúdo

Eventos da execução

O stream SSE narra o run em tempo real: formato, níveis de verbosidade e o catálogo de eventos.

Atualizado em 10 de ago. de 2026

Cada linha do stream é um evento JSON no formato SSE: data: {...} seguido de linha em branco. Linhas começando com : são comentários de keepalive (a cada 15 s) — ignore-as no parser.

Verbosidade

O campo events do request controla quanto detalhe chega. minimal reduziu ~87% dos bytes num run típico — útil quando você só quer a resposta:

NívelO que chega
full (padrão)Tudo — ideal para UIs que mostram o progresso passo a passo.
messagesFalas dos agentes, ferramentas, fronteiras de nó e iterações de loop.
minimalSó o essencial: texto da resposta, stopped, error e done.

Fluxo do workflow

EventoQuandoCampos úteis
threadPrimeiro evento de todo run.thread_id — guarde para continuar e parar.
workflow_node_startUm nó começou.node_id, node_type, node_name
workflow_node_endUm nó terminou.successfalse traz error com a causa.
workflow_loopIteração de um while.iteration, path (loop/exit)
workflow_stoppedExecução parada a seu pedido.node_id do próximo nó que rodaria
workflow_errorUm nó falhou e o run vai encerrar.error, node_id
flow_stateEstado de captura de fluxo ao final do turno.pinned_node, pinned_agent
doneFim do run.usage — custo, tokens e tempo consolidados

Conversa

EventoQuandoCampos úteis
agent_messageUm agente do workflow falou (mensagem inteira).data.content, data.sender.name, data.context.node_id
chat_chunkFragmento de texto em streaming (caminho simples).data.content

Ferramentas

EventoQuandoCampos úteis
tool_useO agente decidiu chamar uma ferramenta.tool_name, tool_input
tool_executingA ferramenta está rodando.data.tool_name, data.status
tool_resultResultado devolvido ao agente.tool_name, output

Multi-agente

EventoQuandoCampos úteis
debate_start / debate_round / debate_endFases de um nó de debate.data.round, participantes
vote_castUm votante votou.data.vote, data.voter_index, sender.name
vote_resultResultado da votação.data.votes, data.winner, data.has_majority
sequential_start / sequential_endPipeline sequencial de agentes.data.agent_index
routing_decisionUm roteador escolheu o caminho.data.route

Há ainda eventos de atividade fina (search_started, fetch_progress, llm_thinking, processing_final_response…) — todos seguem o mesmo envelope {type, data}. Trate tipos desconhecidos como informativos: novos eventos podem surgir sem aviso.

Um run real, anotado

tribunal do júri — 3 jurados, votação secretajson
data: {"type":"thread","thread_id":"2586cf3b-..."}                    ← guarde
data: {"type":"workflow_node_start","data":{"node_id":"juiz-intro","node_type":"agent"}}
data: {"type":"agent_message","data":{"sender":{"name":"Juiz"},"content":"Apresento o caso..."}}
data: {"type":"workflow_loop","data":{"iteration":1,"path":"loop"}}    ← rodada 1
data: {"type":"workflow_node_start","data":{"node_id":"debate-jur","node_type":"debate"}}
data: {"type":"agent_message","data":{"sender":{"name":"Jurado Conservador"},"content":"..."}}
data: {"type":"vote_cast","data":{"vote":"culpado","voter_index":0}}
data: {"type":"vote_result","data":{"votes":{"culpado":2,"inocente":1},"winner":"culpado"}}
data: {"type":"workflow_loop","data":{"iteration":2,"path":"loop"}}    ← rodada 2
...
data: {"type":"workflow_node_start","data":{"node_id":"veredito","node_type":"agent"}}
data: {"type":"done","usage":{"cost":0.0075,"input_tokens":18240,"output_tokens":3105}}
Esta página foi útil?