Open Notebook Integration
A skill for integrating OpenClaw agents with open-notebook, a local AI research assistant (NotebookLM alternative).
What It Does
- Connects your agent to open-notebook running locally
- Creates thematic notebooks for research, agent discovery, and personal knowledge
- Enables saving and querying knowledge across sessions (second brain for agents)
- Supports local Ollama models (free, no API costs)
Prerequisites
-
Install Docker Desktop (required for open-notebook)
-
Install Ollama with a model (e.g., qwen3-4b-thinking-32k)
-
Run open-notebook:
docker compose -f docker-compose-host-ollama.yml up -dOr use the default compose:
docker compose up -d
Setup
The skill expects open-notebook at:
Functions (INCLUDED)
This skill provides these PowerShell functions directly:
Add-ToNotebook
function Add-ToNotebook {
param(
[string]$Content,
[string]$NotebookId = "YOUR_NOTEBOOK_ID"
)
$body = @{
content = $Content
notebook_id = $NotebookId
type = "text"
} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:5055/api/sources/json" -Method Post -ContentType "application/json" -Body $body
}
Search-Notebook
function Search-Notebook {
param(
[string]$Query,
[string]$NotebookId = "YOUR_NOTEBOOK_ID"
)
$body = @{
question = $Query
notebook_ids = @($NotebookId)
strategy_model = "model:YOUR_MODEL_ID"
answer_model = "model:YOUR_MODEL_ID"
final_answer_model = "model:YOUR_MODEL_ID"
} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:5055/api/search/ask" -Method Post -ContentType "application/json" -Body $body
}
New-Notebook
function New-Notebook {
param(
[string]$Name,
[string]$Description = ""
)
$body = @{
name = $Name
description = $Description
} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:5055/api/notebooks" -Method Post -ContentType "application/json" -Body $body
}
Notebook IDs
After creating notebooks, update these variables in your scripts:
$SIMULATION = "notebook:YOUR_SIMULATION_ID"
$CONSCIOUSNESS = "notebook:YOUR_CONSCIOUSNESS_ID"
$ENJAMBRE = "notebook:YOUR_ENJAMBRE_ID"
$OSIRIS = "notebook:YOUR_OSIRIS_ID"
$RESEARCH = "notebook:YOUR_RESEARCH_ID"
Example Usage
# Create a new notebook
New-Notebook -Name "My Research" -Description "Research notes"
# Save content
Add-ToNotebook -Content "This is my insight" -NotebookId "notebook:xxx"
# Query knowledge
$result = Search-Notebook -Query "What did I learn about X?" -NotebookId "notebook:xxx"
Configuration Required
Before using, you MUST:
- Run open-notebook with Docker
- Create notebooks via the UI (http://localhost:8502) or API
- Get your notebook IDs from the API response
- Update the $NotebookId parameters in the functions
Requirements
- Docker Desktop running
- Ollama with at least one model installed
- open-notebook containers running (SurrealDB + app)
Troubleshooting
- If API fails, check containers:
docker ps - Check open-notebook logs:
docker compose logs - Verify Ollama is running:
curl http://localhost:11434/api/tags
Version
1.0.1 - Improved documentation, included function examples