Provider
A source of AI capability the system routes work to — cloud or local.
A provider is a source of AI capability the system routes work to: the engine that transcribes your speech, the model that answers, the one that turns text into searchable memory. The companion sends each job to whichever provider you chose for it.
They arrive in three shapes.
The three shapes a provider takes
The companion
Sends each job to the provider you picked.
- paste a keyCloud service
OpenAI, Deepgram, Anthropic. The companion verifies the key, then stores it in the Mac keychain.
- download a modelLocal engine
Whisper, MLX, Parakeet. The companion fetches the model and runs it on your machine. No key, offline.
- point at a daemonLocal runtime
Ollama, LM Studio. A runtime already running on your Mac that the companion discovers.
What ships
- Providers
- 13
- Run locally
- 6
- Free
- 6
- Metered
- 1
| Provider | What it does | Runs | Cost |
|---|---|---|---|
| Anthropicanthropic | modelsClaude models for agent and summarization features. | Cloudapi_key | Not stated |
| Apple Intelligence (local)apple-fm | modelsOn-device language model via Apple Foundation Models. No key, no download. | Localapple-fm | Free |
| Deepgramdeepgram | sttttsStreaming speech-to-text with live partial transcripts, plus Aura text-to-speech on the same key. | Cloudapi_key | Metered |
| Google Geminigemini | modelsGoogle's Gemini models (1.5 Pro, Flash, and newer) power the assistant, agent workflows, and tool use over the Gemini API. Connect with an API key from Google AI Studio. | Cloudapi_key | Not stated |
| Groqgroq | modelsGroq serves open models (Llama, Qwen, and more) on its LPU inference hardware behind an OpenAI-compatible chat-completions API for very low latency. | Cloudapi_key | Not stated |
| LM Studio (local)lm-studio | modelsembeddingsLocal language models + embeddings via LM Studio's OpenAI-compatible server. | Locallm-studio | Free |
| MLX Whisper (local)mlx-whisper | sttOn-device speech-to-text via Apple MLX (Metal). No key, runs offline. | Localmlx-whisper | Free |
| Ollama (local)ollama | modelsembeddingsLocal language models + embeddings via a running Ollama daemon. | Localollama | Free |
| OpenAIopenai | modelssttttsOpenAI's GPT models (GPT-4o, o-series, and newer) power the assistant, agent workflows, and tool use over the Chat Completions API. The same key also drives Whisper speech-to-text (/v1/audio/transcriptions) and text-to-speech (/v1/audio/speech). Connect with an API key from platform.openai.com. | Cloudapi_key | Not stated |
| OpenRouteropenrouter | modelsOpenRouter is an OpenAI-compatible model gateway: a single API key routes chat completions to 400+ models (Anthropic, OpenAI, Meta, Mistral, and more) behind one endpoint. | Cloudapi_key | Not stated |
| Parakeet (local)parakeet | sttOn-device speech-to-text via NVIDIA Parakeet (ONNX). No key, runs offline. | Localparakeet | Free |
| Vercel AI Gatewayvercel-ai-gateway | modelssttembeddingsVercel AI Gateway is an OpenAI-compatible model gateway: a single API key routes chat completions to hundreds of models across providers (Anthropic, OpenAI, Google, xAI, and more) with unified billing, fallbacks, and observability. | Cloudapi_key | Not stated |
| Whisper (local)whisper | sttOn-device speech-to-text via whisper.cpp. No key, runs offline. | Localwhisper-cpp | Free |
Cost is what the provider’s manifest states. Most cloud vendors state nothing, and an unstated cost is not a free one — those rows say so rather than guess.
You ask for a capability, not a vendor
A provider advertises what it can do — transcribe, answer with a model, embed text, speak. You set one default per job, and the companion routes there.
So a workflow never names OpenAI or Whisper. It asks to transcribe, and your chosen provider serves it. Swap the provider and every workflow that transcribes follows, untouched. That vocabulary — the jobs, and how a default resolves — is Capabilities.
Verifying a key, and finding a daemon
A pasted key is checked before it is kept: the companion makes one probe call to the vendor and stores the key in the login keychain only if it answers. A downloaded model is fetched once and held on disk, so later runs need no network. A local runtime is one you already run on your Mac; the companion looks for it where it usually listens and uses it once it is up.