open-notebook
Self-hosted, open-source alternative to Google NotebookLM for AI-powered research and document analysis.
Skill by beita6969
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/beita6969-open-notebook
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, data, writing, research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/open-notebook
What's inside
- Skill name
open-notebook- Description
- Self-hosted, open-source alternative to Google NotebookLM for AI-powered research and document analysis. Use when organizing research materials into notebooks, ingesting diverse content sources (PDFs, videos, audio, web pages, Office documents), generating AI-powered notes and summaries, creating multi-speaker podcasts from research, chatting with documents using context-aware AI, searching across materials with full-text and vector search, or running custom content transformations. Supports 16+ AI providers including OpenAI, Anthropic, Google, Ollama, Groq, and Mistral with complete data privacy through self-hosting.
- License
- MIT
- Metadata
- skill-author: K-Dense Inc.
- Instructions
- 283 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Instructions call the network
Files (9)
- SKILL.md
- api_reference.md · references/
- architecture.md · references/
- configuration.md · references/
- examples.md · references/
- chat_interaction.py · scripts/
- notebook_management.py · scripts/
- source_ingestion.py · scripts/
- test_open_notebook_skill.py · scripts/
SKILL.md (first lines)
# Open Notebook
## Overview
Open Notebook is an open-source, self-hosted alternative to Google's NotebookLM that enables researchers to organize materials, generate AI-powered insights, create podcasts, and have context-aware conversations with their documents — all while maintaining complete data privacy.
Unlike Google's Notebook LM, which has no publicly available API outside of the Enterprise version, Open Notebook provides a comprehensive REST API, supports 16+ AI providers, and runs entirely on your own infrastructure.
**Key advantages over NotebookLM:**
- Full REST API for programmatic access and automation
- Choice of 16+ AI providers (not locked to Google models)
- Multi-speaker podcast generation with 1-4 customizable speakers (vs. 2-speaker limit)
- Complete data sovereignty through self-hosting
- Open source and fully extensible (MIT license)
**Repository:** https://github.com/lfnovo/open-notebook
## Quick Start
### Prerequisites
- Docker Desktop installed
- API key for at least one AI provider (or local Ollama for free local inference)
### Installation
Deploy Open Notebook using Docker Compose:
```bash
# Download the docker-compose file
curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.yml
# Set the required encryption key
export OPEN_NOTEBOOK_ENCRYPTION_KEY="your-secret-key-here"
# Launch the services
docker-compose up -d
```
Access the application:
- **Frontend UI:** http://localhost:8502
- **REST API:** http://localhost:5055
- **API Documentation:** http://localhost:5055/docs
### Configure AI Provider
After startup, configure at least one AI provider:
1. Navigate to **Settings > API Keys** in the UI
2. Add credentials for your preferred provider (OpenAI, Anthropic, etc.)
3. Test the connection and discover available models
4. Register models for use across the platform
Or configure via the REST API:
```python
import requests
BASE_URL = "http://localhost:5055/api"
# Add a credential for an AI provider
response = requests.post(f"{BASE_URL}/credentials", json={
"provider": "openai",
"name": "My OpenAI Key",
"api_key": "sk-..."
})
credential = response.json()
# Discover available models
response = requests.post(
f"{BASE_URL}/credentials/{credential['id']}/discover"
)
discovered = response.json()
# Register discovered models
requests.post(
f"{BASE_URL}/credentials/{credential['id']}/register-models",
json={"model_ids": [m["id"] for m in discovered["models"]]}
)
```
## Core Features
### Notebooks
Organize research into separate notebooks, each containing sources, notes, and chat sessions.
```python
import requests
BASE_URL = "http://localhost:5055/api"
# Create a notebook
response = requests.post(f"{BASE_URL}/notebooks", json={
"name": "Cancer Genomics Research",
"description": "Literature review on tumor mutational burden"
})
notebook = response.json()
notebook_id = notebook["id"]
```
### Sources
Ingest diverse content types including PDFs, videos, audio files, web pages, and Office documents. Sources are processed for full-text and vector search.
```python
# Add a web URL source
response = requests.post(f"{BASE_URL}/sources", data={
"url": "https://arxiv.org/abs/2301.00001",
"notebook_id": notebook_id,
"process_async": "true"
})
source = response.json()
# Upload a PDF file
with open("paper.pdf", "rb") as f:
response = requests.post(
f"{BASE_URL}/sources",
data={"notebook_id": notebook_id},
files={"file": ("paper.pdf", f, "application/pdf")}
)From beita6969/ScienceClaw, MIT.
More from beita6969/ScienceClaw
- 0.608score
scienceclaw-benchmark-for44
beita6969
Use when a task gives a covariate table plus, for each of many simulated observational datasets, a binary treatment vector and an outcome vector, and asks for…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for31
beita6969
Use when ranking or predicting the fitness effect of single amino-acid substitutions in a protein (deep mutational scanning, ProteinGym-style assays) from…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for51
beita6969
Use when a task asks to predict a phonon property of inorganic crystals from their structure, for example the frequency of the last peak of the phonon density…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for42
beita6969
Use when a task gives hourly ICU records (vitals, labs, demographics, one stay per patient) with sepsis labels and asks for causal hour-by-hour sepsis alarms…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for34
beita6969
Use when predicting a binary molecular property such as HIV replication inhibition (OGB ogbg-molhiv, MoleculeNet-style activity) from SMILES strings and…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for33
beita6969
Use when forecasting day-ahead hourly electricity load of individual buildings (residential and commercial smart-meter data, BuildingsBench-style) from the…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for30
beita6969
Use when segmenting top-down field or UAV RGB images of crops (sugar beet, PhenoBench-style) into soil / crop / weed semantics plus crop-plant and crop-leaf…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for43
beita6969
Use when a task gives noisy OCR text of historical newspapers, periodicals or books (several languages, with metadata and a set of labelled OCR/ground-truth…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark
beita6969
Index of the 23 discipline skills (FoR30-FoR52) that mirror the disciplines of the companion ScienceClaw-Eval benchmark: find which discipline skill fits a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for35
beita6969
Use when forecasting monthly tourism, visitor or other seasonal business and service series (Monash Tourism Monthly, 24-month horizon, period 12) from each…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for32
beita6969
Use when segmenting the hippocampus into anterior and posterior parts in small 3-D T1-weighted brain MRI crops (Medical Segmentation Decathlon Task04) from a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for46
beita6969
Use when a task gives Python programming problems (a function stub with docstring or a task description, an entry-point name, a few public assert tests) and…
SkillAFreshness: A★ 1KClaude Code +9
Signals
- Stars
- 1,019
- Forks
- 109
- Open issues
- 1
- Last commit (this folder)
- Mar 12, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/beita6969/ScienceClaw
- Website
- scienceclaw.science
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from beita6969
- 0.608score
scienceclaw-benchmark-for33
beita6969
Use when forecasting day-ahead hourly electricity load of individual buildings (residential and commercial smart-meter data, BuildingsBench-style) from the…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for34
beita6969
Use when predicting a binary molecular property such as HIV replication inhibition (OGB ogbg-molhiv, MoleculeNet-style activity) from SMILES strings and…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark
beita6969
Index of the 23 discipline skills (FoR30-FoR52) that mirror the disciplines of the companion ScienceClaw-Eval benchmark: find which discipline skill fits a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for32
beita6969
Use when segmenting the hippocampus into anterior and posterior parts in small 3-D T1-weighted brain MRI crops (Medical Segmentation Decathlon Task04) from a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for30
beita6969
Use when segmenting top-down field or UAV RGB images of crops (sugar beet, PhenoBench-style) into soil / crop / weed semantics plus crop-plant and crop-leaf…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for35
beita6969
Use when forecasting monthly tourism, visitor or other seasonal business and service series (Monash Tourism Monthly, 24-month horizon, period 12) from each…
SkillAFreshness: A★ 1KClaude Code +9
Cite this page
open-notebook skill. Agent Mart. https://agentmart.dev/skills/beita6969-open-notebook (last updated 2026-10-24)