thunderbird /thunderbolt

AI You Control: Choose your models. Own your data. Eliminate vendor lock-in.

★ 4,818⑂ 336👁 22▤ 351
TypeScriptCreated 2025-07-24thunderbolt.io
4,818
stars
+0+0+42
336
forks
22
watchers
–
prs
–
issues
351
releases
–
discussions

README

Thunderbolt 

AI You Control: Choose your models. Own your data. Eliminate vendor lock-in.

!Thunderbolt Main Dashboard

Thunderbolt is an open-source, cross-platform AI client that can be deployed on-prem anywhere.

- 🌐 Available on all major desktop and mobile platforms: web, iOS, Android, Mac, Linux, and Windows.
- 🧠 Compatible with frontier, local, and on-prem models.
- 🙋 Enterprise features, support, and FDEs available.

 Get Started Locally

sh
make doctor     verify your tools — prints exact install commands for anything missing
make setup      install frontend + backend dependencies, wire up agent symlinks
make up         start Postgres + PowerSync in Docker
make run        start the backend (:8000) and frontend (:1420)


For self-hosting with Docker Compose, Kubernetes, or Pulumi on AWS, see docs/self-hosting/. For full dev-environment details, see docs/internals/development/quick-start.md.

 Need Help?

Found a bug? Have an idea?

- We're actively working on our docs, community, and roadmap. For now, the best way to get in touch is to File an issue.

 Contributing

We welcome contributions from everyone.

- Getting set up: the development guide gets the backend, sync service, and frontend running locally.
- Conventions: AGENTS.md documents the code style and architecture invariants this repository is held to — TypeScript and React rules, useEffect discipline, localization, responsive sizing, the app-version gate, reconciled defaults. It is written for coding agents, but it is the same reference human reviewers use.
- Further development, tooling, and architecture docs are listed under Documentation below.
- Make sure to check out the Mozilla Community Participation Guidelines.

 Documentation

Everything under docs/ is also published at thunderbolt.io/docs.

 Using Thunderbolt

- Introduction — what Thunderbolt is, and who it is for today
- FAQ — funding, the relationship to Thunderbird, model support, data handling
- Customize — the extension points: agents, models, skills, projects, widgets, MCP servers, auth providers
- CLI — thunderbolt, the single-binary terminal coding agent, and the ACP/MCP bridge that connects it to the app
- Telemetry — what is collected, and how to turn it off

Features:

- Projects — a workspace whose instructions every chat inside it inherits
- Skills — reusable instruction bundles invoked with /slug or loaded by the model
- Widgets — interactive components the model embeds in a response
- HTML Artifacts — model-authored pages rendered in a sandboxed iframe
- Attachments — files on a chat turn, and why the bytes are never stored server-side
- Voice Mode — spoken conversation through the same send path as typing
- Search and the Command Palette — Cmd/Ctrl+K over chats, messages and settings
- MCP Connections — adding Model Context Protocol servers
- ACP Agents — handing a thread to an external coding agent over WebSocket or iroh
- WebView — opening links in the app's side panel (desktop and mobile)
- Multi-De

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON