open-notebook
An Open Source implementation of Notebook LM with more flexibility and features
Integrate Open-Notebook's REST API with TanStack Query and Zustand for seamless frontend state management. Learn how Next.js handles server and client state efficiently.
How to Add Custom API Endpoints to the FastAPI Router in Open NotebookLearn how to add custom API endpoints to the FastAPI router in Open Notebook. Create new routers, define routes, and register them in api main.py to extend your application's functionality.
Three-Tier Architecture Communication in Open Notebook: Frontend, API, and SurrealDB ExplainedExplore three-tier architecture communication in Open Notebook: Next.js frontend, FastAPI, and SurrealDB. Learn about HTTP REST, async patterns, graph dbs, and vector search.
How to Test Provider Credentials for API Connections in Open NotebookLearn how to test provider credentials for API connections in Open Notebook. Validate endpoint URLs and make a minimal API call to ensure connectivity and key validity.
SurrealDB Graph Relationships in Open Notebook: Notebooks, Sources, and NotesExplore SurrealDB graph relationships in Open Notebook. Easily link notebooks to sources and notes using reference and artifact edges for powerful data traversal and semantic search.
How the Ask.py Graph Implements Multi-Search Strategy for Retrieval and Synthesis in Open NotebookDiscover how the Ask.py graph leverages its multi-search strategy for efficient retrieval and synthesis. See how parallel searches and SurrealDB vector search deliver coherent answers.
CORS Middleware Configuration for FastAPI in Open Notebook: Production vs DevelopmentConfigure FastAPI CORS for Open Notebook development and production. Learn to manage CORS origins with environment variables for secure and open access.
Database-First API Key Provisioning Pattern in Open Notebook's key_provider.pyDiscover the database-first API key provisioning pattern in Open Notebook’s key_provider.py. Securely fetch encrypted credentials from SurrealDB and integrate seamlessly.
Error Classification for LLM Providers Using `classify_error()` in Open NotebookClassify LLM errors with Open Notebooks classify_error() utility. Transform raw exceptions into standardized error types, hide sensitive stack traces, and enable precise HTTP error responses.
Async/Sync Bridging Pattern in LangGraph Nodes: Non-Blocking State ManagementLearn the async/sync bridging pattern for LangGraph nodes. Offload sync state calls to background threads using asyncio to thread, preventing event loop blocking in FastAPI.
How Open Notebook's ModelManager Implements Large Context FallbackDiscover how Open Notebook's ModelManager implements large context fallback, automatically routing requests over 105k tokens to a dedicated model for efficient handling.
How to Implement LangGraph Checkpoint Persistence with SqliteSaver in PythonLearn how to implement LangGraph checkpoint persistence with SqliteSaver in Python. Make your workflows resumable across server restarts using SQLite for state saving. Explore the Open Notebook repository for a practical example.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →