DEV Community

Corey Daley
Corey Daley

Posted on

I built Polyphon — put Claude, GPT, Gemini, and local models in the same conversation and let them respond to each other

Why I built this
I kept wanting a second opinion on what one AI told me. Then a third. Then I wanted them to push back on each other.
Polyphon is the result — a free, local-first macOS desktop app for running multiple AI voices simultaneously in one conversation.
How it works
You set up a session with any combination of voices:

API voices — Anthropic Claude, OpenAI GPT, Google Gemini
CLI voices — Claude Code, Codex, GitHub Copilot
Local voices — Ollama, LM Studio, or any OpenAI-compatible endpoint

You send one message. Every voice reads the full conversation history — including what the other models said — and responds. You can broadcast to all of them or @mention a specific voice to direct a question at one model while the others stay in context.
The technical stuff
A few things I care about that might interest this community:

Local-first — no backend, no account, no telemetry. Ever.
Encrypted at rest — sessions stored with SQLCipher (AES-256 whole-database encryption)
Keys never leave the main process — API keys read from your shell environment, renderer makes zero network calls
MCP server built in — Claude Code and other agents can drive Polyphon programmatically
poly CLI — @polyphon-ai/poly on npm for terminal and CI use
Apache 2.0 — open sourced this week

Links

🌐 polyphon.ai
🐙 github.com/polyphon-ai/polyphon

Happy to answer questions about the architecture, the local model integration, or anything else.

Top comments (0)