open-notebook
Organizes research with the self-hosted Open Notebook alternative to NotebookLM.
Skill by K-Dense-AI
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/k-dense-ai-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, backend, research, productivity
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
- 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, Google, Ollama, Groq, and Mistral.
- License
- MIT
- Compatibility
- Requires a running Open Notebook backend and worker; Python 3.11+ with requests for bundled helpers. Docker Compose is the documented deployment option. Network access to the instance and any configured providers is required.
- Metadata
- version: 1.5 · skill-author: K-Dense Inc. · last-reviewed: 2026-09-30 · upstream-version: 1.14.0
- Instructions
- 194 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/
- _common.py · scripts/
- chat_interaction.py · scripts/
- notebook_management.py · scripts/
- source_ingestion.py · scripts/
SKILL.md (first lines)
# 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](https://github.com/lfnovo/open-notebook/releases/tag/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`.
```bash
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.
```bash
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](references/configuration.md) 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](references/api_reference.md) and
[credential example](references/configuration.md).
### 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.
```python
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")
answer = send_chat_message(
session["id"], "What design was reported? Cite the source and identify gaps.",
built["context"],
)
ai_messages = [m for m in answer["messages"] if m["type"] == "ai"]
```
## Core Features and Workflow
### Notebooks and notes
Create a notebook with `POST /api/notebooks` and JSON `name`, `description`.
Use `POST /api/notes` with `content`, optional `title`, `notebook_id`, and
`note_type="human"` or `"ai"`. A missing title on an AI note invokes a model.
Notebook deletion removes notes and chat sessions; source deletion is controlled by
`delete_exclusive_sources`. Inspect `/delete-preview` before intentional deletion.
### Source ingestion
`POST /api/sources` takes form fields, including **required** `type`: `link`, `upload`,
or `text`. Supply respectively `url`, multipart `file`, or `content`. Use `notebooks`
as a JSON-encoded list in form data. `async_processing` and `embed` both default to
false. The fields `text` and `process_async` do not implement these options.
Use `/api/sources/json` for JSON bodies; the form endpoint does not accept arbitrary JSON.
Wait for `/api/sources/{id}/status`; a failed job must not flow into analysis as if
it succeeded. Inspect `full_text` after extraction, especially for scanned PDFs,
tables, and transcripts. Vector retrieval additionally needs `embed=true`, a default
embedding model, and completed embeddings (`embedded_chunks > 0`). Source list pagesFrom K-Dense-AI/scientific-agent-skills, MIT.
More from K-Dense-AI/scientific-agent-skills
- 0.699score
13c-metabolic-flux
K-Dense-AI
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps, mfapy isotope simulation…
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
adaptyv
K-Dense-AI
Uses the Adaptyv Bio Foundry API and Python SDK to design protein characterization experiments, estimate costs, submit sequences, monitor laboratory progress…
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
exploratory-data-analysis
K-Dense-AI
Performs bounded, local exploratory analysis of explicitly supported scientific files.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
openpiv
K-Dense-AI
Performs Particle Image Velocimetry (PIV) analysis with OpenPIV.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
citation-management
K-Dense-AI
Comprehensive citation management for academic research.
SkillAFreshness: A★ 54.4KClaude Code - 0.699score
parallel-web
K-Dense-AI
Uses Parallel CLI for web search, URL extraction, deep research, structured data enrichment, entity discovery, and recurring web monitoring.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
scientific-schematics
K-Dense-AI
Generates scientific diagram drafts using Nano Banana 2 AI with smart iterative refinement.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
glycoengineering
K-Dense-AI
Analyzes and engineers protein glycosylation by scanning canonical N-glycosylation sequons, describing S/T-rich regions, checking curated glycan evidence, and…
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
venue-templates
K-Dense-AI
Prepares journal manuscripts, conference papers, research posters, and grant documents using venue-specific formatting guidance and bundled LaTeX scaffolds.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
uncertainty-and-units
K-Dense-AI
Tracks physical units and propagates measurement uncertainty in scientific calculations using pint and uncertainties.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
ginkgo-cloud-lab
K-Dense-AI
Guides protocol selection, input preparation, pricing checks, and browser ordering on Ginkgo Bioworks Cloud Lab (cloud.ginkgo.bio).
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
alphagenome
K-Dense-AI
Looks up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and…
SkillAFreshness: A★ 54.4KClaude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 54,411
- Forks
- 4,797
- Open issues
- 8
- Last commit (this folder)
- Oct 1, 2026 (26 days ago)
- Last release
- Oct 1, 2026 (26 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.5
- License
- MIT
- Website
- arxiv.org/abs/2609.00065
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from K-Dense-AI
- 0.699score
exploratory-data-analysis
K-Dense-AI
Performs bounded, local exploratory analysis of explicitly supported scientific files.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
citation-management
K-Dense-AI
Comprehensive citation management for academic research.
SkillAFreshness: A★ 54.4KClaude Code - 0.699score
glycoengineering
K-Dense-AI
Analyzes and engineers protein glycosylation by scanning canonical N-glycosylation sequons, describing S/T-rich regions, checking curated glycan evidence, and…
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
openpiv
K-Dense-AI
Performs Particle Image Velocimetry (PIV) analysis with OpenPIV.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
ginkgo-cloud-lab
K-Dense-AI
Guides protocol selection, input preparation, pricing checks, and browser ordering on Ginkgo Bioworks Cloud Lab (cloud.ginkgo.bio).
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
parallel-web
K-Dense-AI
Uses Parallel CLI for web search, URL extraction, deep research, structured data enrichment, entity discovery, and recurring web monitoring.
SkillAFreshness: A★ 54.4KClaude Code +9
Cite this page
open-notebook skill. Agent Mart. https://agentmart.dev/skills/k-dense-ai-open-notebook (last updated 2026-10-24)