DEV Community

Weather Clock Dash
Weather Clock Dash

Posted on

How I Added AI Writing Assistance to Firefox Without Any External API

The Privacy Problem With AI Writing Tools

Most AI writing assistants send your text to an external API — that means your emails, notes, and documents leave your machine and hit a third-party server. For sensitive writing, that's a deal-breaker.

I wanted something that could assist with writing without that tradeoff.

AI Writing Assistant for Firefox

AI Writing Assistant is a Firefox extension that provides writing help directly in the browser. It works with text on any webpage — you highlight, click, and get suggestions.

What it does:

  • Grammar and style suggestions
  • Rephrasing options
  • Tone adjustments (formal, casual, concise)
  • Works on any text field in the browser

AMO page: https://addons.mozilla.org/firefox/addon/ai-writing-assistant/

The Technical Approach

Rather than calling an external LLM API, the extension uses lightweight client-side models for basic writing tasks. This keeps response times fast and data local.

For users who want more powerful AI suggestions, there's an optional config to connect to a local LLM endpoint (like Ollama) — so you can use Mistral or Llama locally while keeping the same privacy guarantee.

Use Cases

Good for:

  • Email drafting — before sending, check tone and clarity
  • Slack/Teams messages — quick polish on professional messages
  • Form fields — improve text in web forms before submitting
  • Blog posts — running in the browser while you write

What It Doesn't Do

This isn't a replacement for GPT-4 or Claude for complex generation tasks. It's a lightweight writing assistant for quick improvements — the kind you'd want available in seconds without switching apps.


Free on Firefox Add-Ons. No account required, no data leaves your browser.

Firefox Add-Ons listing

Top comments (1)

Collapse
 
alexcodebytes profile image
Oleksandr •

The privacy-first approach is a massive win. Pasting sensitive emails or internal Slack messages into a cloud-based AI is usually a compliance nightmare.

Two technical questions about the implementation:

What client-side model are you using for the built-in lightweight tasks? (WebLLM, ONNX Runtime Web, or a tiny T5/Phi model?)

How do you handle the CORS and mixed-content security issues when connecting to a local Ollama instance? Browsers usually lock down localhost requests from extensions pretty tightly.

Great work on building a truly local-first tool!