From e38cd6819b02048c915a26e5f4aab59bb386189a Mon Sep 17 00:00:00 2001 From: hank9999 Date: Wed, 24 Dec 2025 01:11:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(api):=20=E4=BC=98=E5=8C=96=E5=AD=97?= =?UTF-8?q?=E8=8A=82=E6=B5=81=E8=BF=AD=E4=BB=A3=E5=99=A8=E4=BB=A5=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=87=AA=E5=8A=A8=E8=A7=A3=E5=8E=8B=20gzip=20(#39)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/handlers/base/cli_handler_base.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/api/handlers/base/cli_handler_base.py b/src/api/handlers/base/cli_handler_base.py index 0ceccea..eb189e8 100644 --- a/src/api/handlers/base/cli_handler_base.py +++ b/src/api/handlers/base/cli_handler_base.py @@ -476,8 +476,8 @@ class CliMessageHandlerBase(BaseMessageHandler): stream_response.raise_for_status() - # 使用字节流迭代器(避免 aiter_lines 的性能问题) - byte_iterator = stream_response.aiter_raw() + # 使用字节流迭代器(避免 aiter_lines 的性能问题, aiter_bytes 会自动解压 gzip/deflate) + byte_iterator = stream_response.aiter_bytes() # 预读第一个数据块,检测嵌套错误(HTTP 200 但响应体包含错误) prefetched_chunks = await self._prefetch_and_check_embedded_error( @@ -531,7 +531,7 @@ class CliMessageHandlerBase(BaseMessageHandler): # 检查是否需要格式转换 needs_conversion = self._needs_format_conversion(ctx) - async for chunk in stream_response.aiter_raw(): + async for chunk in stream_response.aiter_bytes(): # 在第一次输出数据前更新状态为 streaming if not streaming_status_updated: self._update_usage_to_streaming_with_ctx(ctx)