The Open-Source NotebookLM Alternative with Infinite Canvas
A self-hosted Google NotebookLM replacement that gives you complete control.
Chat with documents, generate mindmaps, and organize research visually.
Try Live Demo Β· Quick Start Β· Features Β· δΈζζζ‘£
Tired of Google NotebookLM's limitations? Weaver is a free, open-source NotebookLM alternative that you can self-host and customize.
| Feature | Google NotebookLM | Weaver |
|---|---|---|
| Open Source | Proprietary | AGPL-3.0 |
| Self-Hosted | Google Cloud only | Deploy anywhere |
| Visual Canvas | List-based UI | Infinite canvas workspace |
| LLM Choice | Gemini only | Any LLM (Claude, GPT-4, Gemini, Ollama) |
| Video Sources | YouTube only | YouTube + Bilibili + Douyin |
| Data Privacy | Google servers | Your data, your servers |
| API Access | None | Full REST API |
| Cost | Usage limits | Pay only for LLM API |
Weaver = NotebookLM + Miro + Obsidian β All in one open-source package.
Import from multiple sources and let AI help you understand:
- PDF Documents β OCR support for scanned documents (via Gemini or Docling)
- Web Pages β Extract content from any URL
- YouTube Videos β Auto-transcribe with timestamps
- Bilibili & Douyin β Chinese video platform support (NotebookLM can't do this!)
- File Upload β DOCX, CSV, TXT, JPG, and more
Unlike NotebookLM's rigid list view, Weaver gives you a visual thinking space:
- Drag-and-drop nodes on an infinite canvas
- Connect ideas with relationship lines
- Rich node types β Notes, sources, AI-generated content
- Canvas tools β Select, pan, link, group, and AI-assist modes
- Zoom & navigate β Smooth zoom with minimap overview
- RAG Chat β Ask questions about your documents with inline citations
- Mindmaps β Auto-generate structured mindmaps from your sources
- Summaries β AI summaries with source references
- Flashcards β Generate study cards automatically
- Articles β Synthesize long-form content from multiple sources
- Concepts β Auto-extract key concepts and relationships
- Full API access β RESTful API with Swagger docs at
/docs - Bring your own LLM β OpenRouter, OpenAI, Anthropic, or local Ollama
- Extensible architecture β Clean separation of API, domain, and infrastructure layers
- WebSocket support β Real-time document processing status updates
Get Weaver running in 5 minutes:
git clone https://github.com/guangtouwangba/weaver.git
cd weaver
# Setup everything (installs uv, system deps, backend & frontend)
# This also creates .env from env.example
make setup# Start PostgreSQL, Redis, and Qdrant
cd app/backend && docker compose up -d# Edit the root .env file β only one thing is required:
# Set OPENROUTER_API_KEY (get one at https://openrouter.ai/keys)Auth is bypassed by default (
AUTH_BYPASS_ENABLED=true) so you can start immediately. See env.example for all available options.
# Terminal 1: Start backend API (port 8000)
make run-backend
# Terminal 2: Start frontend (port 3000)
make run-frontendOpen http://localhost:3000 and start researching!
See Backend README for detailed configuration and troubleshooting.
weaver/
βββ app/
β βββ backend/ # FastAPI + Python 3.11+
β β βββ src/research_agent/
β β β βββ api/ # REST endpoints & WebSocket
β β β βββ application/ # Business logic, RAG graphs, AI agents
β β β βββ domain/ # Domain entities & models
β β β βββ infrastructure/ # DB, LLM, vector store, extractors
β β β βββ worker/ # Async task queue (ARQ)
β β βββ docker-compose.yml # PostgreSQL, Redis, Qdrant
β β
β βββ frontend/ # Next.js 16 + React 19
β βββ src/
β βββ app/ # Pages (dashboard, studio, inbox)
β βββ components/ # UI components (canvas, chat, panels)
β βββ stores/ # Zustand state management
β βββ lib/ # API client, canvas utilities
β
βββ docs/ # Documentation & design plans
| Layer | Technologies |
|---|---|
| Frontend | Next.js 16, React 19, TypeScript, Konva.js (Canvas), Zustand |
| Backend | Python 3.11+, FastAPI, SQLAlchemy 2.0 (async), LangGraph |
| Database | PostgreSQL + pgvector, Qdrant (Vector Search), Redis (Cache & Queue) |
| AI/LLM | OpenRouter, OpenAI, Anthropic, Google Gemini, Ollama |
| Embedding | OpenAI, Gemini, Cohere, Voyage |
| Document Processing | Unstructured, PyMuPDF, Docling (OCR), Trafilatura |
| Video | yt-dlp, youtube-transcript-api, bilibili-api-python |
| Provider | Models | Setup |
|---|---|---|
| OpenRouter (Recommended) | Any model (Gemini, Claude, GPT-4, Llama, etc.) | OPENROUTER_API_KEY |
| OpenAI | GPT-4o, GPT-4, GPT-3.5 | OPENAI_API_KEY |
| Anthropic | Claude 3.5, Claude 3 | ANTHROPIC_API_KEY |
| Gemini 2.5 Flash, Gemini Pro | GOOGLE_API_KEY |
|
| Ollama (Local) | Llama, Mistral, Phi, etc. | OLLAMA_BASE_URL |
- Upload lecture PDFs and papers
- Ask questions across all your sources
- Generate study flashcards automatically
- Create visual mindmaps for exam prep
- Research topics from multiple sources
- Generate article outlines
- Organize ideas on the canvas
- Export structured content
- Analyze reports and documents
- Build a personal knowledge base
- Self-host for complete data privacy
- Integrate with existing workflows via API
- Python 3.11+ / Node.js 18+
- Docker & Docker Compose (for PostgreSQL, Redis, Qdrant)
- macOS:
brew install poppler ffmpeg - Linux:
apt install poppler-utils ffmpeg
make install # Install all dependencies
make dev # Run backend + frontend in parallel
make test # Run test suites
make lint # Lint code (Ruff + ESLint)
make migrate # Run database migrationsAPI documentation is available at http://localhost:8000/docs when the backend is running.
- PDF / Web / YouTube / Bilibili / Douyin import
- Infinite canvas workspace
- RAG chat with citations
- Mindmap generation
- Concept extraction & knowledge graph
- Guest mode for quick testing
- Podcast generation (like NotebookLM Audio Overviews)
- Chrome extension for web clipping
- Multi-language UI
- Collaborative editing
We welcome contributions! Whether it's:
- Bug reports
- Feature requests
- Documentation
- Pull requests
See CONTRIBUTING.md to get started.
- Star this repo if you find it useful!
- Report bugs
- Request features
Dual Licensed:
- Open Source: AGPL-3.0 β Free to use, modifications must be open-sourced
- Commercial: Contact 819110812@qq.com for closed-source licensing
Weaver β The open-source NotebookLM alternative
Built with care by the Weaver community
Inspired by Google NotebookLM
If you're looking for an open-source NotebookLM replacement, give Weaver a star!



