mudler / mudler/LocalAI

reasoning extraction only happens at end of stream

Open
#9,658 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/api bug unconfirmed waiting-from-reporter
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.