Open Notebook
Open Notebook is a self-hosted research notebook: sources, notes, transformations and chat over your material. Its AI runs on providers you set in the UI.
Upstream: source.
Plugboard options
Give Open Notebook its own key. Docker needs a reachable address (Serving other machines).
jsonc
{
"options": {
"listen": { "host": "0.0.0.0", "port": 4010 },
"keys": { "open-notebook": "{env:PLUGBOARD_KEY_OPEN_NOTEBOOK}" },
"models": ["opencode-go/glm-5.3-flash"],
"aliases": { "chat": "opencode-go/glm-5.3-flash" },
"apps": { "open-notebook": { "allowedModels": ["chat"] } }
}
}Connect
The OpenAI Compatible provider takes one base URL per configuration. In the UI:
- Add a configuration under OpenAI Compatible. Set a name, the Base URL
http://host.docker.internal:4010/v1, and theopen-notebookkey as the API key. - Click Test. It calls
GET <Base URL>/models, and plugboard answers with the models this app may use. - If
chatis missing from the list, type its id in Discover Models and add it. - Add
chatas a language model.
Set the provider in the database configuration. The OPENAI_COMPATIBLE_BASE_URL and OPENAI_COMPATIBLE_API_KEY env vars are a deprecated fallback.
What works
Language models for chat and transformations, through the chat alias.
Limits
- Adding sources needs an embedding model, which plugboard does not serve. Add a second configuration for an embedding provider (Ollama or another OpenAI-compatible server). Each model remembers which configuration it came from.
- Speech to text and text to speech are not served. Open Notebook's docs point to Speaches for local speech.
- Model calls time out after
ESPERANTO_LLM_TIMEOUT(180 seconds by default). Raise it for a slow model.