CallPilot v0.1.0 — Developer Preview
Your calls, handled by AI. First public release of CallPilot — an open-source AI phone agent on a Quectel EC20/EG25 4G modem: auto-answers calls with a realtime voice AI, dials out, sends/receives SMS, presses IVR menus (DTMF), and records + summarizes every call. All on your own hardware and API keys.
Developer Preview. Verified end-to-end on real hardware (EC20
EC20CEFAGR08A03M4G, macOS): both audio directions confirmed against China Telecom's10000IVR — the AI held a multi-turn conversation with the voice menu and pressed keys autonomously — plus SMS balance-query round-trip. This release targets developers; we want your hardware reproduction reports.
Highlights
- 📞 Auto-answer + outbound dialing (single with per-call topic, batch with whitelist) via hardware AT events — not screen automation
- 🧠 Cloud realtime speech-to-speech (Alibaba Qwen Omni default, Doubao scaffolding) with function calling: send SMS, hang up, read OTP, press DTMF
- 💬 SMS send/receive with Chinese UCS2
- 🖥️ Desktop app — phosphor-green dark UI, live transcript, call history, recordings + AI summaries, bilingual EN/中文
- 🛡️ Reliability: starts without a modem attached (background supervisor reconnects), USB drop-off storm root-caused (system sleep → endpoint stall) and mitigated (
caffeinate -s,dev.reset(), backoff + cold-restart)
Known limitations
- macOS only in practice;
uac_ffmpegis the only verified audio mode (nmeacrashes EC20 USB — don't use it) - Windows/Linux serial paths exist but are unverified — reports welcome
- Half-duplex (no barge-in); no self-contained installer yet (the
.appis a thin shell over your checkout) - Bring your own DashScope API key + SIM with voice/SMS service
Get started
See the README quick start. Full details in CHANGELOG.md.
Have an EC20/EG25? Please file a hardware report — firmware version, OS, what worked and what didn't.