unswarm

Your own swarm of models
just one at a time.

MIT · self-hosted · OpenAI-compatible API · .NET + Go + React

How it works

  1. 01

    Your app asks for a model.

    One OpenAI-compatible endpoint. Put whichever model you like in the model field — the app has expectations; we do not shame them.

  2. 02

    The scheduler decides.

    Model already loaded? Tokens flow. Not loaded? It stops the current model container, boots yours, and feeds the weights into your very small GPU.

  3. 03

    Your app thinks nothing happened.

    Requests queue, responses proxy through, and from the outside all ten of your models appear to exist simultaneously. They do. Sort of.

One honest caveat: swapping models takes seconds to minutes, depending on model size and how fast your disk is. Requests wait in the queue meanwhile. If you want everything answering at once, that's what more VRAM is for — or a generous sponsor.

Capabilities

One control plane.
As many boxes as you own.

Agents connect out to the control plane over WebSocket — the control plane never dials into your machines.

Quick start

git clone https://github.com/atretador/unswarm.git
cd unswarm
docker compose up -d --build
docker exec -i unswarm-backend-1 dotnet exec -- unswarm-admin set-password --username admin --password YourPassword

Backend, frontend and database in one box to start; add agents when you buy more computers. Development setup (.NET 10 · Go · React 19) is in the README.