Distributed compute / CLI and APIs

Your network,
behind one model.

A network key lets the hetero CLI place a model across the network’s machines. It runs in your terminal, or serves OpenAI’s and Ollama’s APIs so existing clients and libraries work unchanged.

1. Create a key

In Compute → Keys, name a key and choose what it reaches: one of your networks, or the community pool. The key is shown once; store it in a file only you can read.

echo 'hwk_…' > ~/.hetero/network.key && chmod 600 ~/.hetero/network.key
export HETERO_HUB=https://gethostwatch.com/api/compute/hub
export HETERO_HUB_TOKEN_FILE=~/.hetero/network.key

2. Get a model

The coordinator needs the model’s checkpoint; the machines get the layers they compute from it.

hetero pull qwen3:4b          # Qwen/Qwen3-4B from the Hugging Face Hub, every file checked
hetero pull qwen3:0.6b        # a small model of the family drafts for the large one
hetero pack qwen3:0.6b        # its Q8 pack: a faster draft on a Mac

3. Run it across the network

hetero run qwen3-4b-hf --across all \
  --serve-model 0.0.0.0:7950 --model-advertise MY-ADDRESS --allow-from MY-ADDRESS

--across all takes every machine of the key’s network that is online, not paused, inside its hours and lending model stages; name machines instead to pick some. --serve-model lets machines without the model fetch their layers from this one, at the address they reach it by; --allow-from is that same address as the stages see it, the only one they accept. The coordinator keeps the ends of the model on its GPU — a Mac’s, or a graphics card through WebGPU (--device gpu) — and drafts with a smaller model of the family when it has one.

4. Or serve it

hetero serve --model qwen3-4b-hf --across all --serve-model 0.0.0.0:7950 \
  --model-advertise MY-ADDRESS --allow-from MY-ADDRESS

The server listens on 127.0.0.1:11435 with OpenAI’s API at /v1 (chat and completions, streamed, tools, thinking) and Ollama’s at /api, so the ollama command and its clients work against it. Another listening address needs an API key.

curl -s localhost:11435/v1/chat/completions \
  -d '{"model": "qwen3-4b-hf", "messages": [{"role": "user", "content": "Hello"}]}'
OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3-4b-hf

The queue’s API

Workers and coordinators speak the same job API as a Hostwatch agent’s queue, under /api/compute/hub/api/v2: submit, lease (waiting for work up to 25 seconds), renew, fail and complete jobs, read and write their files. Machine credentials (hwm_…) lease and report; network keys (hwk_…) submit and read. GET /api/v2/compute/machines lists what a key reaches.

NextCommunity pool