Skip to content

[Feedback]: "Browser crashed and cannot auto-recover" and "WebSocket connection not established within timeout period" #73

@profucius

Description

@profucius

Deployment Platform

Docker (Compose)

Version

v0.6.3

Client/Tool

No response

API Endpoint

OpenAI

Issue/Request Description

I've installed AIStudioToAPI using the Docker Compose method successfully. I've attached an account in the Web UI via the VNC method. I can pull chat models via my chat tool (Cherry Studio). I send a new chat, wait about a minute or less, and get the following error. This error happens regardless of restarting the container, or trying another chat tool. I have tried re-deploying the docker compose into a completely fresh setup, the same issue persists.

AI_APICallError: Service temporarily unavailable: Browser crashed and cannot auto-recover.
and
WebSocket connection not established within timeout period

Logs (Optional)

This is the log output in the Web UI:

[INFO] 2026-02-18 20:38:35.618 [UTC] [ProxySystem] - [Entrypoint] Received a request: POST /v1/chat/completions
[INFO] 2026-02-18 20:38:35.619 [UTC] [ProxySystem] - [Auth] API Key verification passed (from: 192.168.1.135)
[ERROR] 2026-02-18 20:38:35.619 [UTC] [ProxySystem] - ❌ [System] Browser WebSocket connection disconnected! Possible process crash. Attempting recovery...
[INFO] 2026-02-18 20:38:35.619 [UTC] [ProxySystem] - [System] Set isSystemBusy=true for direct recovery to account #0
[INFO] 2026-02-18 20:38:35.791 [UTC] [ProxySystem] - [Auth Update] 💾 Successfully updated auth credentials for account #0
[INFO] 2026-02-18 20:38:35.791 [UTC] [ProxySystem] - [Browser] Stopped background tasks (Scavenger) for old page.
[INFO] 2026-02-18 20:38:35.791 [UTC] [ProxySystem] - [Browser] Closing old API browser context...
[INFO] 2026-02-18 20:38:35.805 [UTC] [ProxySystem] - [Browser] Old API context closed.
[INFO] 2026-02-18 20:38:35.805 [UTC] [ProxySystem] - ==================================================
[INFO] 2026-02-18 20:38:35.805 [UTC] [ProxySystem] - 🔄 [Browser] Creating new API browser context for account #0
[INFO] 2026-02-18 20:38:35.805 [UTC] [ProxySystem] -    • Auth source: File auth-0.json
[INFO] 2026-02-18 20:38:35.806 [UTC] [ProxySystem] - ==================================================
[INFO] 2026-02-18 20:38:36.499 [UTC] [ProxySystem] - [Browser] ⚡ Forced window wake-up via JS focus.
[INFO] 2026-02-18 20:38:36.499 [UTC] [ProxySystem] - [Browser] Navigating to target page...
[INFO] 2026-02-18 20:38:36.571 [UTC] [ProxySystem] - [Browser] Privacy protection layer active: ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 Ti Direct3D11 vs_5_0 ps_5_0, D3D11)
[INFO] 2026-02-18 20:38:36.580 [UTC] [ProxySystem] - [Browser] Privacy protection layer active: ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 Ti Direct3D11 vs_5_0 ps_5_0, D3D11)
[INFO] 2026-02-18 20:38:37.351 [UTC] [ProxySystem] - [Browser] Page loaded.
[INFO] 2026-02-18 20:38:38.556 [UTC] [ProxySystem] - [Browser] ✅ Executed realistic page activation (Random -> 1,1 Click).
[INFO] 2026-02-18 20:38:41.707 [UTC] [ProxySystem] - [Browser] [Diagnostic] URL: https://aistudio.google.com/u/0/apps/bundled/blank?showPreview=true&showAssistant=true
[INFO] 2026-02-18 20:38:41.708 [UTC] [ProxySystem] - [Browser] [Diagnostic] Title: "Empty | Google AI Studio"
[INFO] 2026-02-18 20:38:41.708 [UTC] [ProxySystem] - [Browser] 🔍 Starting intelligent popup detection (max 6s)...
[INFO] 2026-02-18 20:38:44.274 [UTC] [ProxySystem] - [Browser] ✅ Popup detection complete (6 iterations, 0 popups handled)
[INFO] 2026-02-18 20:38:44.274 [UTC] [ProxySystem] - [Browser] Preparing UI interaction, forcefully removing all possible overlay layers...
[INFO] 2026-02-18 20:38:44.277 [UTC] [ProxySystem] - [Browser] (Step 1/5) Preparing to click "Code" button...
[INFO] 2026-02-18 20:38:44.277 [UTC] [ProxySystem] -   [Attempt 1/15] Cleaning overlay layers and clicking...
[INFO] 2026-02-18 20:38:44.778 [UTC] [ProxySystem] - [Browser] Trying to locate "Code" entry point using smart selectors...
[INFO] 2026-02-18 20:38:44.782 [UTC] [ProxySystem] - [Browser] ✅ Smart match: "button:text("Code")", clicking...
[INFO] 2026-02-18 20:38:44.819 [UTC] [ProxySystem] -   ✅ Click successful!
[INFO] 2026-02-18 20:38:44.819 [UTC] [ProxySystem] - [Browser] (Step 2/5) "Code" button clicked successfully, waiting for editor to become visible...
[INFO] 2026-02-18 20:38:44.851 [UTC] [ProxySystem] - [Browser] (Cleanup #2) Preparing to click editor, forcefully removing all possible overlay layers again...
[INFO] 2026-02-18 20:38:45.102 [UTC] [ProxySystem] - [Browser] (Step 3/5) Editor displayed, focusing and pasting script...
[INFO] 2026-02-18 20:38:45.187 [UTC] [ProxySystem] - [Browser] (Step 4/5) Script pasted.
[INFO] 2026-02-18 20:38:45.187 [UTC] [ProxySystem] - [Browser] (Step 5/5) Clicking "Preview" button to activate script...
[INFO] 2026-02-18 20:38:45.273 [UTC] [ProxySystem] - [Browser] ✅ UI interaction complete, script is now running.
[INFO] 2026-02-18 20:38:45.273 [UTC] [ProxySystem] - [Browser] ⚡ Sending active trigger request to Launch flow...
[INFO] 2026-02-18 20:38:45.438 [UTC] [ProxySystem] - [Browser] 🛡️ Background health monitor service (Scavenger) started...
[INFO] 2026-02-18 20:38:45.608 [UTC] [ProxySystem] - [Auth Update] 💾 Successfully updated auth credentials for account #0
[INFO] 2026-02-18 20:38:45.608 [UTC] [ProxySystem] - ==================================================
[INFO] 2026-02-18 20:38:45.608 [UTC] [ProxySystem] - ✅ [Browser] Account 0 context initialized successfully!
[INFO] 2026-02-18 20:38:45.608 [UTC] [ProxySystem] - ✅ [Browser] Browser client is ready.
[INFO] 2026-02-18 20:38:45.608 [UTC] [ProxySystem] - ==================================================
[INFO] 2026-02-18 20:38:45.609 [UTC] [ProxySystem] - ✅ [System] Browser successfully recovered to account #0!
[INFO] 2026-02-18 20:38:45.609 [UTC] [ProxySystem] - [System] Waiting for WebSocket connection to be ready...
[INFO] 2026-02-18 20:38:46.938 [UTC] [ProxySystem] - [Browser] 🛡️ Background Wakeup Service (Rocket Handler) started...
[ERROR] 2026-02-18 20:38:55.622 [UTC] [ProxySystem] - ❌ [System] Recovery failed: WebSocket connection not established within timeout period
[INFO] 2026-02-18 20:38:55.623 [UTC] [ProxySystem] - [System] Resetting isSystemBusy=false in recovery finally block

This is the full stack trace:

AI_APICallError: Service temporarily unavailable: Browser crashed and cannot auto-recover.
    at file:///D:/Apps/[AppData]/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-DOZWUVYH.js:346:11
    at async postToApi (file:///D:/Apps/[AppData]/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-DOZWUVYH.js:279:24)
    at async OpenAICompatibleChatLanguageModel.doStream (file:///D:/Apps/[AppData]/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-DOZWUVYH.js:767:48)
    at async wrapStream (file:///D:/Apps/[AppData]/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-CyrUNmAL.js:38323:32)
    at async fn (file:///D:/Apps/[AppData]/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-CyrUNmAL.js:36514:17)
    at async file:///D:/Apps/[AppData]/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-CyrUNmAL.js:33931:19
    at async _retryWithExponentialBackoff (file:///D:/Apps/[AppData]/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-CyrUNmAL.js:34033:10)
    at async streamStep (file:///D:/Apps/[AppData]/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-CyrUNmAL.js:36482:108)
    at async fn (file:///D:/Apps/[AppData]/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-CyrUNmAL.js:36761:5)
    at async file:///D:/Apps/[AppData]/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-CyrUNmAL.js:33931:19

This is my current .env:

I used the env.example file, nothing modified.

PORT=7860
HOST=0.0.0.0
WS_PORT=9998
API_KEYS=
SECURE_COOKIES=false
RATE_LIMIT_MAX_ATTEMPTS=5
RATE_LIMIT_WINDOW_MINUTES=15
INITIAL_AUTH_INDEX=0
ICON_URL=
CHECK_UPDATE=true
CAMOUFOX_EXECUTABLE_PATH=
TARGET_DOMAIN=
STREAMING_MODE=real
MAX_RETRIES=3
RETRY_DELAY=2000
SWITCH_ON_USES=40
FAILURE_THRESHOLD=3
IMMEDIATE_SWITCH_STATUS_CODES=429,503
HTTP_PROXY=
HTTPS_PROXY=
NO_PROXY=

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions