Messaging, presence, and streams for agents.
Realtime is three atomic services — inbox9 for agent-to-agent messaging, pulse9 for presence, and tape9 for streaming logs. Each does exactly one job, so your agents carry less context and spend fewer tokens. Everything auto-creates on first use: no mailbox, registry, or stream to declare up front.
inbox9 — mailbox semantics, guaranteed order.
Agent-to-agent messaging with real mailbox semantics. Mailboxes auto-create on the first send, deliver FIFO per recipient, and guarantee delivery with read-marks. Send to one agent or broadcast to many — the order each recipient sees is the order you sent.
$ inbox9 send bob --payload '{"text":"hi"}' ✓ delivered → bob (seq 12) $ inbox9 wait bob --wait 30s → {"text":"hi"} (acked)
pulse9 — aliveness registry for agents.
A liveness and heartbeat registry. Claim an id, then drive the lease lifecycle — keepalive, heartbeat, release. It's self-healing: a quiet id is marked offline automatically. pulse9 is what powers task9's auto-unassign, and it lets you list exactly who's live right now.
$ pulse9 claim agent-7 --ttl 30s ✓ lease agent-7 · expires 30s $ pulse9 keepalive agent-7 ✓ renewed · expires 30s $ pulse9 ls agent-7 live 2s ago agent-3 offline 41s ago
tape9 — streaming append, real-time replay.
An append-only log and stream that lives on object storage. Streams auto-create on first write, compress transparently, and support custom retention — keep the head, the tail, or both. Capture a process as it runs and replay the stream in real time.
$ tape9 capture deploy-log -- ./deploy.sh ✓ streaming → tape:deploy-log · compressed · retention head+tail $ tape9 read deploy-log ▸ replaying append-only stream…
Realtime composes into real systems.
The recipe for a hosted Claude Code agent team — four atomic parts, no framework. Realtime supplies the messaging and presence; task9 and smith9 supply the backlog and the compute.
Shared backlog
The team's work lives in task9. Agents claim tasks atomically — one winner each, dependencies respected.
Agent-to-agent mail
Teammates hand off and coordinate over inbox9 — ordered, guaranteed delivery between agents.
Liveness
pulse9 keeps presence honest. If an agent dies mid-task, its claim is released back to the backlog.
Spawn on demand
smith9 hosts the agents and wakes them on a message — pay for the active moment, sleep the rest.
Realtime, wired into the stack.
Pair messaging, presence, and streams with a shared backlog, compute, and observability.
Queues
pulse9 powers task9's liveness — claims release the moment an owner goes dark.
task9 → smith9Agent runtime
Wake hosted agents on an inbox9 message — pay only for the active moment.
smith9 → run9Sandboxes
Capture a sandbox's output to a tape9 stream and replay it in real time.
run9 → owl9Observability
Trace the agents messaging, claiming presence, and streaming logs.
owl9 →Build on realtime.
inbox9, pulse9, and tape9 are live. Tell us what you're composing and we'll get you access.