Skip to content

Configuration

Settings (⚙)

Open the gear in the top bar (or ⌘K → Settings). Settings persist per-browser in localStorage.

SettingEffect
Live-update debounceMinimum delay (ms) between live recomputes while dragging a control. Higher = fewer recomputes on a slow kernel.
Full page widthUse the full window width instead of the centered column.
ThemeDark (default).
Editor syntaxSyntax-highlighting palette for the editor — Dark+, Monokai, Dracula, or Nord.
Agent modelSonnet / Opus / Haiku, plus any locally-installed Ollama model.
Agent permissionslab / auto / default / bypass preset for the agent.

Model and permission changes reap the agent so the next message respawns on the new setting (the transcript is kept).

Notebook config

The ⚙ Settings above are per-browser and apply to every notebook. Per-notebook overrides live in a separate panel — ☰ → 🎚 Notebook config. Each setting starts from your global default and can be pinned to this notebook; the pinned ones travel in the .jl, so the notebook reopens the same way anywhere.

Typical per-notebook overrides:

  • Worker threads ("<compute>,<interactive>") and parallel cell execution.

  • Slides — mark the notebook as a slide deck and set its options.

  • Agent model / permissions — override the global agent defaults for this notebook (permissions are remembered locally and never written to the file).

  • Autorun — whether the notebook runs its cells on open.

Where a value crosses into other UI: the notebook's run location is the toolbar "Running on" picker (whole-notebook placement, Remotes), and its regions are the Destinations it enables — both are saved in the same config footer.

Serving

The slate app is the normal way to run the hub:

sh
slate                 # start (or attach to) the hub + status TUI
slate notebook.jl     # also open a notebook
slate --own           # force a standalone hub even if a Kaimon extension is registered

The hub port is KAIMONSLATE_PORT (default 8765); set KAIMONSLATE_NO_OPEN=1 to never open a browser.

To drive the hub from your own script instead, the programmatic API is still available:

julia
KaimonSlate.serve_notebook(path; host = "127.0.0.1", port = 8765)   # blocking
h = KaimonSlate.start_server(path; port = 8765)                     # non-blocking → Hub
KaimonSlate.stop_server(h)

start_hub / open_notebook! / close_notebook! / stop_hub give finer control over a multi-notebook hub. See the API Reference.

Kernel selection

A notebook uses a gate worker when it sits inside a Julia project and Kaimon's gate is available; otherwise it runs in-process. The gate worker gives you a clean namespace, a tailable log (🪵), package management, and isolation. There's no setting for this — it's chosen from the notebook's location. Restart a worker any time with ⟲ Restart worker (top bar), or rebuild the namespace with ↻ Rebuild.

A worker can also run on another machine — a workstation, GPU box, or cloud VM — with the notebook behaving exactly as if local. Set hosts up on the front page's 🖧 Remotes dialog and place a whole notebook with Run on, or route individual cells to a named region (kept warm for instant startup). See Remotes.

Remote worker timing

The SSH/connect/tunnel/transfer timeouts used when a worker runs on another machine default to values tuned for a LAN. A slow-auth, high-latency, or cold (heavy-precompile) host can legitimately exceed them — a cold cloud VM's first spawn, say, outrunning the 120 s dial deadline. Rather than rebuild, override any of them per machine in a "remote" object in slate.json (in your config home — $XDG_CONFIG_HOME/kaimonslate/, changes apply on the next hub start):

json
{
  "remote": {
    "dial_deadline_cold": 300,
    "ssh_connect_timeout": 30,
    "pkg_op_timeout": 1800
  }
}

Each key also has a KAIMONSLATE_* environment-variable equivalent (handy for a one-off run or a test); precedence is slate.json → env var → built-in default. Values are seconds unless noted.

slate.json keyEnv varDefaultGoverns
dial_deadline_coldKAIMONSLATE_DIAL_DEADLINE_COLD120Cold-spawn dial — covers remote Julia boot + KaimonGate load.
dial_deadline_probeKAIMONSLATE_DIAL_DEADLINE_PROBE15Reattach-probe / warm-pool-adopt dial.
dial_deadline_recordKAIMONSLATE_DIAL_DEADLINE_RECORD5Record-first dial (a live worker answers in well under a second).
connect_deadline_localKAIMONSLATE_CONNECT_DEADLINE_LOCAL90Local (127.0.0.1) worker connect deadline.
ssh_connect_timeoutKAIMONSLATE_SSH_CONNECT_TIMEOUT15ConnectTimeout for every ssh/scp/rsync op.
ssh_control_persistKAIMONSLATE_SSH_CONTROL_PERSIST120SSH connection-mux master warm-hold past the last op.
tunnel_alive_intervalKAIMONSLATE_TUNNEL_ALIVE_INTERVAL5Supervised tunnel ServerAliveInterval.
tunnel_alive_countKAIMONSLATE_TUNNEL_ALIVE_COUNT3Supervised tunnel ServerAliveCountMax.
tunnel_respawn_backoffKAIMONSLATE_TUNNEL_RESPAWN_BACKOFF1Backoff after a dropped forward before respawning it.
probe_timeoutKAIMONSLATE_PROBE_TIMEOUT4:direct TCP port-open probe.
firewall_giveupKAIMONSLATE_FIREWALL_GIVEUP10Sustained SYN-drop ⇒ declare a firewall and fail fast.
pkg_op_timeoutKAIMONSLATE_PKG_OP_TIMEOUT900Package add/rm/reconstruct — a heavy stack's resolve + precompile.
sync_parent_timeoutKAIMONSLATE_SYNC_PARENT_TIMEOUT600Parent-project /src sync.
blob_xfer_timeoutKAIMONSLATE_BLOB_XFER_TIMEOUT600Whole-binding / direct-blob boundary move.
blob_chunk_timeoutKAIMONSLATE_BLOB_CHUNK_TIMEOUT20Per-chunk ZMQ recv/send timeout on a transfer.
sysimage_lock_staleKAIMONSLATE_SYSIMAGE_LOCK_STALE1800Concurrent sysimage-build lock staleness window.
peer_bw_mbpsKAIMONSLATE_PEER_BW_MBPS30Assumed rate (MB/s) for an unmeasured worker→worker link.

Ollama (local models)

The agent model dropdown lists models from your local Ollama install, queried from its HTTP API (embedding-only models are filtered out). Point at a non-default host with the standard environment variable:

bash
export OLLAMA_HOST=http://127.0.0.1:11434

Driving a local model requires Kaimon's Ollama agent backend. Selecting a model stores it as ollama:<name>, which rides each chat turn.

Environment variables

VariableUsed for
KAIMONSLATE_PORTHub port for the slate app / server (default 8765).
KAIMONSLATE_NO_OPEN=1 → never open a browser when the slate app starts.
OLLAMA_HOSTOllama API endpoint for the model list (default http://127.0.0.1:11434).
KAIMONSLATE_ASSET_BASEDocs build only — points the site at the docs-assets GitHub Release for generated demo media. Unset locally → served from public/assets/.