Skip to content

Your first slot

knowledge base · getting started·reviewed 2026-08-09·suggest an edit ↗

Installing hal0 gets you a running daemon with nothing loaded — a slot is what actually holds a model in memory and answers requests. This page is the fast path from “installed” to “one slot, warm, serving.” For the full install walkthrough (drivers, GTT sizing, package prerequisites), see Install on bare metal — this page assumes that part is already done.

  1. Confirm the daemon is up.

    Terminal window
    hal0 status

    A healthy install reports the API listening on :8080 and zero slots loaded — that’s expected on a fresh box.

  2. Pull a small model first. Don’t reach for the biggest model in the roster on your first try — pull something that fits comfortably so a slow network or a tight memory budget isn’t the thing you’re debugging.

    Terminal window
    hal0 model pull qwen3.5-9b-q4kxl
  3. Create a slot from it.

    Terminal window
    hal0 slot create agent --model qwen3.5-9b-q4kxl

    agent is the canonical role most tools default to — pointing a new slot at it means anything speaking to hal0/agent (Open WebUI, Hermes, a raw curl) works immediately with no further config.

  4. Talk to it.

    Terminal window
    curl localhost:8080/v1/chat/completions \
    -H 'Content-Type: application/json' \
    -d '{"model":"hal0/agent","messages":[{"role":"user","content":"hi"}]}'

    The first request pays the cold-start cost — offline → starting → warming → ready → serving. Subsequent requests to the same slot are fast.