Ollama is stateless
Ollama doesn't remember between requests. There's no session id, no server-side history. To have a conversation, you replay the whole message history every turn. Compare to Claude Agent SDK (which holds a persistent subprocess per session) — that's the exception, not the rule. Most LLM APIs are stateless; Ollama is the common case.
What you build
A thin OllamaSession on top of the adapter that maintains the message list, appends each user/assistant turn, and replays on every send. The adapter doesn't know it exists — sessions are an upper layer.
Remote Ollama
Set OLLAMA_HOST=0.0.0.0:11434 on the server Mac to expose the daemon on the network. Then your laptop can point the adapter at http://server-mac.local:11434 (or a Tailscale IP) and offload inference to bigger hardware. Same API, different base URL.
The Pippa fleet pattern
cwkPippa's office Mac runs Ollama with the bigger 70B-class models loaded. Other Macs in the fleet point their Ollama adapters at the office's Tailscale IP for heavy inference and run small models locally for fast small tasks. The choice is per-call, set in the adapter's base_url.