The problem with visual monitoring

You're running three AI coding agents in parallel. One is refactoring auth, another is writing tests, a third is fixing a deploy script. Each one might finish, fail, or get stuck at any moment. How do you know what's happening?

The common answers all share a flaw: they require your eyes on a screen.

Terminal grids work if you're sitting at your desk staring at them. Walk to the kitchen and you're blind. Slack webhooks flood a channel with machine-generated noise that buries your real conversations. Desktop notifications stack into an unreadable pile when five events arrive in thirty seconds. All of these assume you're watching something. None of them work when you're in another room, making coffee, or focused on a different task.

The gap is audio. There is no sound. Your agents could be on fire and you wouldn't hear a thing.

What voice notifications look like in practice

Radio Agent fills that gap. It runs a radio station on your local network that plays ambient music and speaks announcements when your agents do something worth knowing about.

Here's what you actually hear during a typical session:

Background music plays. Quiet, ambient. You stop noticing it after a few minutes.

An agent finishes a task. The music dips, a voice says "Config module shipped with tests. Clean commit." The music comes back. Five seconds total. You heard what happened from the next room without looking at anything.

A build fails. The music dips, and a different, male voice says "Build failed for the auth module. Dependency issue." The voice change tells you something went wrong before the words even register. You walk back to your desk knowing exactly what needs attention.

An agent picks up new work. No voice this time. Just a soft rising chime under the music. You don't consciously notice it, but you know the session is active.

Three audio channels, one stream

Radio Agent mixes three independent layers into a single audio stream that any device on your network can play:

ChannelWhat it carriesHow it feels
MusicContinuous ambient tracks from your libraryBackground texture. You stop hearing it.
VoiceSpoken announcements via Kokoro TTSPulls attention briefly, then disappears.
TonesShort sound effects (chime, chord, pulse)Subliminal. You feel the session rhythm.

Each channel can be muted independently. Keep voice and mute music. Keep tones and mute voice. Whatever combination fits the moment.

How it connects to your agents

Any system that can make an HTTP POST can send announcements. The webhook API accepts JSON with one required field:

curl -X POST http://your-host:8001/announce \
  -H 'Content-Type: application/json' \
  -d '{"detail": "Auth refactor complete", "kind": "agent.completed", "agent": "eng1"}'

The kind field controls routing. Completions get a warm voice and a resolved chord. Failures get a different voice and a tense tone. Starts and stops play a chime with no voice, keeping the stream from getting chatty.

If you use Claude Code, the setup is even simpler: install the DJ skill and the setup skill, point them at your Radio Agent instance, and every agent announcement gets rewritten into natural radio-style speech before broadcasting.

Why audio instead of more visual tools

Visual toolsAudio (Radio Agent)
Away from deskYou miss everythingYou hear it from any room
Multi-agent scaleN windows or channelsOne stream, mixed
Attention costContext switch to readPeripheral, no switch
Failure detectionScan for red badgesDifferent voice, instant
SetupPer-tool integrationOne webhook endpoint

This isn't an argument against dashboards or Slack. Those are the right tools for async discussion, audit trails, and detailed investigation. Radio Agent handles a different job: real-time ambient awareness. Knowing the state of your agents the way you know whether it's raining outside. Not because you checked, but because you can hear it.

Get started
curl -sSL https://radioagent.live/install.sh | bash

Runs locally on your machine. No cloud, no API keys, no account required. Docker or bare-metal on Linux. Dashboard at localhost:8001, stream at localhost:8000/stream.