Podcast Agent — Overview
podcast-agent is a single multi-channel service that produces three separate daily, AI-narrated news shows — a tech/AI-industry show, a stock-market recap, and a Germany-news-in-Malayalam show — each a two-host episode published as an MP3 plus its own standard RSS feed. One process, one image, one CLI/HTTP surface serves all three; each show keeps its own sources, script voice, narration provider, and story history, covered per-topic on the pages linked below. It’s the one application in this fleet complex enough to warrant its own module: its real work isn’t a synchronous request another service routes to it, it’s scheduled background jobs, and its output is the fleet’s only genuinely public, unauthenticated surface.
| The tech, stock and malayalam shows were originally three separate repos/services. They were consolidated into this one multi-channel service on 2026-08-26 — the three original repos are now deprecated (two have since been deleted from the org entirely; their functionality lives on here). |
| A closely related read-only dashboard sits alongside this pipeline, covering all three shows, and is covered on Podcast Agent — Deployment. It doesn’t generate episodes — it just gives a browser view over what the pipeline has produced. |
How an episode gets made, in short
Two things happen on their own schedules, independently for each of the three shows:
-
Through the day, the system quietly collects fresh headlines from that show’s own news sources and keeps track of what it’s already seen, so nothing gets missed and nothing gets repeated.
-
Once a day, it looks at everything collected, picks the most newsworthy stories, writes a short two-host script, turns it into narrated audio, and publishes the episode.
See Podcast Agent — Ingest, History & Ranking for how stories are collected and chosen, and Podcast Agent — Models & TTS for how a script becomes audio — both pages cover where the three shows work identically and where each has its own behavior.
The reason for splitting collection from publishing: news sources only ever show their current headlines, so checking once a day misses whatever came and went earlier. Collecting continuously means nothing worth covering slips through.
Also available on demand
Beyond the daily schedule, any of the three shows can be triggered manually through this service’s own HTTP surface — useful for iterating on a show or re-running a bad episode. A separate, natural-language chat/A2A interface also exists so another agent in the fleet can ask, conversationally, for a fresh episode — that conversational interface only ever drives the tech show; it predates the other two shows and making it multi-channel (routing "generate today’s stock episode" from free text) is a deliberately out-of-scope, separate feature. Either way, this uses the exact same generation logic as the daily run, just triggered differently.
What’s genuinely public
The finished episodes and each show’s RSS feed are served with no login required at all — see Podcast Agent — Storage & Feed. That’s deliberate: podcast apps and RSS readers have no way to complete a login, so this is the one part of the fleet that has to stay open.
Read next
-
Podcast Agent — Ingest, History & Ranking — how stories are collected, deduplicated, and ranked.
-
Podcast Agent — Models & TTS — the two-host script format and how it becomes audio.
-
Podcast Agent — Storage & Feed — where everything is stored and how the public feeds work.
-
Podcast Agent — Deployment — how the pieces are run and how they relate to shared storage.
See also Daily News Podcast for what this gets a listener, and Internal Tooling Behind SSO for the operator-facing dashboard.