Self-hosted · open source · room tested

A real voice agent,
in the room.

Bring GPT Live conversation, OpenAI web search, and optional Codex tools to an OpenHome speaker—without an API key, browser cookie capture, or a screen on the DevKit.

one command
curl -fsSL https://raw.githubusercontent.com/pkyanam/openhome-gpt-live/main/install.sh | bash
  • 1.0.8 + 1.1.1firmware tested
  • 9speaking voices
  • 0OpenAI API keys
OpenHome DevKit with a white cube speaker enclosure, exposed front driver, and electronics boards mounted on top
YOU

“Juniper, search today’s OpenHome news.”

GPT LIVE · OPENAI SEARCH

“Here’s what changed today…”

Wake gate armed
WAKE-WORD GATEDLIVE VOICEOPENAI SEARCHCODEX TOOLSLOCAL AUDIODEVICE-CODE AUTHWAKE-WORD GATEDLIVE VOICE

01 / SETUP

One installer.
Your choice of path.

The wizard is interactive by default, scriptable for agents, and safe to rerun. Pick the connection you already have—or let it create the missing piece.

PATH 01 Interactive, recommended

Detect what is already configured, choose from four HTTPS modes, and hand off only the account and dashboard steps.

terminal
curl -fsSL https://raw.githubusercontent.com/pkyanam/openhome-gpt-live/main/install.sh | bash
Interactive promptsIdempotent updatesGuided pairing
  1. 01

    Prepare the host

    Install or update the bridge, choose HTTPS, build the Ability, and start only the services your configuration is ready for.

  2. 02

    Sync OpenHome

    The guided finish step prints the exact Third Party Keys and the shortest dashboard checklist.

  3. 03

    Pair ChatGPT

    Retrieve the DevKit code from the private host inbox and authorize in any trusted browser. No speaker dictation required.

  4. 04

    Choose a wake name

    Use Juniper, any voice-name preset, or a custom English name. Every request starts there; ambient room audio stays gated.

02 / ARCHITECTURE

One voice.
Three specialist lanes.

GPT Live stays conversational while the bridge routes current information and local action to the right place.

01

GPT Live

Speech, conversation, explanations, memory in-session, and clock questions.

“Explain that more simply.”
02

OpenAI search

News, weather, current facts, and simple web searches—without occupying Codex.

“What changed today?”
03

Codex tools

Files, code, projects, OpenHome actions, applications, and computer control.

“Build it in my workspace.”
ROOMwake name + request
DEVKITwake gate + WebRTC audio
HOSTauth + routing + tools
GPT LIVEstreaming speech back

03 / BUILT FOR REAL ROOMS

Less demo.
More appliance.

WAKE

Your wake name, every time.

Local keyphrase spotting closes after every answer without discarding the Live conversation. A bounded 500 ms wake boundary preserves a no-pause prompt while fresh capture keeps flowing, and a burst circuit breaker stops unattended false-wake loops.

ambientYOUR NAMErequest
AUTH

Your ChatGPT access.

Device-code authorization through Login with ChatGPT. No OpenAI API key and no browser cookie capture.

AUDIO

One active voice.

PipeWire echo cancellation, playback-aware barge-in, and a watchdog that silences the firmware Agent while GPT Live owns audio.

STATE

One wake. One owner.

Each wake claims one GPT Live, OpenAI search, or Codex lane. Background work is acknowledged before startup and immediately re-arms the wake gate; media tasks remain deduplicated and bounded.

HOST

Mac or Linux.

The speaker handles live audio. Your always-on computer keeps credentials, search, and tools under your control.

macOSLinuxOpenHome

04 / VOICES

Choose the voice.
Name the wake gate.

Speaking voice and wake name are independent. Pick a voice-name preset or enter your own name in the browser control page.

NOW SPEAKINGVale

Warm, direct, and ready when you say “Juniper.”

05 / RESILIENT BY DEFAULT

Safe to rerun.
Easy to resume.

The installer treats an existing speaker as valuable state, not disposable scaffolding.

01

State survives updates

Secrets, ChatGPT login, pairing, tunnel credentials, and the existing Ability id stay in place.

02

Components are optional

Configure Codex, OpenHome API automation, Python, or managed tunnels when they add value—not as arbitrary blockers.

03

Named tunnel, real service

The Cloudflare path links to your account, reuses the tunnel on rerun, validates ingress, and starts with the host.

04

Agent-friendly, human-aware

Flags and help menus automate machine work while account, DNS, dashboard, and physical steps remain explicit handoffs.

06 / FAQ

The short answers.

Does the DevKit need Chromium or an interactive display?+

No. Open the host's `/setup` URL in any trusted browser. The DevKit stays headless and handles only speaker audio plus the Local Ability.

Is a phone required?+

No. A phone, tablet, the host computer, or another computer can hold the paired browser session. It is not an OpenHome mobile feature.

Do I need an OpenAI API key?+

No. Login with ChatGPT uses device-code authorization and the connected subscription. This project does not ask for ChatGPT browser cookies.

Do I need Codex?+

Only for local files, projects, apps, or computer actions. GPT Live conversation and OpenAI web search can run without Codex.

Is Cloudflare required?+

No. Use an existing stable HTTPS reverse proxy, let the wizard create a persistent named Cloudflare Tunnel, evaluate with a temporary Quick Tunnel, or configure HTTPS later.

Which firmware is tested?+

Firmware 1.0.8 and 1.1.1 are physically tested. Version 1.1.1 supports automatic capability sync; the guided flow includes the extra bootstrap needed by 1.0.8.

THE SPEAKER IS READY WHEN YOU ARE

Say its name.
Then ask for more.

Copied to clipboard