Skip to content

AI stack

PAI ships a fully local inference stack. Nothing leaves the machine unless the user explicitly configures it to.

Components

Layer What Runs as
Inference Ollama daemon ollama.service (systemd user)
Model manager pai-recommend-model, pai-status CLI + waybar module
Chat UI Open WebUI containerised on first use
API surface Ollama HTTP API on 127.0.0.1:11434 loopback only

See components.md for other subsystems and data-flow.md for request tracing.

Storage

Model weights live on the persistence volume at /var/lib/ollama/models. The path is included in the default persistence.conf, so weights survive reboots once persistence is unlocked. In amnesic mode weights are stored in tmpfs and disappear at shutdown.

See storage.md for the overlay layout and ../persistence/introduction.md for how the persistence volume is created.

Network posture

The Ollama API binds to loopback only. No port is opened on any external interface. The firewall (see network.md) drops inbound traffic to 11434 regardless, but the bind is the primary defence.

Open WebUI talks to Ollama over loopback. The WebUI itself listens on loopback and is reached via the local browser.

Choosing and managing models

What the AI stack does not do

  • Phone home. No analytics, no shared model telemetry.
  • Cache prompts or completions outside the Ollama database.
  • Route traffic through any remote inference API, even if a remote model key is present in the environment.