Token导航 LogoToken导航

Agent Skill · 研究检索

open-notebook(打开笔记本)

open-notebook 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

open-notebook 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有未通过项,按安装量在研究检索类的 73,675 个 Skill 里排第 35,961。

总安装 1,999周安装 85GitHub Stars 19,781下载 730核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:open-notebook(打开笔记本)
来源仓库:https://github.com/k-dense-ai/claude-scientific-skills
仓库路径:skills/open-notebook
安装命令:
npx skills add https://github.com/k-dense-ai/claude-scientific-skills --skill open-notebook
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/k-dense-ai/claude-scientific-skills --skill open-notebook

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于查找、检索和筛选相关信息。适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词、任务场景或来源线索快速定位候选结果。通过 npx skills add 命令从指定 GitHub 仓库安装并使用。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

open-notebook 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/open-notebook

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/k-dense-ai/claude-scientific-skills --skill op…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

open-notebook 怎么安装?

在终端执行 npx skills add https://github.com/k-dense-ai/claude-scientific-skills --skill open-noteboo…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

open-notebook 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

open-notebook 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

open-notebook 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

open-notebook 用的人多吗?

公开数据是累计安装 1,999 次,近一周安装 85 次,下载 730 次,GitHub 19,781 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

open-notebook 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 来源仓库有 19,781 星,维护活跃度相对可查。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
open-notebook

打开笔记本 · 本页

1,99919,781接触敏感数据未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

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:

# 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:

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:

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.

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.

# 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")}
    )

Notes

Create and manage notes (human or AI-generated) associated with notebooks.

# Create a human note
response = requests.post(f"{BASE_URL}/notes", json={
    "title": "Key Findings",
    "content": "TMB correlates with immunotherapy response in NSCLC...",
    "note_type": "human",
    "notebook_id": notebook_id
})

Context-Aware Chat

Chat with your research materials using AI that cites sources.

# Create a chat session
session = requests.post(f"{BASE_URL}/chat/sessions", json={
    "notebook_id": notebook_id,
    "title": "TMB Discussion"
}).json()

# Send a message with context from sources
response = requests.post(f"{BASE_URL}/chat/execute", json={
    "session_id": session["id"],
    "message": "What are the key biomarkers for immunotherapy response?",
    "context": {"include_sources": True, "include_notes": True}
})

Search

Search across all materials using full-text or vector (semantic) search.

# Vector search across the knowledge base
results = requests.post(f"{BASE_URL}/search", json={
    "query": "tumor mutational burden immunotherapy",
    "search_type": "vector",
    "limit": 10
}).json()

# Ask a question with AI-powered answer
answer = requests.post(f"{BASE_URL}/search/ask/simple", json={
    "query": "How does TMB predict checkpoint inhibitor response?"
}).json()

Podcast Generation

Generate professional multi-speaker podcasts from research materials with 1-4 customizable speakers.

# Generate a podcast episode
job = requests.post(f"{BASE_URL}/podcasts/generate", json={
    "notebook_id": notebook_id,
    "episode_profile_id": episode_profile_id,
    "speaker_profile_ids": [speaker1_id, speaker2_id]
}).json()

# Check generation status
status = requests.get(f"{BASE_URL}/podcasts/jobs/{job['job_id']}").json()

# Download audio when ready
audio = requests.get(
    f"{BASE_URL}/podcasts/episodes/{status['episode_id']}/audio"
)

Content Transformations

Apply custom AI-powered transformations to content for summarization, extraction, and analysis.

# Create a custom transformation
transform = requests.post(f"{BASE_URL}/transformations", json={
    "name": "extract_methods",
    "title": "Extract Methods",
    "description": "Extract methodology details from papers",
    "prompt": "Extract and summarize the methodology section...",
    "apply_default": False
}).json()

# Execute transformation on text
result = requests.post(f"{BASE_URL}/transformations/execute", json={
    "transformation_id": transform["id"],
    "input_text": "...",
    "model_id": "model_id_here"
}).json()

Supported AI Providers

Open Notebook supports 16+ AI providers through the Esperanto library:

ProviderLLMEmbeddingSpeech-to-TextText-to-Speech
OpenAIYesYesYesYes
AnthropicYesNoNoNo
Google GenAIYesYesNoYes
Vertex AIYesYesNoYes
OllamaYesYesNoNo
GroqYesNoYesNo
MistralYesYesNoNo
Azure OpenAIYesYesNoNo
DeepSeekYesNoNoNo
xAIYesNoNoNo
OpenRouterYesNoNoNo
ElevenLabsNoNoYesYes
PerplexityYesNoNoNo
VoyageNoYesNoNo

Environment Variables

Key configuration variables for Docker deployment:

VariableDescriptionDefault
OPEN_NOTEBOOK_ENCRYPTION_KEYRequired. Secret key for encrypting stored credentialsNone
SURREAL_URLSurrealDB connection URLws://surrealdb:8000/rpc
SURREAL_NAMESPACEDatabase namespaceopen_notebook
SURREAL_DATABASEDatabase nameopen_notebook
OPEN_NOTEBOOK_PASSWORDOptional password protection for the UINone

API Reference

The REST API is available at http://localhost:5055/api with interactive documentation at /docs.

Core endpoint groups:

  • /api/notebooks - Notebook CRUD and source association
  • /api/sources - Source ingestion, processing, and retrieval
  • /api/notes - Note management
  • /api/chat/sessions - Chat session management
  • /api/chat/execute - Chat message execution
  • /api/search - Full-text and vector search
  • /api/podcasts - Podcast generation and management
  • /api/transformations - Content transformation pipelines
  • /api/models - AI model configuration and discovery
  • /api/credentials - Provider credential management

For complete API reference with all endpoints and request/response formats, see references/api_reference.md.

Architecture

Open Notebook uses a modern stack:

  • Backend: Python with FastAPI
  • Database: SurrealDB (document + relational)
  • AI Integration: LangChain with the Esperanto multi-provider library
  • Frontend: Next.js with React
  • Deployment: Docker Compose with persistent volumes

Important Notes

  • Open Notebook requires Docker for deployment
  • At least one AI provider must be configured for AI features to work
  • For free local inference without API costs, use Ollama
  • The OPEN_NOTEBOOK_ENCRYPTION_KEY must be set before first launch and kept consistent across restarts
  • All data is stored locally in Docker volumes for complete data sovereignty

适合场景

01

调用多模型

02

代码和文本生成

03

Agent 推理流程

04

OpenRouter 模型接入

能力概览

能力 1

统一调用多种 LLM

能力 2

支持 Claude、Gemini、Kimi 等模型

能力 3

适合聊天、代码和推理任务

能力 4

可作为 Agent 模型调用入口

平台分布

Codex

33.09%
按下载量换算242

Claude

30.47%
按下载量换算222

Cursor

21.04%
按下载量换算154

Gemini CLI

9.58%
按下载量换算70

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills