From zero to a private swarm.
ProgressPals lets a small team pool their hardware to run a large open-source model together — privately, on machines you control, no GPU rental, no API fees. This page is the shortest functional path.
Install
ProgressPals is a single Python package that installs a CLI called pals. Python 3.10 or 3.11 is required. Both paths below start from a successful install.
Operator path — start a swarm
You’re the person hosting the cluster. You’ll register the swarm, mint an invite, and bring up the first server. Most teams have exactly one operator.
Initialize your local config
Creates ~/.config/progresspals/config.json with mode 0600. Your libp2p identity key gets generated on the first server start (pals create / pals join / pals serve). Nothing leaves your machine yet.
Register the swarm
Records the swarm so you can mint invites and manage members. You only do this once per swarm.
Mint an invite
Generates a single-use token (override with --max-uses). Hand it to your teammate over a secure channel — Signal, an encrypted email, whatever you trust. The token is printed only once; save it.
Start hosting layers
Brings up a server that holds a slice of the model. The CLI logs your multiaddr — share that with joiners along with the invite token.
--public.(Optional) expose an OpenAI endpoint
Once enough pals are online to cover the full model, run a local HTTP server that speaks the OpenAI wire format. Cursor, Aider, Continue, the openai Python SDK — anything OpenAI-shaped works unchanged.
--host 0.0.0.0, you must also pass --api-key. pals serve refuses to bind a non-loopback interface without one.Joiner path — you got an invite
Someone gave you an invite token (looks like pp_inv_...) and a multiaddr (looks like /ip4/.../tcp/.../p2p/...). Here’s how you bring your machine to their cluster.
Initialize your local config
Same step as the operator.
Redeem the invite
Sends your peer identity, checks the token, and adds your machine to the swarm’s allow-list. Pass the token via env var so it stays out of your shell history.
Join the swarm
Use the multiaddr from the operator. Your machine will download only its assigned slice of the model and start serving its layers.
(Optional) watch the swarm live
A read-only TUI that polls every 30 seconds: peers, invites, status. Press Ctrl-C to exit.