- chat.md, overview.md: how a streamed token renders only the live reply (runSummaries, the 32 ms notice gap, LiveThreadRuntime, the bounded highlighter, memoized panels) and that the columns resize. - model-capabilities.md, agent.md, data-model.md, 07-dev-setup.md: the two chat modes, their gates and defaults, where a pick is stored, the 0-id fix, and how to re-run the OpenRouter sweep and regenerate capabilities.json. - RELEASE.md: the steps 2.2.0 was released by, from the bump (with its PowerShell form) to the tag on the merge, the Known issues, an optional update check and publishing with --latest; dry runs are signed. - 06-repo-readme.md, AGENTS.md, README.md's comment: the README's structure, how to change it and its translations, re-checking the format table, and replacing the demo video. - Stale statements fixed (the Apple agreement, opencode never shipped, three languages, Studio's exec(), proposal statuses, the roadmap), and each gap still open after the release in its doc's Known gaps, linked to #2219-#2230.
7 KiB
SurfSense
The air-gapped, open-source NotebookLM alternative.
The AI agent that researches, transforms and edits your documents, on your machine.
Download · Formats · Quick start · Compare · Pricing · Discord
English | العربية | Deutsch | Español | Français | हिन्दी | 日本語 | 한국어 | Português | Русский | 简体中文
https://github.com/user-attachments/assets/88326b9d-e763-46db-9635-75f9df9e8682
SurfSense is a free, open-source desktop app for documents you can't upload. A privacy-focused, NotebookLM-style AI agent that researches, transforms and edits your documents, on your machine. The index stays on your disk, you pick the model, local or remote, and there is no account.
| Platform | Download |
|---|---|
| Windows x64 | SurfSense-Setup.exe |
| macOS Apple Silicon | SurfSense-arm64.dmg |
| Linux x64 | AppImage · deb |
Note
Used the hosted web app? Export your workspaces before 18 October 2026 and import them here. See the sunset page.
Quick start
- Install SurfSense and do the initial onboarding setup.
- Drop your files or folders in your sources.
- Ask the agent to search or extract or edit your files.
What it does with each format
| Format | Research (cited answers) | Create | Edit (as a copy) | Transform |
|---|---|---|---|---|
| ✓ scanned pages too³ | ✓ | Fill and flatten forms; stamp watermarks, page numbers, headers, footers | Merge, split, extract, rotate, reorder pages | |
Word .docx |
✓ | ✓ or from your own .docx as a template |
✓ body text, as tracked changes and comments | To PDF¹ |
Excel .xlsx |
✓ the agent also reads formulas | ✓ with formulas and native charts | ✓ cell values and formulas | Analyse with pandas, chart the results |
PowerPoint .pptx |
✓ | ✓ or from your own .pptx as a template |
Replace text on slides and notes; delete or duplicate slides | To PDF¹ |
| CSV | ✓ | — | — | Analyse with pandas, chart the results |
| Images PNG, JPEG, TIFF, BMP, WebP | ✓ text read by OCR³ | Images and infographics² | — | Place in new documents |
| Markdown, plain text | ✓ | ✓ Markdown | — | — |
| HTML | ✓ | ✓ web page | — | — |
| Podcast (audio) | — | ✓ with a transcript, voiced on your machine by default | — | — |
| Mind maps, flashcards, quizzes | — | ✓ in the app | — | — |
¹ With Office support (LibreOffice), turned on in Settings; it is never in the installer. ² Needs an image model, local or remote; none is chosen by default. ³ OCR reads Latin, Chinese and Japanese script.
Edits, conversions and PDF tools always make a new file; your original is never changed. PDF, Word and Excel do the most today, and support for the other formats keeps improving.
How it compares
| NotebookLM (now Gemini Notebook) | SurfSense | |
|---|---|---|
| Runs offline / air-gapped | No | Yes |
| Your documents leave your machine | Yes | No, unless you pick a remote model |
| Can edit your files | No | Yes |
| Open source | No | Apache-2.0 |
| Models | Gemini only | Any OpenAI-compatible API, or a local one |
Community
- Discord for help, Issues for bugs, Discussions for ideas.
- Contributing: PRs go against
dev; see CONTRIBUTING.md andsurfsense_local/for the dev loop. How it works is indocs/.
Star history
License
Apache-2.0. See LICENSE.
