Free on the App Store · Download for Mac

Every AI model.
One app. Your keys.

Chat with OpenAI, Claude, Gemini, Mistral, Groq and 19 more providers using API keys that never leave your Keychain — or download a model and keep chatting with the network switched off.

  • Free
  • No account
  • iOS 17+ · iPadOS 17+
  • macOS 14+ Apple silicon
lili AI Router on macOS: a conversation list on the left and a streamed answer with a comparison table and a highlighted code block on the right.

24 ways to connect

One app in front of every model you use

Cloud providers, a server on your own network, or a model running on the device in your hand. Switch between them inside a single conversation.

OpenAI Anthropic Google Gemini Azure OpenAI Mistral Groq Cerebras xAI (Grok) DeepSeek Alibaba Qwen Moonshot (Kimi) Zhipu (GLM)
OpenRouter Together AI Fireworks Perplexity Cohere Hugging Face Ollama LM Studio llama.cpp Local LLM (on device) Apple Intelligence Custom endpoint

Bring your own keys

Pay the provider, not a middleman

Use the API key you already have. It goes straight into the iOS or macOS Keychain, and every request goes from your device to the provider you picked. There is no account to create and no server of ours in the path — because we do not run one.

  • A form per provider. Base URL, key, Azure deployment name, custom headers — and a Validate button that checks the credentials live.
  • Switch models mid-conversation. Ask Claude, then hand the same thread to a cheaper model. The reply footer shows which one answered.
  • Anything OpenAI-compatible. A self-hosted endpoint, a proxy, a gateway at work — point the custom provider at it and it behaves like the rest.
  • Ollama, LM Studio and llama.cpp on your own network need no key at all.
The Providers settings pane listing On-device and Cloud & servers sections, with Local LLM and Apple Intelligence marked Ready.

On-device

Run the model itself, on your own hardware

Search Hugging Face from inside the app, download a GGUF file, and chat with it in airplane mode. Nothing is sent anywhere, and there is nothing to pay per token.

Know what fits before you download

Every GGUF file in the browser carries an estimated memory footprint for your device and a plain verdict: fits, tight, or too large. Big models split across several files are shown as one download and re-joined for you.

Context length is yours to choose, from 2K up to 256K tokens — capped automatically at whatever the model was actually trained for.

See what runs on your device →
A list of GGUF files for one model, each with its quantisation, size and an estimated RAM figure marked either fits this device or exceeds device memory. Searching the Hugging Face Hub for GGUF models from inside the app, with results listed by repository.

llama.cpp and MLX

Metal-accelerated inference built into the app. No Python, no terminal, no second app to install.

Apple Intelligence

On a device that supports it, Apple's own on-device model shows up as one more provider in the list.

Your own servers

Ollama, LM Studio or a llama.cpp server on the same Wi-Fi — plain HTTP, no key, no round trip to the internet.

A reply containing a syntax-highlighted code block with a copy button, and a stats line showing tokens per second.

Beautiful answers

Markdown that renders as it streams

Headings, tables, lists, quotes and links appear live, in the same view the finished reply stays in. Code blocks come highlighted in about 190 languages with a copy button on top.

  • Reasoning models are handled. A “Thinking…” state while the model reasons, and the chain of thought is never written to disk.
  • A stats line under every reply — tokens per second, token count and time to first token, so you can tell providers apart.
  • Attach photos and files to a message and send them to any vision-capable model.
  • Interrupted answers survive. Lose signal mid-stream and the partial reply stays, with a Regenerate button.

iPhone · iPad · Mac

The same app, wherever you are

One free download covers all three. Conversations move between them with a JSON export — there is no account to sync them for you, and that is the point.

A streamed Markdown answer with a highlighted code block on iPhone.
Streaming Markdown
The slide-in drawer on iPhone listing Chat, Models and older conversations.
Every conversation
The provider list in Settings on iPhone, grouped into on-device and cloud sections.
24 providers
The models screen on iPhone listing the models available from the selected provider.
Pick any model

Made for the Mac, not ported to it

A real Mac app — and a local API server

A native split-view window, a quick chat in the menu bar, and an HTML preview panel that renders a generated page next to the conversation. Then the part developers keep asking for.

lili AI Router on macOS: on the left a conversation asking for a 3D solar system, on the right the generated page running live in the preview panel, with the Sun and orbiting planets.
Asked for a 3D solar system, a 27B model running entirely on this Mac wrote the page and the preview panel is running it — no server, no upload.

Point Claude Code at your own Mac

The Mac app can expose every provider you have configured — cloud, LAN or on-device — behind an OpenAI-compatible /v1/chat/completions endpoint and an Anthropic-compatible /v1/messages endpoint. Which means Claude Code can talk to it directly:

# Settings → Server → start, then copy your access key
export ANTHROPIC_BASE_URL=http://your-mac.local:42817
export ANTHROPIC_AUTH_TOKEN=lili-sk-…

claude

The server never starts without an access key, only the key's SHA-256 digest is stored, and it listens on loopback unless you deliberately share it with your local network.

  • Menu bar quick chat. A prompt without leaving what you are doing.
  • HTML preview panel. When a reply contains a full page, it opens beside the chat with Preview and Code tabs — ⌥⌘P.
  • Native Apple silicon. Built for M-series chips, with Metal acceleration for on-device models.
  • No ads on the Mac. Not one.

A signed, notarised .dmg for macOS 14 or later on Apple silicon. Open it and drag lili AI Router into Applications.

Privacy, stated plainly

We could not read your conversations if we wanted to

There is no lili account, no lili backend and no sync service. Here is exactly where everything lives.

Keys in the Keychain

API keys are stored by the operating system, unlocked on this device only, never in a file we write.

Chats on the device

Conversations are stored locally. Delete the app and they are gone — nothing is left behind on a server.

Your data is portable

Export every session as plain JSON and import it back, on any of your devices. No lock-in.

The honest footnote

The iPhone and iPad app is free and ad-supported, so Google's ad SDK is present there. The Mac app has no ads. The apps run no analytics; this website counts visits with Google Analytics.

The full detail, provider by provider, is in the privacy policy.

Why not just a subscription?

Own the client, rent only the tokens

 lili AI RouterA typical AI chat subscription
What you payThe provider's API price, per tokenA flat monthly fee whether you use it or not
Choice of model24 providers, switchable mid-chatWhatever that vendor ships
Works offlineYes — download a model and turn off Wi-FiNo
Account requiredNoneEmail, password, often a phone number
Where chats liveOn your deviceOn the vendor's servers
Getting your data outJSON export, any timeVaries, often partial

Getting started

Three steps, about two minutes

Install it

Free on the App Store for iPhone and iPad, or download the .dmg for your Mac.

Add a key — or don't

Paste an API key into any provider's form, or skip that entirely and download an on-device model from Hugging Face.

Start chatting

Pick a model from the picker and type. Change your mind halfway through and hand the thread to a different one.

FAQ

Questions people ask first

Do I need an API key to use it?

Not necessarily. Cloud providers need their own key, which you get from them directly. But on-device models and servers on your own network (Ollama, LM Studio, llama.cpp) need no key at all, and Apple Intelligence needs nothing but a supported device.

Is the app free?

Yes. The iPhone and iPad app is free and supported by ads. The Mac app has no ads. You pay your AI providers directly for what you use — we never sit between you and them.

Where do my API keys go?

Into the system Keychain on the device, marked as accessible only when the device is unlocked and never synced by us. Requests go straight from your device to the provider's endpoint.

Can it really run a model offline?

Yes — that is the point of the on-device provider. Download a GGUF file from Hugging Face inside the app, then turn on airplane mode and keep chatting. Inference runs through llama.cpp and MLX with Metal acceleration.

Which models will run on my iPhone?

It depends on how much memory your device has. Our model fit tool runs the same estimate the app uses and shows you what is comfortable, what is tight and what will not load.

How do I get the Mac app?

Download the .dmg from the download page, open it, and drag lili AI Router into your Applications folder. It needs macOS 14 or later on an Apple silicon Mac (M1 or newer).

Can Claude Code or another tool use it as a backend?

On the Mac, yes. Settings → Server starts an OpenAI-compatible and Anthropic-compatible HTTP server on port 42817, protected by an access key you generate. Set ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN and Claude Code talks to whichever model you selected — including one running locally on that Mac.

Does it keep my conversations?

On your device, yes — with search, renaming, and titles generated automatically after the first exchange. Chain-of-thought from reasoning models is shown while it streams but never written to disk.

Can I move my chats to another device?

Export the sessions you choose as a single JSON file through the Files app, then import it elsewhere. Importing merges rather than overwriting.

What are the system requirements?

iOS 17 or later on iPhone, iPadOS 17 or later on iPad, and macOS 14 or later on an Apple silicon Mac. Running models on-device wants as much memory as you can give it.

Can I use a self-hosted or corporate endpoint?

Yes. The custom provider takes any OpenAI-compatible base URL, with custom headers if your gateway needs them. Remote endpoints must be HTTPS; plain HTTP is allowed only for addresses on your local network.

Is there an Android or Windows version?

No. It is written in SwiftUI for Apple platforms, which is what lets it use the Keychain, Metal and Apple Intelligence directly.

Stop renting a chat box. Bring your own models.

Free on iPhone and iPad from the App Store, and a direct download for your Mac.