Skip to main content
Console mode is the fastest proof the agent works. It runs the full pipeline in your terminal: no LiveKit, no backend, no database, no browser.
Talk into your microphone. The agent greets you first, then answers.

What it needs

Three keys in agent/.env: Nothing else. LIVEKIT_* can be blank, Postgres can be down, and the backend does not have to exist.
Console mode is not offline. It is a cascaded pipeline calling the real Deepgram, Cerebras and Inworld APIs. What it drops is the transport and the storage, not the providers.

What it skips

src/agent.py sets CONSOLE_MODE from sys.argv, and two things branch on it:
  • No participant wait. There is no room and no remote participant, so the worker starts the session immediately.
  • No call reporting. CallReporter.from_config(console_mode=True) stays silent whatever BACKEND_REPORTING_ENABLED says, so a console run never writes a row to the Calls page.
Everything else is the same code path the browser and the phone take: the same Assistant, the same persona file, the same models.

Where to go next

If console mode talks and the browser does not, the problem is in the transport or the config, not the agent. Start at Troubleshooting.