How it works
Grounded in your sources, not the model’s memory
Notebooks group three things: sources on the left, chat in the middle, Studio outputs on the right. Every answer cites the exact sources it used, inline, by title.
Retrieval over everything
Sources are chunked and indexed locally — embeddings when a key is available, an offline BM25 fallback otherwise. A 400-page PDF stays fully answerable without giant context bills.
Grounding you control
/ground toggles source grounding per notebook; @mention
a source to focus a reply; /search and /research bring the
web in when you want it.
Costs kept visible
Prompt caching on Anthropic and usage accounting on OpenAI/OpenRouter keep repeat context cheap. Every reply shows its token usage in the footer.
The Studio
Turn sources into study material
Every output is saved, and can be viewed, revised, downloaded or deleted. On notebooks too big for a context window, every tool runs over a cached whole-notebook condensation built by one exhaustive pass.
Flashcards
Active-recall decks with count, difficulty and focus controls.
Quiz
Multiple-choice questions with explanations and grading.
Mind map
Hierarchical idea outlines, rendered as mermaid diagrams.
Audio overview
Two-host podcast — deep-dive, brief, debate or critique — with script and TTS voices.
Reports
Summary, study guide, briefing, FAQ, timeline, analysis or fully custom prompts.
Deep research
Web-powered, cited reports on any topic from 3–5 auto-generated search angles.
Any output can be revised: describe the change, replace the original or save a copy.
Local-first
Your documents never leave your machine
No account, no cloud, no telemetry
Everything — notebooks, chats, Studio outputs, settings — lives in one SQLite file on your computer. There is nothing to sign up for and nothing is synced anywhere.
Bring your own keys
Pick OpenRouter, OpenAI or Anthropic. Keys are stored locally on your machine and are only ever sent to the provider you chose — and the phone app proxies everything through your Mac, so keys never leave it.
Pair your phone
Scan a QR code, enter a 6-digit PIN, and your phone talks to the Mac over a secure tunnel. Full-access or read-only scopes, one-tap revoke, and a recent activity log for every device.
Your notebook, your rules
Each notebook can carry an editable constitution — a persona document that governs how the assistant behaves inside that notebook.
Compare
BrewLM next to the alternatives
NotebookLM popularized the idea; Open Notebook made it self-hostable. BrewLM’s angle: a single native desktop app, local-first, no setup.
| BrewLM | NotebookLM (Google) | Open Notebook | |
|---|---|---|---|
| Open source | ✓Apache-2.0 | ✕ | ✓MIT |
| Free, no subscription | ✓ | ~Plus tier is a subscription | ✓ |
| No account required | ✓ | ✕Google account | ✓ |
| Native desktop app | ✓macOS · Windows · Linux | ✕web app | ✕browser |
| Data stays on your device | ✓one local SQLite file | ✕Google’s cloud | ✓your own server |
| Zero-setup install | ✓install, paste a key | ✓just sign in | ✕Docker + provider config |
| Choose your AI provider | ✓OpenAI · Anthropic · OpenRouter | ✕Gemini only | ✓18+ providers |
| Works offline | ~read & organize; AI needs a connection | ✕ | ✓with local models |
| Inline source citations | ✓cites sources by title | ✓ | ~basic |
| Podcast audio overviews | ✓2 hosts, 4 formats | ✓2 hosts | ✓1–4 speakers |
| Flashcards & quizzes | ✓with grading | ✕ | ✕ |
| Themes | ✓12 built-in | ✕ | ✕ |
| Folders | ✓organize notebooks | ✕ | ✕ |
| Command palette | ✓type / in chat | ✕ | ✕ |
| Use on your phone | ✓pair via QR — no app | ✓native apps | ✓browser |
| API / automation | ~in-app slash commands | ✕ | ✓full REST API |
✓ yes · ~ partial · ✕ no
Commands
Everything is one / away
Type / in the chat composer to browse commands with autocomplete.
App actions run locally and cost nothing; AI actions use your provider.
App actions local — no AI tokens
/help | Open the in-app quick-start guide |
/note <text> | Save text as a source and @-mention it |
/url <link> | Fetch a webpage into your sources |
/new | Start a fresh chat thread |
/rename <title> | Rename the current chat thread |
/clear | Delete this chat thread, start fresh |
/queue <prompt|command> | Stack work while the AI is busy |
/ground | Toggle source grounding per notebook |
/model <id> | Swap the active AI model |
/theme <name> | Switch between 12 built-in themes |
/star | Star/un-star the notebook on the homepage |
/move <folder> | File the notebook into a folder; /move out to root |
/clone "title" [yes|no] | Duplicate the whole notebook |
/remove <sources|chats|studios> [type] | Bulk delete, optionally by type |
/return | Back to the homepage |
AI actions use your provider
/summarize | Structured summary of the whole notebook |
/flashcards [8|12|24] [easy|medium|hard] [focus] | Active-recall deck from your sources |
/quiz [4|8|15] [easy|medium|hard] [focus] | Multiple-choice with explanations & grading |
/mindmap [focus] | Hierarchical outline of the key ideas |
/audio [deep-dive|brief|debate|critique] [short|standard|long] [focus] | Two-host podcast with script and TTS |
/report [summary|study-guide|briefing|faq|timeline|analysis|custom] | Grounded markdown documents |
/search <query> | One-shot web answer with numbered links |
/research <topic> | Deep, multi-angle cited web report |
Every AI action also exists as a button in the Studio panel — commands are for speed.
FAQ
Questions, answered
Is BrewLM really free?
Yes — free and open source under Apache-2.0. The only cost is your own AI usage: you bring an API key for OpenAI, Anthropic, or OpenRouter and pay that provider directly, per token, with no markup.
Do I need an account or cloud sync?
No. There is no sign-up, no sync service, and no telemetry. Notebooks, chats, Studio outputs, and settings live in a single SQLite file on your machine.
Which AI providers and models can I use?
OpenAI, Anthropic, or OpenRouter (one OpenRouter key unlocks Claude, GPT, Gemini, Llama, DeepSeek and more). Switch models per notebook with /model. Audio voices can come from OpenAI, OpenRouter, ElevenLabs, or your device’s system voices.
What can I put in a notebook?
PDFs (text extracted locally), text/markdown/CSV, images, audio files, web links (fetched and cleaned), and pasted notes. Each notebook can also carry an editable constitution — a persona document that steers how the assistant behaves.
Does it work offline?
Reading, organizing, and searching your notebooks works fully offline. AI features (chat, Studio tools) call your chosen provider, so they need an internet connection. Source retrieval has an offline BM25 fallback when embeddings aren’t available.
The installer is unsigned — is that safe?
It’s expected: BrewLM isn’t enrolled in Apple’s or Microsoft’s signing programs yet. On macOS, right-click → Open on first launch; on Windows, choose More info → Run anyway. The builds come straight from the public CI workflow on GitHub, from the exact tagged source you can read.
How does phone pairing work, and is it safe?
Settings → Pair a device shows a QR code and a 6-digit PIN. Your phone talks to the desktop over a secure tunnel — choose full access or read-only at pairing time. Devices are individually revocable, rate-limited, logged in an activity view, and your API keys never leave the desktop.
How is it different from Google’s NotebookLM?
NotebookLM runs in Google’s cloud with Google’s models; BrewLM runs on your machine with the models you choose, and your documents never leave it. See the comparison table for the full picture.
Download
Free for macOS, Windows and Linux
Grab the latest build from GitHub Releases. No account — paste your own API key in Settings on first launch.
macOS
BrewLM_…_universal.dmg
Intel + Apple Silicon in one image. Unsigned: first launch via right-click → Open. If reported “damaged”, run xattr -cr /Applications/BrewLM.app once.
Windows
BrewLM_…_x64-setup.exe
Setup exe (recommended) or MSI. SmartScreen warns on unsigned installers: More info → Run anyway.
Linux
BrewLM_…_amd64.AppImage
AppImage (chmod +x, then run) or .deb for Debian/Ubuntu. An .rpm is also on the release page.
All releases & release notes →
Or build from source
git clone https://github.com/VSRemoter/BrewLM.git
cd BrewLM
npm install
npm run tauri dev
Requires Node 22+ and a Rust toolchain. Full build docs on GitHub →