Swarm overview¶
Experimental
Distributed swarm is an advanced, evolving capability. The pieces work end to end, but the design is still settling and details may change. For single-machine work, you don't need any of this.
A swarm connects several gdc instances across different machines so they can work on tasks together. One instance coordinates; others carry out pieces of the work and report back. Members authenticate to each other with cryptographic identities, and traffic is encrypted.
When you'd use it¶
- You have work that benefits from more than one machine — spreading a large task across hosts.
- You want a set of trusted machines to collaborate under one coordinator.
For work that fits on a single machine, use the built-in subagents instead — they need no setup.
How it fits together¶
- A coordinator accepts a goal, breaks it into pieces, and hands them out.
- Workers connect to the coordinator, take assigned pieces, run them, and return results.
- Membership is managed with signed invites: the coordinator issues an invite, a machine joins with it, and its identity is recorded.
- Security rests on per-machine cryptographic identities plus encrypted (TLS) connections.
Roles¶
| Role | Does |
|---|---|
| Coordinator | Runs the swarm, assigns work, tracks members. |
| Worker | Connects in and runs assigned tasks. |
| Reviewer | An optional worker that can review other work. |
One machine can host both the coordinator and a worker for simple, single-host experimentation.
The workflow at a glance¶
- Set up — create the swarm on the coordinator, invite machines, and have them join.
- Run — start the coordinator and workers.
- Operate — list members, remove or revoke ones you no longer trust, hand off the coordinator, or dissolve the swarm.
Continue to Swarm setup.