gastownhall/gastown

Gas Town - multi-agent workspace manager

Gas Town – 多代理 AI 程式碼助手的協調系統

是什麼 – Gas Town 是一個命令列工作區管理器,允許你在多個 Git 專案上執行多個 AI 程式碼助手(Claude Code、GitHub Copilot、Codex、Gemini 等),同時將每一步工作持久化儲存在 Git 支援的帳本中。系統提供一整套階層概念(Mayor、Town、Rigs、Crew、Polecats、Hooks、Convoys、Beads 等),共同提供以下功能:

  • 持久化狀態 – 每個代理的輸出都儲存在 hook(Git 工作樹)中,因此即使當機或重啟也不會遺失進度。
  • 內建協調機制 – 一個中央 AI 協調者稱為 Mayor,會建立 convoys(工作追蹤單位),由 beads(類似問題的 ID)組成。Mayor 將 beads 分配給工作代理(Polecats)並追蹤完成狀態。
  • 可擴展的協調 – 架構設計可處理數十個代理在多個專案(稱為 Rigs)上的運作,並由監控程序(WitnessDeaconDogs)偵測卡住的代理並重新啟動。
  • 合併佇列自動化 – 每個 Rig 都有一個 Refinery,批次處理完成的工作,執行驗證門檻,並使用 Bors 風格佇列合併至主分支。
  • 聯邦式工作共享 – 可選的 Wasteland 層讓多個 Gas Town 安裝透過 DoltHub 交換工作項目,並獲得聲譽印章。

核心概念(快速參考)

概念 角色
Mayor 主要的 Claude Code 實例,了解整個工作區並建立 convoys。
Town 根工作區目錄(例如 ~/gt/)。
Rig 包裹 Git 儲存庫及其代理的專案容器。
Crew 你在 Rig 內的個人克隆,用於編輯程式碼。
Polecat 具有持久身份但會話短暫的工作者 AI 代理。
Hook 用作代理輸出持久化儲存的 Git 工作樹。
Bead / Issue 儲存在 Beads 帳本中的結構化工作項目(gt-abc12)。
Convoy Mayor 一起分派的一組 beads。
Molecule 以 TOML 定義的工作流程範本,可擴展為一系列 beads。
Witness / Deacon / Dogs 監控健康狀態、執行定期維護並處理升級的監控程序。
Refinery 批次處理並驗證已完成工作的合併佇列處理器。
Scheduler 可設定的併發控制者,防止 API 速率限制耗盡。
Seance 會話恢復工具,讓新代理查詢先前會話的日誌。
Wasteland 用於在獨立 Gas Town 安裝之間共享工作的聯邦層。

快速入門(最小步驟)

# 1. 安裝前置需求(Git 2.20+,Go 1.26+,Dolt,beads CLI,tmux)
# 2. 安裝 `gt` 二進位檔(Homebrew、`go install` 或 Docker)
brew install gastown            # macOS 快捷方式(安裝 gt、bd、dolt)
# 3. 初始化總部工作區
gt install ~/gt --shell --git
cd ~/gt && gt up               # 啟動守護程序、Deacon、Mayor 等
# 4. 將專案新增為 Rig
gt rig add myproj https://github.com/you/repo.git
# 5. 建立個人 Crew 工作區
gt crew add alice --rig myproj
# 6. 連接至 Mayor 並給予目標
gt mayor attach
# (輸入你的請求,例如「為 API 實作 OAuth 登入」)

Mayor 將自動建立 convoy,將 beads 分配給可用的 Polecats,並將所有中間結果儲存在 Git 支援的 hooks 中。


常見工作流程

  1. 建立 convoygt convoy create "Feature X" gt-abc12 gt-def34(或讓 Mayor 自動建立)。
  2. 分派工作gt sling gt-abc12 myproj 將 bead gt-abc12 發送給執行設定執行時(Claude、Codex 等)的 Polecat。
  3. 代理工作 – Polecat 讀取郵件匣,執行 AI 工具,將輸出寫入 hook,並在完成時呼叫 gt done
  4. Refinery 合併 – 完成的 beads 被批次處理、驗證,並合併至主分支。
  5. 監控 – 使用 gt convoy listgt agentsgt feed 或觀察 TUI 來查看進度與任何升級。

擴充與自訂

  • 執行時設定 – 每個 Rig 的 JSON(settings/config.json)可讓你選擇提供者(codexgeminicopilot 等)並調整命令列參數。
  • 公式(Molecules) – 可重用的 TOML 記錄(例如標準發行流程)儲存在 internal/formula/formulas/。使用 bd CLI 來列出(bd formula list)、執行(bd cook release --var version=1.2.0)或實例化(bd mol pour release …)。
  • 排程器限制 – 在設定中設定 scheduler.max_polecats 以限制同時啟動的代理數量。
  • Wasteland 聯邦 – 使用 gt wl join <remote> 連接到共享 DoltHub 電子看板,領取工作並提交證據。

誰適合使用?

  • 重度依賴 AI 程式碼助手,且需要可靠方式防止 AI 會話結束時工作遺失的工程團隊。
  • 實驗多代理流程(例如一個代理寫程式碼,另一個審查,第三個執行測試)並希望獲得 Git 原生審計追蹤的研究實驗室。
  • 希望協調多個 AI 工具(Claude 用於設計,Copilot 用於範本,Gemini 用於測試)但不想手動複製片段的單人開發者。

如何取得更多資訊

  • 文件docs/ 資料夾包含詳細設計筆記(escalation.mdscheduler.mdWASTELAND.md 等)和完整術語表。
  • 原始碼 – 專案以 Go 寫成,使用 Beads 問題追蹤庫,並提供 Docker Compose 設定供沙盒環境使用。
  • 社群 – 專案由 steveyegge 維護,Issue 和 Pull Request 是主要貢獻方式。

總結:Gas Town 是一個真實存在的開源協調層,將多個 AI 程式碼助手集合轉化為一個協調、持久、基於 Git 的工作流程引擎,使大規模 AI 協助開發更可靠且可審計。

相關

  • 專案
  • 專案
  • 專案
  • Dispatch
  • 專案