Gas Town
Gas Town je open-source multi-agent workspace manager pro Claude Code, GitHub Copilot, Codex, Gemini a další AI coding agenty. Nejde o jeden editorový plugin, ale o koordinační vrstvu nad více agenty, git repozitáři a pracovními rolemi. Hlavní myšlenka je oddělit krátkodobou session agenta od dlouhodobého stavu práce, aby se kontext neztrácel po restartu nebo pádu procesu.
- Hlavní binárka:
gt - Jazyk: Go
- Licence: MIT
- Výchozí runtime: Claude Code CLI
- Další podporované runtime: Codex, GitHub Copilot a další podle konfigurace
Co projekt řeší
README projektu popisuje několik praktických problémů:
- agent ztratí kontext po restartu
- ruční koordinace více agentů je chaotická
- při větším počtu workerů je těžké sledovat, kdo na čem pracuje
- stav práce zůstává jen v paměti agenta místo toho, aby byl uložený mimo session
Gas Town to řeší tím, že stav práce ukládá do perzistentní vrstvy postavené nad gitem, worktree a systémem Beads. Session jednotlivých agentů mohou být krátké a pomíjivé, ale identita agenta, přidělená práce a historie zůstávají uložené.
Jak funguje
Town, rig a crew
Celý workspace se v terminologii projektu jmenuje Town. Typicky jde o adresář jako ~/gt, ve kterém jsou uložené konfigurace, registry projektů, metadata agentů a společná infrastruktura.
Jednotlivý projekt se nazývá Rig. Rig obaluje konkrétní git repozitář a spravuje jeho pracovní role, worktree, tasky a merge workflow.
Crew je lidský workspace v rámci rigu — tedy místo, kde pracuje člověk. Oproti tomu worker agenti běží odděleně ve vlastních pracovních adresářích.
Mayor, polecats a hooks
Hlavní koordinátor se jmenuje Mayor. To je agent, kterému se zadá cíl a on z něj rozpadne práci na menší kroky, vytvoří trackované úkoly a přidělí je workerům.
Worker agenti se jmenují Polecats. Každý polecat dostane konkrétní task a pracuje izolovaně od ostatních.
Důležitou roli mají Hooks — perzistentní úložiště práce postavené nad git worktree. Právě tady je uložený pracovní stav, který má přežít restart session.
Beads, convoys a dohled
Jednotlivé tasky jsou v Gas Townu vedené jako Beads s vlastními ID. Nad nimi se vytvářejí Convoys, tedy skupiny práce, které lze rozdělovat mezi agenty a průběžně sledovat.
Nad běžícími agenty stojí další role:
- Witness — per-rig dohled nad zdravím workerů
- Deacon — globální dohled napříč rigy
- Refinery — merge queue a verifikace před sloučením do hlavní větve
Architektura perzistence
Architektonická dokumentace popisuje dvouúrovňový model evidence práce:
- Town-level beads v
~/gt/.beads/s prefixemhq-*pro globální koordinaci - Rig-level beads v
<rig>/mayor/rig/.beads/s prefixem projektu pro implementační práci
V praxi to znamená, že strategická a koordinační vrstva je oddělená od tasků konkrétního projektu.
Stejný dokument také popisuje, že:
- polecats a refinery používají git worktree, ne plné klony
- lidské crew workspaces jsou naopak plné git klony
- data pro beads jsou ukládaná přes centrální Dolt SQL server pro celý Town
Typický workflow
Základní bootstrap podle README vypadá takto:
gt install ~/gt --git cd ~/gt gt rig add myproject https://github.com/you/repo.git gt crew add yourname --rig myproject cd myproject/crew/yourname gt mayor attach
Po spuštění Mayor session se práce obvykle řídí přes convoy a přidělování beadů:
gt convoy create "Feature X" gt-abc12 gt-def34 --notify --human gt sling gt-abc12 myproject gt convoy list gt agents
Zjednodušeně to funguje takto:
- člověk zadá Mayorovi cíl
- Mayor vytvoří convoy a rozdělí práci na beads
- konkrétní bead se přes
gt slingpřidělí worker agentovi - worker pracuje ve vlastním worktree a průběžně ukládá stav
- hotová práce jde přes merge queue, ne přímo do
main
Důležité části systému
Kromě samotného dispatchingu agentů projekt obsahuje i další vrstvy:
gt feed— terminálový dashboard s živým přehledem agentů, convoyů a událostí- Dashboard — webové UI pro přehled nad workspace
- Scheduler — omezuje počet současně běžících workerů a chrání proti vyčerpání limitů API
- Seance — umí dohledat starší session a položit jim jednorázovou otázku pro předání kontextu
- Escalation — systém pro routování blockerů podle závažnosti
- Wasteland — federovaná vrstva pro koordinaci práce mezi více Gas Town instancemi
Kdy Gas Town dává smysl
Projekt dává smysl hlavně tam, kde jeden agent v jednom terminálu nestačí a je potřeba řídit více izolovaných workerů nad jedním nebo více repozitáři. Podle README míří Gas Town na workflow, kde se koordinuje více tasků současně a kde je důležité, aby stav práce přežil restart agentů i delší běh.
Prakticky je zajímavý hlavně pro:
- složitější vývoj s více paralelními úkoly
- dlouhotrvající agentické workflow
- týmy, které chtějí mít nad AI workerem merge gate a dohled
- scénáře, kde se kombinuje více runtime a více projektů v jednom workspace
Praktické poznámky
Gas Town není malý doplněk do editoru. README uvádí několik předpokladů, mimo jiné Go 1.25+, Git s podporou worktree, Dolt, Beads, SQLite a ideálně i tmux. Projekt má také vlastní, poměrně bohatou terminologii — Mayor, Rig, Polecat, Hook, Convoy, Witness, Refinery, Deacon — takže první seznámení je spíš o pochopení celého modelu práce než o jednom příkazu navíc.
Projekt je navržený pro složitější orchestration scénáře, ne pro nejjednodušší single-agent použití.