skip to content
Serve an endpoint

Local models

Serve an endpoint


terminal
conifer serve --model <model-name>

Binds 127.0.0.1:8080. That running server is the door: the one port your tools point at, wherever the models live. --model, --route, or --fuse sets that listener’s complete admission default by value. It defines what a stateless model: default request and a new conversation start with; it does not narrow what the door can serve.

The door speaks the same wire as the cloud. Routes, parameters, and errors are in the API reference; thin builds answer 501 on engine-only routes. To prove it’s answering:

terminal
curl http://127.0.0.1:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"default","max_tokens":64,"messages":[{"role":"user","content":"ping"}]}'

Lifecycle

An explicit physical model or advertised route/fuse id in the request overrides the ambient default for that turn without mutating it. --ttl <seconds> unloads an idle model (0, the default, keeps it forever). --detach backgrounds the door; conifer host stop ends it.

Serve on the LAN

terminal
conifer serve --bind lan   # refused unless an access token is configured

On loopback there is no auth; the port boundary is the privacy boundary. Mint per-peer tokens with conifer serve peers mint; each is individually revocable. This is how a Mac serves models to the thin Windows and Linux clients on Platforms.