Run your own private AI backend on your Mac or PC, and connect the MyLLM iOS app to it in one tap — over real HTTPS, from anywhere.
MyLLM Connect is a small desktop companion (system-tray app for macOS and Windows) that turns "set up a local LLM server my phone can reach" from a multi-step, HTTPS-and-firewall headache into a single QR scan.
It does three things:
- Runs a local model server on your machine (manages Ollama for you).
- Gives it a trusted HTTPS address your iPhone accepts — privately, over your own Tailscale mesh, with a valid certificate. No port-forwarding, no self-signed-cert warnings, works on your home WiFi and when you're out.
- Pairs to MyLLM with a QR code — scan once and the app is configured with the address and a private access key.
Your prompts go straight from your phone to your own machine. Nothing runs in our cloud; we never see your data.
iOS only trusts a valid certificate. A plain http://192.168.x.x:11434 Ollama server is rejected by the app's transport security — which is why "just point the app at my PC" usually fails today. MyLLM Connect solves this by giving your machine a real, trusted HTTPS endpoint automatically.
The endpoint is useless without the access key minted during pairing, and that key only lives inside your paired MyLLM app. The companion is free and open; the experience it unlocks is the MyLLM app. (See PAIRING_PROTOCOL.md.)
This repo is the whole handover — no separate doc to chase.
- Read the pinned Epic #11 — it sequences every issue, gives the build order, and the definition of done.
- Read
SPEC.md(what to build, recommendations, open questions) andPAIRING_PROTOCOL.md(the exact contract). - First moves: close #1 (ADR-001 runtime) and #2 (ADR-002 model server) — record them in
docs/ARCHITECTURE_DECISIONS.md(ADR-003 HTTPS=Tailscale is already decided) — and post your estimate on #10.
The iOS half is already built and shipped (MyLLM v2.6 is on the App Store). You do not need to wait for the full companion to validate pairing:
- In the app: Settings → Server → Pair a Backend (scan QR).
- Build a QR encoding
myllm://pair?v=1&url=<https>&token=<key>&models=<id>perPAIRING_PROTOCOL.mdand scan it. - Stand up the endpoint by hand first —
ollama servebehind a bearer-checking proxy, exposed withtailscale serve— and you can prove the entire scan → chat-over-HTTPS loop before writing the tray app. Build #3 (auth proxy) and #4 (Tailscale) and you're already testable end-to-end.
Spec, pairing protocol, and ADRs are in place; implementation is tracked in the issues (start at the pinned epic). The iOS pairing flow it targets is already shipped in MyLLM v2.6.
This is the personal backend onramp: your phone, your server, your data. It is intentionally separate from the opticell federation host (sharing your LLM with other users), which has its own repo and its own legal/infra prerequisites. Federation may later appear here as an optional mode; v1 is personal-only.