===== 协议转换测试(渠道仅支持 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"}