ODAI requires Python 3.11+. Make sure you have a compatible version installed before proceeding.
Install dependencies
Install production and testing dependencies:The production
requirements.txt contains 173 packages including FastAPI, the OpenAI Agents SDK, Firebase Admin, and all third-party service SDKs.Configure environment variables
Create a
.env file in the project root. At minimum you need:.env
With
LOCAL=true, ODAI reads all secrets from the .env file. In production (Google App Engine), secrets are fetched from Google Secret Manager and LOCAL is not set.To use Google integrations (Gmail, Calendar, Docs) locally, you also need a
credentials.json file from the Google Cloud Console placed in the project root. In production, Google OAuth credentials are stored in Google Secret Manager under the key google_oauth_credentials.Start the server
http://localhost:8080. Visit http://localhost:8080/test to confirm the server is running:Connect over WebSocket
ODAI’s primary interface is a WebSocket endpoint. Obtain a Firebase ID token for your user, then connect:Here is a minimal working example in Python:The server streams several event types as the agent processes your request:
| Event type | Description |
|---|---|
raw_response_event | Text delta — append delta to build the full response |
tool_call | The orchestrator is invoking a tool; description is a human-readable status |
agent_updated | The orchestrator handed off to a specialist agent |
tool_output | Result from a tool call (when display_response is true) |
llm_response | Completed text response from an agent turn |
suggested_prompts | Follow-up prompt suggestions |
end_of_stream | Signals the response is complete |
Next steps
Architecture
Understand the layered system design and component relationships.
WebSocket API
Full reference for the WebSocket protocol and event schema.
Integrations
Browse the 35+ services ODAI can connect to.
Running tests
Run the 700+ test suite with the custom test runner.