explaingit

buddyh/agent-radio

Analysis updated 2026-05-18

1PythonAudience · developerComplexity · 3/5Setup · moderate

TLDR

A macOS server that streams silent audio to your phone and injects AI agent speech into it on demand via a POST endpoint, letting you hear agent output hands-free with your screen locked.

Mindmap

mindmap
  root((Agent Radio))
    What it does
      Audio stream to phone
      Agent speech on air
      Locked screen playback
    Features
      POST say endpoint
      Studio line chat
      Talk-back recording
      Per-channel voices
    Tech
      Python stdlib only
      liquidsoap stream
      ffmpeg audio
      macOS say TTS
    Setup
      Homebrew tools
      Tailscale for phone
      Private network only
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Pipe build notifications, CI results, or cron job output as spoken audio to your phone by calling a simple POST endpoint.

USE CASE 2

Chat with an AI agent through a browser UI and hear the reply come back over audio while your phone screen stays locked.

USE CASE 3

Record a voice message on your phone, have it transcribed locally, and route it to an AI agent backend hands-free.

USE CASE 4

Assign different voices to different AI agents by setting per-channel TTS providers in the settings panel.

What is it built with?

PythonliquidsoapffmpegmacOS sayElevenLabsWhisperKit

How does it compare?

buddyh/agent-radioa-bissell/unleash-liteabhiinnovates/whatsapp-hr-assistant
Stars111
LanguagePythonPythonPython
Setup difficultymoderatehardhard
Complexity3/54/53/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires liquidsoap and ffmpeg via Homebrew on macOS, reaching it from a phone needs Tailscale or a local-network reverse proxy.

In plain English

Agent Radio turns your Mac into a private radio station for your AI agents. It runs a continuous audio stream, silent when nothing is happening, into which any script or agent can inject spoken messages by sending a simple web request. The idea is to let you tune in from your phone with the screen locked and hear agent updates through earbuds or glasses, hands-free, without looking at anything. The reason it uses a streaming approach is specific to iOS: iOS will not let a web app use the microphone in the background, but it happily plays an audio stream even when the phone is locked. Agent Radio exploits this: your phone subscribes to the stream, and spoken output from agents rides the stream rather than requiring a native app. The integration is a single endpoint. Any script, scheduled job, or agent tool can call POST /say with a text payload and that text gets spoken over the air, preceded by a soft chime after a period of silence. The web interface also includes a studio line where you can type messages to an AI agent and hear the reply come back over the radio, and a talk-back feature where you record from the browser microphone, the audio gets transcribed locally using WhisperKit, and the transcript gets routed to whichever agent backend you have configured. Supported agent backends include Claude Code, Codex, tmux sessions, and a tool called OpenClaw. Additional backends can be added by registering a label, a detection function, and a run function in the server code. Voice output uses macOS's built-in text-to-speech by default, which works offline. ElevenLabs can be configured as an alternative per-channel provider, giving different agent backends different voices. Setup requires macOS, two tools installed via Homebrew (liquidsoap and ffmpeg), and Python 3 with no additional packages. To reach the server from your phone, the recommended approach is a Tailscale private network or a local reverse proxy. There is no authentication, so the server should never be exposed to the public internet.

Copy-paste prompts

Prompt 1
I want to wire Agent Radio into my CI pipeline so it announces build results. What curl command do I add to my CI config to call the POST /say endpoint?
Prompt 2
I want to add a custom agent backend to Agent Radio beyond Claude/Codex/tmux. Walk me through the BACKENDS registry format in radio_server.py.
Prompt 3
How do I configure ElevenLabs voices per-channel in Agent Radio so different agent backends speak with different voices?
Prompt 4
Help me set up Tailscale so I can reach my Agent Radio server from my phone over a mobile connection, not just my home WiFi.

Frequently asked questions

What is agent-radio?

A macOS server that streams silent audio to your phone and injects AI agent speech into it on demand via a POST endpoint, letting you hear agent output hands-free with your screen locked.

What language is agent-radio written in?

Mainly Python. The stack also includes Python, liquidsoap, ffmpeg.

How hard is agent-radio to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is agent-radio for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub buddyh on gitmyhub

Verify against the repo before relying on details.