Skip to content
Skillpedia
Research51k · #1920

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

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/open-notebook/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/open-notebook/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
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-notebook

Or download just the file:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/open-notebook/SKILL.md -o SKILL.md
Technical 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

repo: K-Dense-AI/scientific-agent-skills

Popularity

GitHub stars
51k
Ranking position
#1920
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills