reasoning extraction only happens at end of stream
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 49.2k
- Forks
- 4.5k
- Avg merge
- 1d 3m
- Merged PRs (30d)
- 239
Description
LocalAI version:
localai/localai:v4.1.3-gpu-vulkan
Environment, CPU architecture, OS, and Version:
Intel i7 pure CPU, container on Linux NixOS
Describe the bug
When streaming a Responses API response, the thinking monologue shows up as message to user (type: message), and only gets moved to a reasoning output item (type: reasoning) when the stream completes.
To Reproduce
$ curl -N http://localhost:11435/v1/responses \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-0.6b",
"input": "hello",
"stream": true
}'
event: response.created
data: {"type":"response.created","sequence_number":0,"response":{"id":"resp_036a28c3-a59e-4c50-a415-4f59d18c3b8f","object":"response","created_at":1777915958,"completed_at":null,"status":"in_progress","model":"qwen3-0.6b","output":[],"error":null,"incomplete_details":null,"previous_response_id":null,"instructions":null,"tools":[],"tool_choice":"none","parallel_tool_calls":true,"max_tool_calls":null,"temperature":1,"top_p":1,"presence_penalty":0,"frequency_penalty":0,"top_logprobs":0,"max_output_tokens":null,"text":{"format":{"type":"text"}},"truncation":"auto","reasoning":null,"usage":null,"metadata":{},"store":true,"background":false,"service_tier":"default","safety_identifier":null,"prompt_cache_key":null}}
event: response.in_progress
data: {"type":"response.in_progress","sequence_number":1,"response":{"id":"resp_036a28c3-a59e-4c50-a415-4f59d18c3b8f","object":"response","created_at":1777915958,"completed_at":null,"status":"in_progress","model":"qwen3-0.6b","output":[],"error":null,"incomplete_details":null,"previous_response_id":null,"instructions":null,"tools":[],"tool_choice":"none","parallel_tool_calls":true,"max_tool_calls":null,"temperature":1,"top_p":1,"presence_penalty":0,"frequency_penalty":0,"top_logprobs":0,"max_output_tokens":null,"text":{"format":{"type":"text"}},"truncation":"auto","reasoning":null,"usage":null,"metadata":{},"store":true,"background":false,"service_tier":"default","safety_identifier":null,"prompt_cache_key":null}}
event: response.output_item.added
data: {"type":"response.output_item.added","sequence_number":2,"output_index":0,"item":{"type":"message","id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","status":"in_progress","role":"assistant","content":[],"arguments":"","summary":[]}}
event: response.content_part.added
data: {"type":"response.content_part.added","sequence_number":3,"output_index":0,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","part":{"type":"output_text","text":"","annotations":[],"logprobs":[]}}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":4,"output_index":0,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"\u003cthink\u003e","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":5,"output_index":0,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"\u003cthink\u003e","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":6,"output_index":0,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"\n","logprobs":[]}
event: response.output_item.added
data: {"type":"response.output_item.added","sequence_number":7,"output_index":1,"item":{"type":"reasoning","id":"reasoning_f25cb933-7c9b-46d1-9587-2f14fa1d2133","status":"in_progress","arguments":"","summary":[]}}
event: response.content_part.added
data: {"type":"response.content_part.added","sequence_number":8,"output_index":1,"content_index":0,"item_id":"reasoning_f25cb933-7c9b-46d1-9587-2f14fa1d2133","part":{"type":"output_text","text":"","annotations":[],"logprobs":[]}}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":9,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"okay","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":10,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":",","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":11,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" the","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":12,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" user","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":13,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" just","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":14,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" said","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":15,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" hello","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":16,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":".","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":17,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" I","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":18,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" need","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":19,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" to","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":20,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" respond","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":21,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" appropriately","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":22,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":".","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":23,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" Let","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":24,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" me","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":25,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" make","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":26,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" sure","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":27,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" I","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":28,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"'m","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":29,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" not","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":30,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" making","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":31,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" up","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":32,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" anything","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":33,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":".","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":34,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" They","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":35,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" might","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":36,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" just","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":37,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" be","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":38,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" testing","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":39,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" or","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":40,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" trying","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":41,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" to","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":42,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" interact","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":43,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":".","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":44,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" I","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":45,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" should","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":46,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" keep","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":47,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" it","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":48,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" friendly","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":49,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" and","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":50,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" open","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":51,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"-ended","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":52,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":".","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":53,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" Maybe","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":54,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" say","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":55,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" something","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":56,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" like","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":57,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" \"","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":58,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"Hello","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":59,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"!","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":60,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" How","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":61,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" can","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":62,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" I","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":63,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" help","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":64,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" you","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":65,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" today","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":66,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"?\"","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":67,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" to","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":68,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" encourage","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":69,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" further","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":70,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" conversation","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":71,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":".","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":72,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" Keep","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":73,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" it","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":74,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" simple","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":75,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" and","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":76,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" natural","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":77,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":".\n","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":78,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"\u003c/think\u003e","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":79,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"\n\n","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":80,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"Hello","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":81,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"!","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":82,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" How","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":83,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" can","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":84,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" I","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":85,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" help","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":86,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" you","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":87,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" today","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":88,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"?","logprobs":[]}
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":89,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" 😊","logprobs":[]}
event: response.output_text.done
data: {"type":"response.output_text.done","sequence_number":90,"output_index":1,"content_index":0,"item_id":"reasoning_f25cb933-7c9b-46d1-9587-2f14fa1d2133","text":"okay, the user just said hello. I need to respond appropriately. Let me make sure I'm not making up anything. They might just be testing or trying to interact. I should keep it friendly and open-ended. Maybe say something like \"Hello! How can I help you today?\" to encourage further conversation. Keep it simple and natural.","logprobs":[]}
event: response.content_part.done
data: {"type":"response.content_part.done","sequence_number":91,"output_index":1,"content_index":0,"item_id":"reasoning_f25cb933-7c9b-46d1-9587-2f14fa1d2133","part":{"type":"output_text","text":"okay, the user just said hello. I need to respond appropriately. Let me make sure I'm not making up anything. They might just be testing or trying to interact. I should keep it friendly and open-ended. Maybe say something like \"Hello! How can I help you today?\" to encourage further conversation. Keep it simple and natural.","annotations":[],"logprobs":[]}}
event: response.output_item.done
data: {"type":"response.output_item.done","sequence_number":92,"output_index":1,"item":{"type":"reasoning","id":"reasoning_f25cb933-7c9b-46d1-9587-2f14fa1d2133","status":"completed","content":[{"type":"output_text","text":"okay, the user just said hello. I need to respond appropriately. Let me make sure I'm not making up anything. They might just be testing or trying to interact. I should keep it friendly and open-ended. Maybe say something like \"Hello! How can I help you today?\" to encourage further conversation. Keep it simple and natural.","annotations":[],"logprobs":[]}],"arguments":"","summary":[]}}
event: response.output_text.done
data: {"type":"response.output_text.done","sequence_number":93,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","text":"\n\nHello! How can I help you today? 😊","logprobs":[]}
event: response.content_part.done
data: {"type":"response.content_part.done","sequence_number":94,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","part":{"type":"output_text","text":"\n\nHello! How can I help you today? 😊","annotations":[],"logprobs":[]}}
event: response.output_item.done
data: {"type":"response.output_item.done","sequence_number":95,"output_index":1,"item":{"type":"message","id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","status":"completed","role":"assistant","content":[{"type":"output_text","text":"\n\nHello! How can I help you today? 😊","annotations":[],"logprobs":[]}],"arguments":"","summary":[]}}
event: response.completed
data: {"type":"response.completed","sequence_number":96,"response":{"id":"resp_036a28c3-a59e-4c50-a415-4f59d18c3b8f","object":"response","created_at":1777915958,"completed_at":1777915960,"status":"completed","model":"qwen3-0.6b","output":[{"type":"reasoning","id":"reasoning_f25cb933-7c9b-46d1-9587-2f14fa1d2133","status":"completed","content":[{"type":"output_text","text":"okay, the user just said hello. I need to respond appropriately. Let me make sure I'm not making up anything. They might just be testing or trying to interact. I should keep it friendly and open-ended. Maybe say something like \"Hello! How can I help you today?\" to encourage further conversation. Keep it simple and natural.","annotations":[],"logprobs":[]}],"arguments":"","summary":[]}],"error":null,"incomplete_details":null,"previous_response_id":null,"instructions":null,"tools":[],"tool_choice":"none","parallel_tool_calls":true,"max_tool_calls":null,"temperature":1,"top_p":1,"presence_penalty":0,"frequency_penalty":0,"top_logprobs":0,"max_output_tokens":null,"text":{"format":{"type":"text"}},"truncation":"auto","reasoning":null,"usage":{"input_tokens":0,"output_tokens":0,"total_tokens":0,"input_tokens_details":{"cached_tokens":0},"output_tokens_details":{"reasoning_tokens":81}},"metadata":{},"store":true,"background":false,"service_tier":"default","safety_identifier":null,"prompt_cache_key":null}}
data: [DONE]
Expected behavior
This message, and the following until the :
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":9,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":"okay","logprobs":[]}
should have gone to the reasoning_f25cb933-7c9b-46d1-9587-2f14fa1d2133 output item in the first place.
Now that part only happens once the whole response completes (not even at end of reasoning):
event: response.output_text.delta
data: {"type":"response.output_text.delta","sequence_number":89,"output_index":1,"content_index":0,"item_id":"msg_16619cec-f4f3-4fca-91d1-1a4a1e18b85e","delta":" 😊","logprobs":[]}
event: response.output_text.done
data: {"type":"response.output_text.done","sequence_number":90,"output_index":1,"content_index":0,"item_id":"reasoning_f25cb933-7c9b-46d1-9587-2f14fa1d2133","text":"okay, the user just said hello. I need to respond appropriately. Let me make sure I'm not making up anything. They might just be testing or trying to interact. I should keep it friendly and open-ended. Maybe say something like \"Hello! How can I help you today?\" to encourage further conversation. Keep it simple and natural.","logprobs":[]}
Logs
Additional context
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the /v1/responses streaming entry point and trace how streamed content is classified into message and reasoning output items. Reproduce the curl request with stream enabled, then verify that reasoning deltas are emitted as reasoning output during the stream rather than being moved only when the response completes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100