Skip to content

/api/v1/responses streaming (SSE) omits required output_index/content_index fields, breaking OpenAI-Responses-compatible clients #3607

Open

Description

@yonggang-xiao

Platform

Linux/Ubuntu

Lemonade Version

11.9.0

GPU / APU Model

Radeon AI PRO R9700

Component

llama.cpp

Bug Description

Summary

When calling POST /api/v1/responses with "stream": true, the returned SSE events do not include the output_index field (on response.output_item.* and response.reasoning_text.* events) or the content_index field (on response.content_part.* / response.output_text.* events) that the OpenAI Responses API specifies. Clients that rely on these indices to place streamed deltas into the correct output item/content part (instead of relying purely on event ordering) cannot unambiguously associate deltas with items, and reject the stream as containing "overlapping" or "unindexed" output items.

Non-streaming /api/v1/responses ("stream": false) is unaffected — the final response payload is well-formed.

Environment

  • Lemonade server, OpenAI Responses-compatible endpoint: http://<host>:<port>/api/v1/responses
  • Model: Qwen3.8-27B-GGUF (llama.cpp-backed GGUF model)
  • Client: OpenClaw, api: "openai-responses" provider adapter

Steps to Reproduce

curl -sN -X POST http://:/api/v1/responses
-H "Authorization: Bearer ***"
-H 'Content-Type: application/json'
-d '{
"model": "Qwen3.8-27B-GGUF",
"input": "Reply with exactly the word: ok",
"stream": true,
"max_output_tokens": 64
}'

Expected vs Actual Behavior

No response

Log Output

Additional Context

No response

Activity

  1. yonggang-xiao commented on Sep 23, 2026

    @yonggang-xiao
    Author

    Since lemonade just proxies llama-server's stream, the real fix needs to land upstream in llama.cpp (most likely via #26013) and then get pulled into lemonade's bundled llama.cpp version. Might be worth linking this issue to #19138/#26013 so it can be tracked/closed once the upstream fix ships, or considered a "won't fix here" pointing upstream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area::apiHTTP REST API surface and route handlersbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions