ai:platformy:agenti-a-orchestrace:gastown

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

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é.

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.

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.

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

Architektonická dokumentace popisuje dvouúrovňový model evidence práce:

  • Town-level beads v ~/gt/.beads/ s prefixem hq-* 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

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:

  1. člověk zadá Mayorovi cíl
  2. Mayor vytvoří convoy a rozdělí práci na beads
  3. konkrétní bead se přes gt sling přidělí worker agentovi
  4. worker pracuje ve vlastním worktree a průběžně ukládá stav
  5. hotová práce jde přes merge queue, ne přímo do main

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

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

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í.

  • ai/platformy/agenti-a-orchestrace/gastown.txt
  • Poslední úprava: 2026/04/16 16:48
  • autor: Petr Nosek