Find a file
Rohan Verma 299abf676a
Some checks are pending
Desktop Tests / Changes (push) Waiting to run
Desktop Tests / Backend (macos-latest) (push) Blocked by required conditions
Desktop Tests / Backend (ubuntu-latest) (push) Blocked by required conditions
Desktop Tests / Backend (windows-latest) (push) Blocked by required conditions
Desktop Tests / Frontend (push) Blocked by required conditions
Desktop Tests / Electron (macos-latest) (push) Blocked by required conditions
Desktop Tests / Electron (ubuntu-latest) (push) Blocked by required conditions
Desktop Tests / Electron (windows-latest) (push) Blocked by required conditions
Desktop Tests / Desktop Gate (push) Blocked by required conditions
Merge pull request #2287 from MohammadHijjawi97/fix/studio-word-list-numbering
fix(local): count each numbered list in a Studio Word file from 1
2026-10-17 18:28:01 -07:00
.agents/skills feat(local): set up a Claude plan from Settings and onboarding 2026-10-16 19:57:32 +05:30
.claude chore: add AGENTS.md and a small set of vendor skills 2026-09-18 08:51:48 +02:00
.cursor/rules chore: move skills from .cursor/skills to .agents/skills for cross-agent compatibility, update Claude Code symlink 2026-09-15 16:03:19 +05:30
.github Merge pull request #2265 from Cedric921/ci/release-dry-run-signing 2026-10-17 18:11:20 -07:00
.vscode refactor(plugins): move the bundle tooling under plugins/bundles 2026-10-10 20:19:47 +05:30
docker fix(sandbox): bump fast-uri, js-yaml and undici in remotion lockfile 2026-09-30 23:23:01 -07:00
docs Merge pull request #2287 from MohammadHijjawi97/fix/studio-word-list-numbering 2026-10-17 18:28:01 -07:00
plans docs(readme): Plugins before How it compares, in every README 2026-10-15 15:46:47 -07:00
plugins fix(plugins): review fixes before merge 2026-10-14 15:01:56 -07:00
scripts docs: cover the work since 2.1.0 so others can pick it up 2026-10-11 17:55:51 -07:00
surfsense_backend chore(local): release 2.2.2 2026-10-16 14:20:07 -07:00
surfsense_local Merge pull request #2287 from MohammadHijjawi97/fix/studio-word-list-numbering 2026-10-17 18:28:01 -07:00
surfsense_mcp fix(mcp): bump anyio, cryptography and pyjwt in the lockfile 2026-09-30 23:25:11 -07:00
surfsense_web chore(local): release 2.2.2 2026-10-16 14:20:07 -07:00
.coderabbit.yaml ci(coderabbit): review pull requests against dev automatically 2026-09-30 15:21:29 -07:00
.gitattributes fix: backend container fails with missing entrypoint when built locally 2025-12-06 21:31:32 -08:00
.gitignore chore(gitignore): updated version 2026-09-18 15:49:52 +05:30
.pre-commit-config.yaml feat(local): group podcast voices by gender in the brief form 2026-09-26 01:44:35 +05:30
.secrets.baseline chore: add pre-commit 2025-07-21 22:46:12 +05:45
AGENTS.md docs(plugins): fold the built remote plugins into architecture, keep only what is not built as the proposal 2026-10-14 13:47:47 +05:30
CLAUDE.md chore: add AGENTS.md and a small set of vendor skills 2026-09-18 08:51:48 +02:00
CODE_OF_CONDUCT.md docs: make first contributions match one tree, not the old hosted stack 2026-09-18 08:52:14 +02:00
CONTRIBUTING.md docs(plugins): a guide to listing a plugin, for publishers and agents 2026-10-14 14:00:02 +05:30
LICENSE chore: plain Apache LICENSE, and the site and README say the plugins have shipped 2026-10-15 14:49:37 -07:00
README.ar.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
README.de.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
README.es.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
README.fr.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
README.hi.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
README.ja.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
README.ko.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
README.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
README.pt-BR.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
README.ru.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
README.zh-CN.md docs(readme): recordings in the format table, in every language 2026-10-16 14:21:25 -07:00
SECURITY.md docs: make first contributions match one tree, not the old hosted stack 2026-09-18 08:52:14 +02:00
skills-lock.json chore: add AGENTS.md and a small set of vendor skills 2026-09-18 08:51:48 +02:00
SurfSense.code-workspace refactor(plugins): move the bundle tooling under plugins/bundles 2026-10-10 20:19:47 +05:30
VERSION chore: bump version to 0.0.40 2026-09-12 21:32:01 +02:00

Stars Latest release License Discord

SurfSense, the air-gapped open-source NotebookLM alternative

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 · Plugins · Pricing · Discord

MODSetter/SurfSense | Trendshift

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

  1. Install SurfSense and do the initial onboarding setup.
  2. Drop your files or folders in your sources.
  3. 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
PDF ✓ 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 — —
Recordings WAV, MP3, FLAC, Ogg Vorbis ✓ transcribed on your machine — — —
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.

Plugins

Connect them in Settings › Plugins.

By SurfSense. They read public pages without your own accounts and need a SurfSense license: download the app and enter your email there for a free 30-day one.

Plugin What it does
Google Search Search Google and read its results, ads and related questions
Web Crawl Read a web page, or crawl a whole site into clean text
YouTube Read YouTube videos, channels and their comments
TikTok Read TikTok videos and their comments, search users, and see what is trending
Google Maps Find places on Google Maps and read their reviews
Amazon Read Amazon products and search results
Walmart Read Walmart products, search results and reviews
Indeed Read job listings on Indeed

Third-party. MCP servers from the plugin registry, such as DeepWiki and Notion, or any you add by URL. No license needed; they stay off until you allow them.

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

SurfSense contributors

License

Apache-2.0. See LICENSE.