Hold the button or the space bar while you speak. Release to send.
A slice of galfrevn/apollo. The plan maps each handbook chapter to this demo.
Messages come from this desk's SQLite table. Refresh the page and they stay.
Facts
Each fact has a 384-dimension vector from bge-small-en-v1.5. The vector is a BLOB in the memories table.
Timers and reminders
Rows in cf_agents_schedules, made by this.schedule().
Lists
Agent state
Synced to every tab by setState().
SQLite tables
Everything this desk knows lives in one Durable Object database.
Live steps for each turn: speech to text, memory recall, model rounds, tools, and speech.
Frames on the WebSocket, with the Apollo device protocol names. Binary audio frames are counted, not shown.