cd /news/ai-agents/ai-phone · home › topics › ai-agents › article
[ARTICLE · art-159163] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=· neutral

AI Phone

A project called AI Phone released an open-source (AGPL-3.0) phone agent that runs on a Mac and places or answers calls, with speech recognition and synthesis kept local via MLX and the language model selectable among a local MLX model, a Claude Code or Codex subscription, or an OpenAI-compatible endpoint. Setup recommends a 4B model on 16 GB of RAM and a 9B model on 32 GB, with a 2B option for 8 GB systems, and the software currently supports only macOS on Apple Silicon, English, and one call at a time. Every outgoing call begins with an AI disclosure, and an unanswered relay turn times out after 25 seconds by default.

read4 min views3 publishedOct 28, 2026
AI Phone
Image: Michielbdejong (auto-discovered)

An AI phone agent that runs on your computer.

Documentation · Architecture · AGPL-3.0

Requirement Details
Platform macOS on Apple Silicon. Intel Macs, Linux and Windows are not currently supported.
Memory 16 GB recommended for the default 4B model; 32 GB for 9B. Setup also offers a smaller 2B model for 8 GB systems.
Dependencies Git, Homebrew anduv . The installer handles Python packages and the native SIP library.
Storage Several GB for model downloads, depending on the models selected. Setup checks available disk space.
Phone connection A SIP address for direct calls, or your own SIP trunk, Telnyx or Twilio account for telephone numbers. Carrier charges apply.
git clone https://github.com/oxnw/ai-phone.git
cd ai-phone
./scripts/install.sh
uv run ai-phone setup

Setup lets you choose incoming calls, outgoing calls, or both, then configures the model, line and voice. It recommends a local model based on detected RAM and downloads the required weights. Use uv run ai-phone setup --plain for plain prompts.

The current speech backends use MLX on Apple Silicon, even when a cloud model handles the conversation. Supporting Linux or Windows would require different speech backends and changes to installation and platform integration. The platform requirement applies to the computer running ai-phone; callers can use any phone or SIP client.

Start the daemon after setup:

uv run ai-phone run

Keep it running while you want to receive calls. For outgoing calls only, start it when needed and stop it with Ctrl-C afterward. Setup does not install a background service.

From another terminal in the repo, give the phone agent instructions for a call:

uv run ai-phone call +15555550100 --json \
  --prompt "Ask whether they have a table for two at eight tonight."

Replace the example number with the number you want to call. The command returns the transcript when the call ends. Every outgoing call starts with an AI disclosure. Incoming calls use the greeting and instructions you set during setup. English and one call at a time are currently supported.

For a free local test, enable incoming calls, select A SIP address in setup, and keep the name agent:

pjsua --local-port 5070 sip:agent@127.0.0.1

Run setup again to change the voice, model, call directions or caller ID, then restart the daemon.

An agent with shell access can use relay mode to control each turn:

uv run ai-phone call +15555550100 --relay --json
uv run ai-phone say "Hi, I'd like to book a table for two." --json
uv run ai-phone listen --json
uv run ai-phone say "Eight o'clock, please." --json
uv run ai-phone hangup --say "Thank you. Goodbye." --json

With no active call, listen --json waits for an incoming call and handles it in relay mode. Each command with --json returns one JSON object on stdout; call also sends progress events to stderr. An unanswered relay turn times out after 25 seconds by default. See the command reference for call IDs, transcript retrieval, timeouts and exit codes.

Component Options
Speech recognition Parakeet, running locally through MLX.
Language model A local MLX model, your Claude Code or Codex subscription, or an OpenAI-compatible endpoint.
Voice Phonon with its bundled English voice, or Kokoro with American and British voices and adjustable speed.

Speech recognition and synthesis stay local. A remote language model receives the call's text, instructions and conversation history. An external agent's cloud provider also sees any transcripts passed to it. Phone audio travels over SIP/RTP; carrier charges and subscription limits apply.

Install and setup have been checked from a fresh clone. Local call and interruption tests have run; live carrier and end-to-end agent acceptance checks remain pending. The latest local run measured 1.50 s median first-audible response under heavy memory pressure; it missed the one-second target. Full conditions and earlier results are documented.

AGPL-3.0-or-later. The bundled PJSIP interface files use GPLv2-or-later; see the license notes.

── more in #ai-agents 4 stories · sorted by recency
── more on @ai phone 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/ai-phone] indexed:0 read:4min 2026-10-28 · —