Yes, and OpenCues is built to make it honest self-hosting rather than marketing self-hosting: there are no OpenCues servers at all (nothing to host, no account, no telemetry), and with the Ollama provider, inference itself runs on your machine, with a hard guarantee that a local request never silently falls back to the cloud.
The architecture is already serverless
OpenCues has no middleman service. Config lives in plain files under ~/.cues/, hosts read them directly, and LLM requests go straight from your machine to whichever provider you configured, on your own key. Self-hosting therefore reduces to one question: where does inference run? Point llm-provider: ollama at a local Ollama server and the answer is: on your GPU.
The local setup, concretely
Three steps: install Ollama, ollama pull gemma4:e2b (the validated default, about 1.4 GB of VRAM), and set the provider in OPENCUES.md. OpenCues deliberately speaks Ollama's native API rather than its OpenAI-compatible endpoint, because the native API lets it disable a thinking model's reasoning channel; left thinking, such models return empty output on inline token budgets. The privacy guarantee is structural: Ollama has no fallback peer in the failover table, so if the local server is down, calls fail visibly instead of quietly routing to a cloud provider.
Honest performance expectations
| Surface | Local (gemma4:e2b, laptop GPU) | Recommendation |
|---|---|---|
| Word cues (keystroke rate) | Too slow; docs say not recommended | Cloud, or off |
_ blanks and transforms | ~2-3s warm, ~10s one-time model load | Good fit: you asked, you'll wait a moment |
| Rewrite quality | 59.8% on the transform bench vs ~82% for the cloud default | Acceptable for grammar-level fixes; weaker on complex rewrites |
The pragmatic middle is a split: blanks-llm-provider: ollama keeps the deliberate _ surface local while cues stay on a fast cloud key, or go all-local and accept the latency.
Privacy even without self-hosted inference
If full local inference is more than you need, two defaults already limit exposure: identity context runs in safe mode (providers see tokens like [EMAIL]; your machine substitutes real values after the response), and providers whose terms allow training on inputs are structurally refused for prose-bearing surfaces. The security model page covers the full posture.
Related: Ollama vs cloud · Is OpenCues safe? · LLM providers · Open-source Grammarly alternative · GitHub repo