Skip to content

Run a fully local, private AI

The outcome: the @b button in your Thunderbird compose toolbar works exactly like it does with OpenAI or Anthropic — Improve this draft, Summarise this thread, custom prompts — but the model that generates the reply is running on your own laptop. Nothing about the email goes to a third-party AI provider — the model that reads and writes it runs entirely on your own machine.

If “let me use AI on email I’d never paste into ChatGPT” describes how you feel, this is the recipe.

  • Privacy. The full email content + your prompt is processed locally. Ollama doesn’t have a privacy policy because there’s nothing to log — the model is a file on your disk, talking to a process on your machine.
  • No per-call cost. Free model, free inference, free everything. Use it as much as you want.
  • No API key shuffle. Skip the “create OpenAI account, get a key, paste it” dance. Ollama runs on localhost; @bridge AI Chat points at it directly.
  • Slower than cloud models. A laptop running Llama 3.1 8B is ~5–20 seconds per “improve this draft” call, vs ~2 seconds for GPT-4o-mini. Use a smaller model + a beefier machine to close the gap.
  • Lower quality than GPT-4o or Claude Sonnet 4.6. Llama 3.1 8B is solid for most email work, but it won’t match the frontier models on nuanced tone or multi-paragraph editing.
  • Costs you laptop battery + RAM. Running a local model is real compute. If you’re on battery, expect a 20–40% draw while the model is generating.

Get Ollama from ollama.com/download. Available for macOS, Linux, Windows.

After install, Ollama runs as a background service on http://127.0.0.1:11434. You don’t need to do anything to start it — it’s running.

In a terminal:

Terminal window
ollama pull llama3.1:latest

This downloads about 5 GB. The first call after install is a one-time wait; after that the model is on disk.

If you have a beefy machine (16+ GB RAM, fast CPU or any GPU), try a larger model — quality scales well:

Terminal window
ollama pull llama3.1:70b

Open Thunderbird → atbridge.ai addon Settings → @bridge AI Chat section.

  • Provider: pick ollama (local — private) from the dropdown
  • API key: leave empty (Ollama runs without auth on localhost)
  • Click Activate

@bridge generates the encrypted device key locally, asks our backend to wrap it under the per-environment master, and writes the wrap to ~/.atbridge/connect-wrapped.bin. Even though your LLM is local, the @bridge AI Chat activation is still server-mediated — that’s how we prevent a cracked client from spoofing Pro entitlement. The server does not see your Ollama traffic or your model output; it only mediates the unwrap step at invoke time.

Open a compose window in Thunderbird. Click the @b button on the compose toolbar. The popover appears.

  • Click Improve this draft — your draft text is sent to your local Ollama, the polished version is injected back into the compose window. Roundtrip: ~5–10 seconds for llama3.1:latest on a recent laptop.
  • Or type a custom instruction in the prompt box: “translate this to Spanish”, “make it more formal”, etc.

That’s it. Your email content never crossed your local network interface, let alone the public internet.

If you want to verify, run a packet capture (tcpdump, Wireshark) while you click the @b button. You should see:

  1. A short HTTPS request to atbridge.ai for the unwrap call (no email content — just {email, license_key, device_id, wrapped_b64})
  2. A TCP connection to 127.0.0.1:11434 (your Ollama, local)
  3. No other outbound traffic

That’s the entire privacy footprint.

  • Ollama with auth in front of it (e.g. remote, reverse proxy): paste your Bearer token in the API key field. The OpenAI-compat adapter forwards it.
  • Want to point at a non-standard Ollama port? Use the openai-compatible preset instead and paste your custom base URL.
  • Other local LLM runners (LM Studio, llama.cpp’s server, vLLM) also speak the OpenAI-compatible API. Use the openai-compatible preset and point at their endpoint.

Was this page helpful?