Skip to content

guangtouwangba/weaver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

394 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Weaver Logo

Weaver

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.

GitHub stars GitHub forks GitHub issues

License Python Next.js FastAPI

Try Live Demo Β· Quick Start Β· Features Β· δΈ­ζ–‡ζ–‡ζ‘£


Why Weaver? (NotebookLM vs Weaver)

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.


Screenshots

Dashboard β€” Project overview with grid/list views

Dashboard β€” Manage all your research projects

Studio β€” Infinite canvas with Sources/Concepts sidebar

Studio β€” Infinite canvas with Sources & Concepts sidebar

AI Chat β€” Ask questions about your documents

Weaver AI β€” Chat with your documents, get cited answers

Import β€” Upload files, paste URLs, or search the web

Import Sources β€” Upload files, paste URLs, or search the web


Features

Multi-Source Import (Like NotebookLM, But Better)

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

Infinite Canvas Workspace (Unique to Weaver)

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

AI-Powered Research Tools

  • 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

Built for Developers

  • 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

Quick Start

Get Weaver running in 5 minutes:

1. Clone & Install

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

2. Start Infrastructure

# Start PostgreSQL, Redis, and Qdrant
cd app/backend && docker compose up -d

3. Add Your API Key

# 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.

4. Run the Application

# Terminal 1: Start backend API (port 8000)
make run-backend

# Terminal 2: Start frontend (port 3000)
make run-frontend

Open http://localhost:3000 and start researching!

See Backend README for detailed configuration and troubleshooting.


Architecture

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

Tech Stack

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

Supported LLM Providers

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
Google Gemini 2.5 Flash, Gemini Pro GOOGLE_API_KEY
Ollama (Local) Llama, Mistral, Phi, etc. OLLAMA_BASE_URL

Use Cases

Students & Researchers

  • Upload lecture PDFs and papers
  • Ask questions across all your sources
  • Generate study flashcards automatically
  • Create visual mindmaps for exam prep

Content Creators

  • Research topics from multiple sources
  • Generate article outlines
  • Organize ideas on the canvas
  • Export structured content

Professionals

  • Analyze reports and documents
  • Build a personal knowledge base
  • Self-host for complete data privacy
  • Integrate with existing workflows via API

Prerequisites

  • Python 3.11+ / Node.js 18+
  • Docker & Docker Compose (for PostgreSQL, Redis, Qdrant)
  • macOS: brew install poppler ffmpeg
  • Linux: apt install poppler-utils ffmpeg

Development

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 migrations

API documentation is available at http://localhost:8000/docs when the backend is running.


Roadmap

  • 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

Star History

Star History Chart

Contributing

We welcome contributions! Whether it's:

  • Bug reports
  • Feature requests
  • Documentation
  • Pull requests

See CONTRIBUTING.md to get started.


Community


License

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!

About

πŸ•ΈοΈ Open-source NotebookLM alternative with infinite canvas | Self-hosted Google NotebookLM replacement | RAG chat + PDF/Webpage/Video | Any LLM

Topics

Resources

License

Unknown, AGPL-3.0 licenses found

Licenses found

Unknown
LICENSE
AGPL-3.0
LICENSE-AGPL

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors