Feature
Local models (in your browser).
Chat with open models that run entirely in your browser via WebGPU — your words never touch a server.
Curtis's other providers relay every prompt to the endpoint you configure. The Local (in your browser) provider is different: the model itself runs inside your browser on the GPU, generation happens on your machine, and the only network traffic is the one-time model download. Set expectations accordingly — this is built for fast private drafts, a quick rewrite or brainstorm you'd rather not upload, not as a Claude replacement. These are small models with short memory (~4k context), and quality is proportional to size: the 3B model out-thinks the 1B, and both are far from a frontier cloud model.
Off by default. Settings → Local (in your browser) → enable. Then pick a local model in the chat's model picker — no API key, no endpoint.
#The shortlist
Six vetted models ship built in — WebLLM's prebuilt q4f16_1 weights. Download size is roughly the GPU memory the model needs; bigger is better and slower.
| Model | Download | License |
|---|---|---|
| Llama 3.2 1B (default) | ≈879 MB | Llama 3.2 Community License |
| Qwen3.5 0.8B | ≈1,629 MB | Apache-2.0 |
| Qwen2.5 1.5B | ≈1,630 MB | Apache-2.0 |
| SmolLM2 1.7B | ≈1,774 MB | Apache-2.0 |
| Llama 3.2 3B | ≈2,264 MB | Llama 3.2 Community License |
| Phi-4 mini | ≈3,438 MB | MIT |
#First use downloads the model
The first time you pick a model, Curtis fetches it — 0.9 to 3.5 GB — from the model host (Hugging Face's CDN) into your browser's cache, with a progress line under the composer. On a metered connection, mind that first download. After it completes the model is cached and loads locally; every turn from then on is fully offline. If your browser clears site data, the cache goes with it and the model re-downloads on next use.
#Browsers
| Browser | Local models |
|---|---|
| Chrome / Edge (desktop) | Supported — the intended home |
| Safari 26+ (iOS) | Supported |
| Everything else | No WebGPU → a clear error, not a silent fallback |
#Privacy
- After the one-time model download, local turns have zero egress. Generation, the system prompt, and conversation history stay on the machine — the send path branches before any network call is possible.
- The download itself is the one egress: from the model host (Hugging Face CDN), once per model.
- Conversation history still syncs to your Curtis server exactly as cloud turns do; delete it there when you're done with it.
#See also
→ PROVIDERS.md — where this provider sits among the built-ins → FAQ.md — the full list of what leaves your machine → VAULT_RETRIEVAL.md — the other local-by-default path: on-device embeddings