General Introduction
Open Notebook is an open source, privacy-focused note management tool designed to provide users with an alternative to Google Notebook LM. With Open Notebook, users can manage research workflows, generate AI-assisted notes, and interact with content under their own control. The project is under active development, with ongoing optimizations and enhancements dedicated to providing users with a more flexible and powerful note management experience.
The project supports a wide range of AI models (including OpenAI, Anthropic, Gemini, Vertex AI, etc.) and provides rich content integration capabilities that can handle a wide range of formats such as links, PDFs, EPUBs, Office documents, YouTube videos, audio and video files. The project is developed in Python, using Streamlit to build the interface, LangChain to handle AI interactions, and SurrealDB for data storage.
Function List
- Multi-notebook support: easily organize multiple research projects
- Multi-model support: compatible with OpenAI, Anthropic, Gemini, Vertex AI, Open Router, Ollama, etc.
- Podcast Generator: Automatically convert notes to podcast format
- Wide range of content integration: support for links, PDF, EPUB, Office, TXT, Markdown files, YouTube videos, etc.
- AI-driven notes: support for manual authoring or AI-assisted generation of insights
- Integrated search engine: built-in full-text and vector search capabilities
- Fine-grained context management: precise control over the scope of content shared with AI
- Customized conversion features: support for in-depth content analysis and insight extraction
Using Help
1. Installation modalities
The program offers two installation options:
Way 1: Run from source
# 1. Clone the repository
git clone https://github.com/lfnovo/open-notebook
cd open-notebook
# 2. Configure the environment file
cp .env.example .env
cp .env.example docker.env
# Editing the .env file to configure your API key
# 3. Install and run
poetry install
docker compose --profile db_only up
poetry run streamlit run app_home.py
Way 2: Run with Docker
# Configure the environment file and then execute
docker compose --profile multi up
2. Basic use
The project is designed using a three-column layout:
- Left Sources column: Manage all research materials
- Middle Notes column: create or use AI to generate notes
- Right Chat bar: talk to AI to leverage your content
3. Context configuration
Three context options are provided:
- context-free
- summary only
- Full Content
Item descriptions can be added to help the AI provide a more accurate response.
4. Search function
- Full text search support
- Supports vector-based search
- Quickly locate any study
5. Use of special features
- Podcast generation: multi-language generation support, customizable speaker and structure
- Conversion function: customized conversions for essay analysis, article writing, etc. are available
- Intelligent Q&A: Q&A function with support for quoting original text
- Model Management: Unified interface to manage different AI providers and models