Deploy Now

Stars

127

Forks

14

Watchers

3

Developer links

Flowcat

Real-time voice agents get a native Rust runtime in Flowcat: it carries a phone or WebRTC call through a composable media pipeline on your own infrastructure, so latency-sensitive audio never queues behind a managed platform. Audio flows from transport into voice activity detection and turn-taking, then through speech-to-text, an LLM, and text-to-speech, or a single speech-to-speech model, and back out to the caller, with in-process SIP and RTP for telephony. Pair it with local Whisper transcription, Kokoro, Piper, or XTTS for speech, and Ollama for reasoning, and a call's audio and transcript never leave your network; cloud providers plug in by name when you prefer them. Describe one agent in a YAML or JSON node-and-edge graph and the single flowcat-server binary serves it over HTTP, opening a browser page with microphone and live transcript, or bridging a Plivo number into the same agent. The runtime stays flat as call volume grows: benchmarked against a multiprocess Python baseline, one process holds p99 round-trip overhead at or below 0.61 milliseconds from 10 to 2,000 concurrent calls, at roughly 19.6 KB of RAM per idle session. Deploy it inside your VPC or an air-gapped environment where call recordings are sensitive. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. Apache-2.0 licensed.

Flowcat

Benefits

  • Latency That Stays Flat
  • One Rust process holds p99 round-trip media overhead at or below 0.61 milliseconds across 10 to 2,000 concurrent calls in the published benchmark, where a multiprocess Python baseline crosses conversational limits within hundreds of calls.
  • Calls Stay on Your Network
  • Local Whisper transcription, Kokoro, Piper or XTTS speech, and Ollama reasoning connectors keep audio and transcripts inside your VPC or air-gapped deployment, with cloud providers selected by name only when you choose them.
  • One Binary, Config-Only Agents
  • Describe an agent as a YAML or JSON node-and-edge graph and the self-contained flowcat-server binary serves it over HTTP with no control plane, no database, and no Rust code to write or maintain.
  • Telephony and WebRTC Together
  • In-process SIP and RTP carry real phone calls, WebSocket and WebRTC transports carry browser calls, and a Plivo bridge connects a public number to the same agent graph without extra media servers.

Features

  • Composable Media Pipeline
  • Transport, voice activity detection, turn-taking, speech-to-text, LLM, and text-to-speech stages compose into a pipeline with priority and interruption handling, or collapse into a single speech-to-speech model call.
  • Browser Talk Page
  • The served agent opens a local web page at port 6210 with microphone input and a live transcript, simplifying tests of a new graph before any phone number connects.
  • Provider Seams by Name
  • Speech, language, realtime, and observability providers are opt-in Cargo features selected by name in configuration, with credentials taken from the environment so secrets stay out of config files.
  • Reproducible Benchmark Kit
  • A Docker Compose harness reproduces the published capacity results on your own hardware, reporting p50 through p99.9 latency, throughput, RAM per session, and multi-core scaling for load planning.

Apps Similar to Flowcat