Skip to content
miczPublic

Repository files navigation

ThunderAI icon ThunderAI

Use ChatGPT, Google Gemini, Claude or Ollama to enhance your emails!

Thunderbird Add-ons Thunderbird 140.0+ License: GPL v3

ThunderAI is a Thunderbird add-on that brings AI directly into your mailbox: analyse, write, correct, translate, summarize, tag and optimize your emails, and turn them into calendar events or tasks — without leaving Thunderbird.

You can connect it to a cloud provider (ChatGPT, OpenAI, Google Gemini, Claude) or keep everything local with Ollama or an OpenAI-compatible server.

You can also define, export and import your own custom prompts, and use additional data placeholders in any of them.

Installation

Install ThunderAI from the Thunderbird Add-on site, or download the last release from the release page.

Note

Requirements: Thunderbird 140.0 or later.

On first run a Setup Wizard guides you through choosing an AI provider, testing the connection and enabling the automatic features, no manual configuration needed. You can launch it again at any time from the welcome page, the toolbar popup or the settings page.

Features

Email actions

Action Description
Reply Draft a reply to the selected email, with a simple or an advanced prompt, or with your own custom instruction
Proofread Correct grammar and spelling, then review the result in an interactive change picker: original and suggestion side by side, accept or reject each change, or edit manually
Rewrite Rewrite the selected text in a polite or a formal tone, preserving the HTML formatting
Summarize Summarize one or more emails, in the chat window or inline in the message pane, optionally always in a chosen language
Translate Translate an email or the selected text, in the chat window or inline
Add tags Let the AI suggest and assign Thunderbird tags
Classify Classify an email according to your own criteria
Calendar event Extract an event from an email — or from the clipboard — with date, location and description. The AI can also set a reminder following your rules written in natural language, and a link to the original email can be appended (the link is never sent to the AI)
Task Extract a task from an email, with due date and description, with the same reminder and link options as calendar events
Prompt this Send the email or the selected text to the AI with a free-form prompt

The Calendar event and Task actions also require the companion add-on ThunderAI Sparks.

Automatic features

Using an API integration, ThunderAI can work on incoming mail on its own:

Feature Description
Auto-tagging Tag incoming emails automatically, with an exclusion list and an option for sent mail
Spam filter Move spam to the junk folder, with a per-message report and a consultable log. A skip list and a block list, of addresses or whole domains (@domain.com), decide some senders without asking the AI
Auto-summarize Summarize on open, on receive or on demand, with caching and an optional list of senders/domains always summarized
Auto-translate Translate incoming emails inline, with caching

Drafts, templates, outbox and sent messages are skipped, so a draft is never processed while you are writing it. Several emails can be processed in parallel, and the same feature never runs twice on the same email. When the AI server is temporarily unavailable a request is repeated automatically, and the automatic processing stops by itself when the provider's rate limit or quota is exceeded.

Customization

  • Custom prompts — create, edit, export and import your own prompts in a list with a detail editor, or review all of them and their options in a table view, with {%placeholder%} highlighting, autocomplete and validation while you type. Every change is saved immediately
  • Custom data placeholders — define your own reusable data tokens
  • Menu order — drag and drop to choose which prompts appear in the popup and in the context menu, and in which order
  • Per-prompt and per-feature integration — any prompt, and any feature such as Summarize, Translate or the Spam filter, can use a different AI provider, model and advanced options than the global one
  • AI chat window — conversation turns, the API and model in use, light/dark theme following Thunderbird, per-answer actions, thinking/reasoning blocks and, optionally, the tokens used by each answer
  • Quick access — search box in the popup and the Ctrl+Alt+A shortcut
  • Batch processing — run a prompt on many emails, with a progress counter and a stop button
  • Many interface languages, check here the list

For administrators

ThunderAI supports the Thunderbird Enterprise Policies: with policies.json an administrator can pre-configure or enforce any setting, including the AI connections, provide organization prompts, turn off prompt management, hide the built-in prompts and disable the setup wizard. See the Enterprise Configuration guide for where policies.json goes, a worked example and the full key reference.

Integrations

Provider API key Notes
ChatGPT Web not needed Works with a free account: the prompt is sent through a ChatGPT window. Supports a specific model, a Project, a Custom GPT and temporary chats. An optional extended model check makes sure the requested model is selected before sending
OpenAI API required Model, developer messages, temperature, Top P, max output tokens, verbosity, output format (JSON schema), truncation, prompt cache key, service tier, safety identifier and conversation storage. On reasoning models you can set the reasoning summary and the effort, and send extra JSON parameters with every request. The options adapt to the selected model
Google Gemini required Model, temperature, Top P, Top K, max output tokens, System Instructions, extra body data and thinking budget — leave the budget empty to let the model decide
Claude API required Model, system prompt, max tokens, temperature, Top P, Top K, stop sequences, extended thinking budget and effort. The request adapts to the selected model, so the options that a model rejects are disabled instead of failing. Requires the permission "Access your data for sites in the https://anthropic.com domain"
Ollama optional Runs fully locally: model, context size, temperature, reasoning level, system prompt, keep model loaded, extra options and forced JSON output, adapting to the selected model. The API key is needed only for the hosted API at ollama.com or for a server behind an authenticating proxy. The server must accept requests from the add-on, adding OLLAMA_ORIGINS = moz-extension://* to its environment variables — more info about CORS
OpenAI Compatible optional Any OpenAI-compatible server, local or remote, such as LM Studio. Ready-made configurations for DeepSeek, Grok, Mistral, OpenRouter and Perplexity, or set the host by hand. The "v1" compatibility segment can be turned off, the model name typed manually when the server exposes no models list, and extra JSON parameters sent with every request

Documentation

  • ThunderAI home page — features and guides
  • Setup Guides — step-by-step guides to connect ThunderAI to the AI backend of your choice, from ChatGPT to local models with Ollama
  • Enterprise Configuration — deploy ThunderAI across an organization: pre-configure or enforce settings and distribute a shared set of prompts with the Thunderbird Enterprise Policies
  • Custom Prompt Tutorial — learn how to build your first custom prompt from scratch, combining placeholders and user input to automate your email replies
  • ThunderAI Prompt Architect — let ChatGPT help you crafting your custom prompts. Thanks to Paweł for this tool!
  • Changelog — all of the changes of ThunderAI

Contributing

Before opening an issue or a pull request, please read the contributing guidelines: they explain how to report issues, help with translations and which branch to target with a pull request.

Running the tests

The add-on itself has no build step and no dependencies: it is plain JavaScript loaded as it is by Thunderbird. ThunderAI has an automated test suite in tests/, covering one area at a time — the enterprise managed configuration, the prompts and placeholders, the API integrations, the settings pages, the AI chat window, what the add-on reads from and writes into a mail, the background, ChatGPT Web and more — in two levels, both run from the repository root with Node's built-in test runner:

# Level 1 - the modules. Node 22 or later, nothing to install
node --test "tests/**/*.test.mjs"

# Everything, including the DOM tests (the pages loaded in jsdom).
# Node 22.22+ or 24.15+
npm ci
npm test

npm is used for development tooling only: jsdom is the one development dependency, and nothing in package.json or node_modules is part of the add-on or ends up in the XPI. The tests run in CI on demand only — manually from the Actions tab, or by adding the run-tests label to a pull request — not on every commit. How they work, and how to add a scenario or a page, is explained in tests/README.md.

Privacy and Permissions

You can find all the information on this page.

Support this addon!

Are you using this addon in your Thunderbird?
Consider supporting the development with a small donation. Click here!

License

ThunderAI is released under the GNU General Public License v3.0. See LICENSE for the full text.

Attributions

Translations


Do you want to help translate this addon? Find out how!
The language status represents the percentage of translated strings in the latest stable release.


Graphics


Miscellaneous

Releases

Used by

Contributors

Languages