Skip to main content
Nguyen Ngoc Han
ProfileProjectsActivityContact
← All projects
NotebookE

NotebookE

Public repository

Local AI that understands your documents and creates podcasts and videos directly on your PC.

Technologies

PythonTypeScriptHTMLPowerShellJinjaShellCSSMakefileDockerfileBatchfileJavaScriptGo TemplateNext.jsReactSurrealDBLangChain

Role

Chủ kho mã trên GitHub

Problem

Tổ chức nguồn tài liệu đa định dạng và khai thác chúng trong cùng một không gian nghiên cứu.

Details

NotebookE

Local AI that understands your documents and creates podcasts and videos directly on your PC.

A private, multi-model research workspace for turning source material into useful knowledge and media.


📚 Get Started
·
📖 User Guide
·
✨ Features
·
🚀 Deploy

A private AI research and media workspace that runs on your PC

NotebookE turns your documents, links, audio, and video into a searchable knowledge base. Ask questions with source context, organize research in notebooks, and create narrated podcasts or videos from the same material.

The system supports local AI through Ollama and OpenAI-compatible servers alongside cloud providers. Your frontend, API, database, background worker, Edge TTS narration, and video workflow can all run on your own computer.

NotebookE empowers you to:

  • 🔒 Control your data - Keep your research private and secure
  • 🤖 Use local or cloud AI - Connect Ollama, LM Studio, OpenAI-compatible endpoints, Google, OpenAI, Anthropic, and more
  • 📚 Organize multi-modal content - PDFs, videos, audio, web pages, and more
  • 🎙️ Generate multi-speaker podcasts - Reusable episode profiles, Eric and Luna presenters, live progress, outline tracking, and downloadable audio
  • 🎬 Create videos on your PC - Build scripts, scenes, captions, visuals, narration, and final video from notebook content
  • 🗣️ Use Edge TTS narration - Vietnamese voices with improved English technical pronunciation for podcasts and videos
  • 🔍 Search intelligently - Full-text and vector search across all your content
  • 💬 Chat with context - Stream answers from selected models, keep conversation history, and stop generation at any time
  • ⚡ See updates without refreshing - Podcast and video jobs update in real time while background workers process them
  • 🌐 Use a multilingual UI - Vietnamese, English, and other supported interface languages See NotebookE in action
Notebook workspaceAsk and Search
Podcast productionVideo production
How the system works

🆚 NotebookE vs Google Notebook LM

FeatureNotebookEGoogle Notebook LMAdvantage
Privacy & ControlSelf-hosted, your dataGoogle cloud onlyComplete data sovereignty
AI Provider ChoiceLocal and cloud models, including Ollama and OpenAI-compatible APIsGoogle models onlyFlexibility and local processing
Podcast Speakers1-4 speakers with custom profiles2 speakers onlyExtreme flexibility
Video GenerationScript, scenes, visuals, captions, Edge TTS, and final renderingLimitedA complete research-to-video workflow on your PC
Content TransformationsCustom and built-inLimited optionsUnlimited processing power
API AccessFull REST APINo APIComplete automation
DeploymentDocker, cloud, or localGoogle hosted onlyDeploy anywhere
CitationsBasic references (will improve)Comprehensive with sourcesResearch integrity
CustomizationOpen source, fully customizableClosed systemUnlimited extensibility
CostPay only for AI usageFree tier + Monthly subscriptionTransparent and controllable

Why Choose NotebookE?

  • 🔒 Privacy First: Your sensitive research stays completely private
  • 💰 Cost Control: Choose a cloud provider or run compatible models locally
  • 🎙️ Podcast and Video Creation: Reuse your notebook context to produce scripts, speech, and rendered media
  • 🔧 Unlimited Customization: Modify, extend, and integrate as needed
  • 🌐 No Vendor Lock-in: Switch providers, deploy anywhere, own your data Built With

[![Python][Python]][Python-url] [![Next.js][Next.js]][Next-url] [![React][React]][React-url] [![SurrealDB][SurrealDB]][SurrealDB-url] [![LangChain][LangChain]][LangChain-url] 🚀 Quick Start Prerequisites

  • Python 3.11+
  • Node.js 20+
  • Docker Desktop for SurrealDB
  • FFmpeg for Podcast and Video rendering
  • An AI provider, or a local model server such as Ollama or LM Studio Step 1: Clone and install Step 2: Configure the environment

Copy .env.example to .env, set OPEN_NOTEBOOK_ENCRYPTION_KEY, and configure any provider credentials you need. Provider models can also be added later from Models in the web interface. Step 3: Start NotebookE

Start each service in dependency order:

Or start the complete local stack:

Open ****. The API runs at http://localhost:5055 and SurrealDB at http://localhost:8000.

The background worker is required for source processing, embeddings, Podcasts, and Videos. Jobs remain queued if the worker is not running. Docker deployment

For a container-based installation, download the project compose file:

Set OPEN_NOTEBOOK_ENCRYPTION_KEY in .env, then start the containers:

Use docker compose logs -f to follow startup and migration progress. See the installation guide for local AI, storage, and production deployment options. Configure an AI provider

  1. Go to Models and choose your provider (OpenAI, Anthropic, Google, etc.)
  2. Click + Add Configuration
  3. Paste your API key and other info as needed and click Add Configuration
  4. Click Test to test connection
  5. Click Sync Models and check models to include
  6. Assign the chat, transformation, embedding, and optional media models you want to use

Done! You're ready to create your first notebook.

Need an API key? Get one from: OpenAI · Anthropic · Google · Groq (free tier)

Want free local AI? See examples/docker-compose-ollama.yml for Ollama setup


📚 More Installation Options

  • With Ollama (Free Local AI) - Run models locally without API costs
  • From Source (Developers) - For development and contributions
  • Complete Installation Guide - All deployment scenarios

📖 Need Help?

  • **🤖
GitHub ↗Reference ↗

About the author

Avatar Nguyen Ngoc Han
Nguyen Ngoc Han

Software Engineer

Explore my experience, projects and source code.

View profile →GitHub →
—
ProfileProjectsActivityContact