{"repo":"steipete/vox","free":true,"listed":false,"github":"https://github.com/steipete/vox","clone":"git clone https://github.com/steipete/vox.git","description":"Let's your agent run phone calls","language":"TypeScript","stars":87,"topics":["call","cli","typescript"],"license":"MIT","category":"cli-tools","readme_excerpt":"vox CLI + bridge server that connects Twilio Media Streams (PSTN phone calls) ↔ OpenAI Realtime (speech-to-speech) and lets the voice model call back into your local agent via tools. This repo is intentionally “thin glue”: WebSocket proxying, barge-in/interrupt handling, logging, and a minimal tool adapter. What you get - vox serve : HTTP endpoint that returns TwiML and a WebSocket endpoint Twilio streams audio to. - vox dial : outbound calling via Twilio REST to connect a call to your running vox serve . - OpenAI Realtime session configured for G.711 μ-law passthrough ( audio/pcmu ) so there’s no resampling/DSP required. - query agent tool that can call: - an HTTP endpoint ( VOX AGENT URL ), or - a local subprocess ( VOX AGENT CMD , JSONL request/response). Requirements - Node.js = 22 - A public HTTPS URL to your laptop (Twilio needs to reach /twiml and wss://.../twilio ). ngrok works fine. - OpenAI API key - Twilio account + a phone number (for PSTN calling) Setup Fill in at least: - OPENAI API KEY - VOX PUBLIC BASE URL (the public HTTPS base URL that maps to your local server, e.g. your ngrok URL) Run Start the bridge: Smoke check: Inbound calls (recommended dev loop) Point your Twilio Phone Number’s “A call comes in” webhook to: - GET https:// /twiml When you call that Twilio number, Twilio will stream the call to: - wss:// /twilio Outbound calls Set: - TWILIO ACCOUNT SID - TWILIO AUTH TOKEN Then dial: Local simulation (no Twilio) Useful for iterating on tool-calling and ","default_branch":null,"files":null,"tree":[],"storefront":"/r/steipete","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/steipete/vox/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}