===== 协议转换测试(渠道仅支持 chat, mock 上游) =====
时间: 2026-08-16 04:53:42
渠道 conv2 formats=[chat], 客户端用 responses/messages 时网关转成 chat

----- 0. Chat 直通(基准) -----
{"choices":[{"finish_reason":"stop","index":0,"message":{"content":"你好，这是 mock 上游的回复。","role":"assistant"}}],"id":"chatcmpl-mock123","model":"conv-test2","object":"chat.completion","usage":{"completion_tokens":9,"prompt_tokens":12,"total_tokens":21}}



----- 1. Responses 非流式 -----
{"id":"resp_mock123","model":"conv-test2","object":"response","output":[{"content":[{"text":"你好，这是 mock 上游的回复。","type":"output_text"}],"role":"assistant","type":"message"}],"status":"completed","usage":{"input_tokens":12,"output_tokens":9,"total_tokens":21}}


----- 2. Responses 流式(应带 usage) -----
event: response.output_text.delta
data: {"content_index":0,"delta":"你好","item_id":"msg_1","output_index":0,"type":"response.output_text.delta"}

event: response.output_text.delta
data: {"content_index":0,"delta":"，这是","item_id":"msg_1","output_index":0,"type":"response.output_text.delta"}

event: response.output_text.delta
data: {"content_index":0,"delta":" mock ","item_id":"msg_1","output_index":0,"type":"response.output_text.delta"}

event: response.completed
data: {"response":{"id":"resp_stream","model":"conv-test2","object":"response","status":"completed","usage":{"completion_tokens":9,"prompt_tokens":12,"total_tokens":21}},"type":"response.completed"}




----- 3. Messages 非流式 -----
{"content":[{"text":"你好，这是 mock 上游的回复。","type":"text"}],"id":"msg_mock123","model":"conv-test2","role":"assistant","stop_reason":"end_turn","type":"message","usage":{"input_tokens":12,"output_tokens":9}}


----- 4. Messages 流式 -----
event: message_start
data: {"message":{"content":[],"id":"msg_mock123","model":"conv-test2","role":"assistant","type":"message","usage":{"input_tokens":0,"output_tokens":0}},"type":"message_start"}

event: content_block_start
data: {"content_block":{"text":"","type":"text"},"index":0,"type":"content_block_start"}

event: content_block_delta
data: {"delta":{"text":"你好","type":"text_delta"},"index":0,"type":"content_block_delta"}

event: content_block_delta
data: {"delta":{"text":"，这是","type":"text_delta"},"index":0,"type":"content_block_delta"}

event: content_block_delta
data: {"delta":{"text":" mock ","type":"text_delta"},"index":0,"type":"content_block_delta"}

event: message_delta
data: {"delta":{"stop_reason":"end_turn","stop_sequence":null},"type":"message_delta","usage":{"completion_tokens":9,"prompt_tokens":12,"total_tokens":21}}

event: content_block_stop
data: {"index":0,"type":"content_block_stop"}

event: message_stop
data: {"type":"message_stop"}




