Verify it works
Two commands confirm a healthy setup: one shows the live state of the daemon and your mesh, the other runs a real inference request.
Check the live state
Section titled “Check the live state”waired status --observabilityA healthy inference server looks like this:
Observability: Device: dev-ubuntu uptime: 1m23s Engine: ready (model=qwen2.5-coder-7b-instruct, 0/4 slots used, inflight=0) Share: enabled Paused: no Mesh: 2 enrolled / 1 reachable / 1 ready Last: - (no inference requests yet)What to look for:
- Engine: ready — the model is loaded and can serve requests. If it says
not ready, the model may still be pulling (wait a few minutes) or the runtime may be down (waired runtimes status). - Share / Paused —
Share: enabledmeans peers can reach this engine;Paused: nomeans routing is active. - Mesh —
enrolled / reachable / readypeer counts. On a client, this is how you confirm your server shows up as reachable.
Add -o json for machine-readable output.
Run your first request
Section titled “Run your first request”waired infer "say hi"This calls your local engine directly, so it works regardless of mesh reachability — it’s the earliest way to confirm inference works. A greeting should come back within a few hundred milliseconds to a few seconds.
To see the routing decision (local vs. peer, model resolution, estimated latency) alongside the answer:
waired infer --explain "say hi"What’s next
Section titled “What’s next”- Route your coding agent through your model: Coding agents.
- Connect a chat or OpenAI-compatible client: Chat clients.
- Pick a bigger or smaller model: Switch the bundled model.