mirror of
https://github.com/deepseek-ai/awesome-deepseek-integration.git
synced 2026-11-05 09:07:29 +00:00
[GH-ISSUE #738] Responses API: reasoning streams only as response.reasoning_text.delta, no reasoning_summary events — breaks GPT-style collapsible thinking in OpenAI Codex #204
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/awesome-deepseek-integration#204
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @zhyuzhyu on GitHub (Sep 18, 2026).
Original GitHub issue: https://github.com/deepseek-ai/awesome-deepseek-integration/issues/738
Summary
POST /v1/responsesstreams reasoning only throughresponse.reasoning_text.delta/response.reasoning_text.done. It never emits OpenAI-style reasoning summary events (response.reasoning_summary_part.added/.done,response.reasoning_summary_text.delta/.done), regardless of thereasoning.summaryrequest parameter.This matters for clients that drive their "thinking" UI from summary events. Concrete example: the official Codex integration template ships a model catalog with
supports_reasoning_summaries: true/reasoning_summary_format: "experimental", but because the summary events never arrive, the OpenAI Codex desktop app falls back to raw-reasoning rendering and collapses each reasoning block as soon as its item completes, instead of keeping the thinking section expanded until the final answer (the behavior it has with models that emit summary events). Tracked upstream as openai/codex#46360.Evidence
Streaming request with
"reasoning": {"effort": "high", "summary": "auto"}tohttps://api.deepseek.com/responses(modeldeepseek-flash) produced only:No
response.reasoning_summary_*events in any combination tested (stream / non-stream;summary=auto/concise/detailed).Also noted while testing:
reasoning.summaryaccepts onlyauto/concise/detailed;"none"is rejected withunknown variant 'none', so OpenAI-compatible clients that default tononemust omit the field entirely.Request
response.reasoning_summary_*events (derived summaries, or a compacted reasoning trace) for Responses-API compatibility, orHappy to provide full SSE captures if useful.