From 13fadd54a493368f2ca24e6e659721c3ba15299c Mon Sep 17 00:00:00 2001 From: passer12 <2712971437@qq.com> Date: Mon, 18 May 2026 11:04:13 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=B5=84=E6=BA=90=20URL=20=E8=AF=B7=E6=B1=82=E6=B3=84=E9=9C=B2?= =?UTF-8?q?=20Grok=20=E8=AE=A4=E8=AF=81=E5=A4=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/dataplane/reverse/transport/asset_upload.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/dataplane/reverse/transport/asset_upload.py b/app/dataplane/reverse/transport/asset_upload.py index 891594424..43388a917 100644 --- a/app/dataplane/reverse/transport/asset_upload.py +++ b/app/dataplane/reverse/transport/asset_upload.py @@ -25,6 +25,14 @@ _UPLOAD_URL = "https://grok.com/rest/app-chat/upload-file" _X_USER_ID_RE = re.compile(r"(?:^|;\s*)x-userid=([^;]+)") +_URL_FETCH_HEADERS = { + "Accept": "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", + "User-Agent": ( + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + "AppleWebKit/537.36 (KHTML, like Gecko) " + "Chrome/124.0.0.0 Safari/537.36" + ), +} # Global semaphore — limits concurrent upload_file() calls across all requests. # Initialised lazily on first call so the event loop is guaranteed to be running. @@ -186,10 +194,13 @@ async def upload_from_input(token: str, file_input: str) -> tuple[str, str]: proxy = await get_proxy_runtime() lease = await proxy.acquire() try: - headers = build_http_headers(token, lease=lease) kwargs = build_session_kwargs(lease=lease) async with ResettableSession(**kwargs) as session: - resp = await session.get(file_input, headers=headers, timeout=30.0) + resp = await session.get( + file_input, + headers=_URL_FETCH_HEADERS, + timeout=30.0, + ) raw = resp.content if resp.status_code != 200: await proxy.feedback( From 430920f3dfa3ae629ae58eb821224f0f047b293d Mon Sep 17 00:00:00 2001 From: passer12 <2712971437@qq.com> Date: Mon, 18 May 2026 11:18:35 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=B5=84=E6=BA=90=20URL=20=E8=AF=B7=E6=B1=82=E6=B3=84=E9=9C=B2?= =?UTF-8?q?=20Grok=20=E8=AE=A4=E8=AF=81=E5=A4=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/dataplane/reverse/transport/asset_upload.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/dataplane/reverse/transport/asset_upload.py b/app/dataplane/reverse/transport/asset_upload.py index 43388a917..3278a5824 100644 --- a/app/dataplane/reverse/transport/asset_upload.py +++ b/app/dataplane/reverse/transport/asset_upload.py @@ -27,11 +27,6 @@ _X_USER_ID_RE = re.compile(r"(?:^|;\s*)x-userid=([^;]+)") _URL_FETCH_HEADERS = { "Accept": "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", - "User-Agent": ( - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " - "AppleWebKit/537.36 (KHTML, like Gecko) " - "Chrome/124.0.0.0 Safari/537.36" - ), } # Global semaphore — limits concurrent upload_file() calls across all requests.