open-notebook
Lets your agent organize research by processing and chatting with documents. It's useful for students and researchers needing to manage and extract info from many sources.
What it does
Organizes your research and notes into digital notebooks. It allows you to add documents, web pages, audio, and video as information sources, chat with AI about them, and perform detailed searches.
When to use it
- ✓To organize notes from classes or lectures.
- ✓When researching a topic and needing to combine multiple sources.
- ✓To create a summary of long videos or audio recordings.
Example of what to ask your AI
“Organize my research notes about project X, using the PDFs and links I will provide.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You add your documents and links, and the tool organizes them. Then, you can ask the artificial intelligence questions about the content, and it will answer by citing the sources.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add K-Dense-AI/scientific-agent-skills --skill open-notebookOr download just the file:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/open-notebook/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Open Notebook
Overview
Open Notebook organizes sources, notes, and AI conversations into research notebooks. It supports several AI providers through Esperanto, full-text and vector search, custom transformations, and podcast generation with speaker profiles. Application storage is self-hosted; content sent to configured cloud models is not local-only.
This skill targets the latest published release observed on 2026-09-30,
v1.14.0.
Request/response contracts were checked against its official source and current main
commit 3127f14ea9dbb519f0e4ddc64a0742ca644ba6ef. Bundled helpers have mocked HTTP
regression tests; deployment, ingestion, and paid AI calls were not run against a
live instance. Deployment and remote workflow examples are illustrative.
Quick Start
Installation
Use Docker Desktop/Engine with Compose. The upstream docker-compose file configures
SurrealDB v2 and the lfnovo/open_notebook:v1-latest application image. It mounts
./notebook_data at /app/data and ./surreal_data at /mydata.
curl --fail --location --output docker-compose.yml \
https://raw.githubusercontent.com/lfnovo/open-notebook/v1.14.0/docker-compose.yml
Before starting, edit the downloaded Compose file: replace the literal
OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string value, or change it to
${OPEN_NOTEBOOK_ENCRYPTION_KEY:?Set OPEN_NOTEBOOK_ENCRYPTION_KEY} and supply that
variable. Exporting a shell variable alone does not replace the upstream literal.
Retain the key across restarts; it encrypts provider credentials, not source documents.
Set OPEN_NOTEBOOK_PASSWORD in the application's container environment when password
protection is wanted; clients then send Authorization: Bearer <instance-password>.
For a reproducible deployment, resolve and record an image digest; v1-latest moves.
docker compose up -d
docker compose logs --tail=100 open_notebook
- Web UI:
http://localhost:8502 - Backend:
http://localhost:5055; API base:http://localhost:5055/api - Instance contracts:
/docs,/redoc,/openapi.json
Source installation is also supported; it needs a separate processing worker. See configuration for persistence and provider setup.
Configure AI providers
In Manage → Models, add a configuration/credential, test it, discover models,
and register the particular models needed. Assign chat and embedding defaults;
assign speech models separately for transcription/podcasts. OpenAI, Anthropic,
Google, Ollama, Groq, and Mistral have different modalities. Discover support from
the instance's /api/models/providers; do not infer speech support from LLM support.
Credential discovery returns discovered[] with name and provider, often without
a usable model_type. Registration requires models[] containing name, provider,
and an explicitly chosen model_type. The four types are language, embedding,
speech_to_text, and text_to_speech. They are not llm, stt, or tts.
See the API reference and
credential example.
Use the bundled helpers
Resolve this skill's directory and run from its scripts/ directory, or add that
directory to the Python import path. Install requests in a dedicated environment,
for example uv run --isolated --with requests python notebook_management.py --help.
Each CLI only lists records; creation, AI calls, and deletion are explicit functions.
Set OPEN_NOTEBOOK_URL to the backend origin (an existing /api suffix is also
accepted). Set OPEN_NOTEBOOK_PASSWORD only if the instance requires authentication.
from notebook_management import create_notebook
from source_ingestion import add_text_source, wait_for_processing
from chat_interaction import build_context, create_chat_session, send_chat_message
notebook = create_notebook("Methods review", "Compare reported experimental designs")
source = add_text_source(
notebook["id"], "Pilot study excerpt",
"Illustrative study: 24 samples were randomized to two treatments.",
process_async=True, embed=False,
)
wait_for_processing(source["id"])
built = build_context(notebook["id"], source_ids=[source["id"]], note_ids=[])
if not built["context"]["sources"]:
raise RuntimeError("No source content was included")
session = create_chat_session(notebook["id"], "Methods discussion")
…
FAQ
Can I use my own AI sources?
Yes, you can configure AI providers like OpenAI, Anthropic, and Google to use with the tool.
How do I add a document?
You can upload files like PDFs, audio, video, or Office documents, or paste text and links directly into the tool.
Where is my data stored?
The tool is self-hosted, meaning your data stays on your own computer or server, unless you configure it to send information to cloud AI models.
Details
Original description by the author
Organizes research with the self-hosted Open Notebook alternative to NotebookLM. Supports source ingestion (PDFs, web pages, audio, video, and Office documents), cited document chat, text and vector search, notes, custom transformations, and multi-speaker podcasts. Use when automating Open Notebook through its REST API or configuring its local or cloud AI providers, including OpenAI, Anthropic, Go
Popularity
- GitHub stars
- 51k
- Ranking position
- #1920
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
13c-metabolic-flux
Estimates metabolic fluxes using carbon-13 isotope tracing data. It is useful for analyzing cellular metabolism and biochemical pathways.
K-Dense-AI/scientific-agent-skills
adaptyv
Designs protein characterization experiments using the Adaptyv API. It helps estimate costs, submit sequences, and monitor lab results.
K-Dense-AI/scientific-agent-skills
aeon
Performs machine learning tasks on time series data. It is useful for classifying, forecasting, detecting anomalies, and finding patterns in sequential data.
K-Dense-AI/scientific-agent-skills
alphagenome
Looks up precomputed genomic effects for genetic variants. It provides scores and explanations to understand the impact of variants on the genome.
K-Dense-AI/scientific-agent-skills
Similar skills
deep-research
Lets your agent research topics in depth, gathering information from multiple sources. It cites sources and indicates confidence levels. Ideal for deep dives or investigations.
affaan-m/ECC
research-ops
Lets your agent find current facts and information. It uses public research and the context you provide to give evidence-based answers.
affaan-m/ECC
scientific-thinking-literature-review
Helps your agent conduct systematic reviews of scientific literature. It's useful for compiling and understanding research on a topic.
affaan-m/ECC