Open Source
Explore the latest AI open-source projects from GitHub and HuggingFace.
Explore the latest AI open-source projects from GitHub and HuggingFace.
**Patter** is an open-source SDK that gives an AI agent a phone number. It positions itself directly against the hosted voice-agent platforms — the README names **Vapi and Retell** as the alternatives it is built for people to leave — and its pitch is ownership: you write the agent, Patter runs everything between it and the phone network. Released under **MIT** with SDKs in **Python and TypeScript**, the repository has collected **1,036 stars and 112 forks** since its **7 April 2026** creation, with **v0.7.0** published on 30 June 2026 and packages on both PyPI (`getpatter`) and npm. The substantive claim is that Patter owns the **whole voice stack**, not the glue between a model and a carrier. It runs the agent loop and every layer beneath it — LLM, speech-to-text, text-to-speech, real-time voice, audio processing, telephony — and lets the builder pick the provider for each one independently, swapping any with a single line. The catalogue spans **27+ provider integrations**: OpenAI, Anthropic, Gemini, Groq and Cerebras for generation; Deepgram, AssemblyAI, Cartesia, Soniox, Speechmatics, Whisper and Fish Audio for STT; ElevenLabs, OpenAI, Cartesia, LMNT, Rime, Telnyx and Fish Audio for TTS; OpenAI Realtime, Gemini Live, Ultravox and ElevenLabs ConvAI as all-in-one realtime engines; Twilio, Telnyx and Plivo as carriers; and Silero VAD, Krisp and DeepFilterNet for voice activity detection and noise suppression. Those layers compose in **three modes** — Realtime, Pipeline or Hybrid — which is the practical reason to care about the abstraction. A Realtime engine minimises latency but locks the call into one vendor's model; Pipeline mode lets a team run Deepgram for transcription and ElevenLabs for speech with a separate LLM in between; Hybrid splits the difference. On top sits an automatic **LLM fallback chain** that fails over mid-call, plus tools, call transfer and guardrails specified once and behaving identically across every carrier, and a vendor-neutral **OpenTelemetry** trace per call. The developer loop is the part most likely to win people over. `serve({ agent, tunnel: true })` spawns a Cloudflare quick tunnel and points the number at it, so a working inbound agent is roughly four lines and no infrastructure; a whole call can also be simulated from the terminal with no phone involved. Both SDKs are held at full parity — same surface, same hooks, same events — and **eight self-contained template repositories** cover inbound booking agents, outbound calling with answering-machine detection and voicemail drop, webhook tool calling, custom voice pipelines, per-caller dynamic variables, bring-your-own-model, a monitoring dashboard with cost and latency tracking, and a fully-enabled production setup. A separate skills bundle installs the SDK's usage into roughly 55 coding-agent harnesses that follow the Agent Skills standard. The trade-offs are real and mostly disclosed. Patter is MIT-licensed and self-hostable, but it is not free of dependencies: **every layer still requires a commercial provider account and key**, so "own the stack" means owning the orchestration, not the models or the carrier minutes. The SDK collects **anonymous usage telemetry by default** — bucketed provider, model and call facts, never call content, prompts, phone numbers or keys — with four documented ways to opt out, `DO_NOT_TRACK` honoured, and automatic disabling in CI, but on-by-default telemetry in a privacy-adjacent tool will still cost it some users. The tunnel-based quick start is explicitly a development convenience that production deployments must replace with a static webhook URL. And a project pre-1.0, with its most recent release in June against commits through August, is one whose surface should be expected to move.