I am troubleshooting a small browser-only voice prototype using a local Python agent and LiveKit Cloud. This is direct OpenAI GPT-Live, not OpenAI Realtime and not LiveKit Inference. No SIP/PSTN is involved in these tests.
Environment:
- macOS, Python 3.14.7
- livekit-agents 1.8.8, livekit-plugins-openai 1.8.8, openai 3.35.1
- GPTLiveModel: gpt-live-1, voice marin, delegation client, max_retry=0
- Official OpenAI Live WebSocket endpoint; SDK-generated PCM 24 kHz configuration
- AgentSession.start with record=False, capture_run=False and session_host=False
- Local deterministic backend with synthetic data, no additional model calls
Observed in two previous short attempts:
- The browser and local agent both became active participants.
- The local session emitted a generic SESSION_ERROR during AgentSession startup.
- We did not confirm OpenAI session.started or model output audio; a browser audio-track/playing event alone did not establish audible speech.
- The agent then disconnected with CLIENT_INITIATED and the browser left with ROOM_DELETED, consistent with our cleanup. These departure reasons do not identify the original fault.
- Agent Insights contained no observability data.
- Our previous instrumentation did not retain the original nested exception, HTTP status, request ID or OpenAI session ID. We cannot claim whether the original WebSocket handshake completed.
Offline investigation only, since then:
- Actual installed SDK protocol/orchestrator tests with an in-memory WebSocket can initialize successfully. This does not validate real provider access or RoomIO audio.
- Simulated HTTP/transport errors demonstrate nested SDK wrapping. Simulated early server error events can also be lost if our observer is attached after startup, so our local instrumentation now attaches at session creation and persists fixed redacted error categories. These synthetic errors are NOT evidence that the original failure was authentication, quota, permissions, TLS or any particular category.
Questions:
- Is this SDK/Python combination supported for GPTLiveModel with a locally run AgentSession and browser room participant? Are there known startup compatibility issues, particularly on Python 3.14?
- Is there a supported pre-start diagnostic hook for distinguishing room IO initialization, OpenAI WebSocket handshake rejection and Live session configuration errors without enabling recordings or retaining raw prompts, tokens or audio?
- Are record=False, capture_run=False and session_host=False expected to work together in this local setup, and what observability remains available?
- What minimal sanitized diagnostic fields would maintainers need to narrow this down before any further live attempt?
I am requesting configuration/instrumentation guidance, not reporting a critical ongoing outage. No further real voice test is currently authorized. Please do not request public API keys, project/session identifiers, private logs, audio or customer data. Thanks.