github.com · gastownhall/gastown
Gas Town - 开源琅嬛阁
项目介绍
Gas Town(gt)是一款多 Agent 工作区编排器,让你在同一个 Town 里协调 Claude Code、GitHub Copilot、Codex、Gemini 等编码 Agent 并行处理不同任务。它用 Git worktree Hooks 与 Beads 账本持久化工作状态,Agent 会话重启后上下文不丢,官方称可稳定扩展到 20–30 个 Agent。入口是 Mayor——一个带全量工作区上下文的协调会话,你从这里下达目标即可。
核心特性
- Town / Rig 分层:Town 为工作区根目录(如
~/gt/),Rig 包裹单个 Git 仓库及其 Agent 群 - Polecats 工人 Agent:带持久身份、会话随任务结束;Hooks 用 git worktree 保存产出,崩溃可恢复
- Convoys 任务编组:将多个 Bead 打包派发给 Agent;
mountain标签支持自主停滞检测与跳过逻辑 - Molecules 工作流模板:TOML 定义多步流程,支持轻量 wisps 与带检查点的 poured wisps
- 三层看门狗:Witness(单 Rig 生命周期)、Deacon(全局巡检)、Dogs(基础设施维护)
- Refinery 合并队列:Polecat 完成后经 Bors 风格队列批量验证并合并到 main
- Seance 会话延续:从
.events.jsonl发现前序会话,向「前任」Agent 追问上下文 - Wasteland 联邦协作:通过 DoltHub 跨 Town 认领任务、提交证据并积累声誉
对用户价值
当你从「单 Agent 结对编程」升级到「多 Agent 并行改多个仓库」时,最难的是协调、状态丢失与合并冲突。Gas Town 把任务拆成 Bead、用 Convoy 派发、用 Hooks 落盘,再配合 Refinery 统一合并,减少人工盯梢。Escalation(gt escalate)把阻塞按严重级别路由给 Deacon、Mayor 或 Overseer;Scheduler 可限制并发派发,缓解 API 限流。对重度 Claude Code / Copilot CLI 用户,这是把「多终端多窗口」升级为可恢复、可审计工作流的基础设施。
与替代方案
- 相比 Aider、Cline 等单会话 IDE/终端结对工具,Gas Town 专注多 Agent 编排与跨仓库状态持久化,不替代编辑器集成,而是管理 Agent 舰队与合并队列。
- 相比 OpenCode 等轻量多模型终端,Gas Town 更重组织架构(Mayor、Rig、Polecat、Witness)与 Beads/Git 工作流,适合长期并行而非单次对话。
- 相比 n8n、Dify 等可视化工作流平台,Gas Town 是开发者本地 CLI 运行时,依赖 tmux、git worktree、Dolt 等,上手成本更高,但 Agent 直接在代码库上操作。
- 若只需 1–2 个 Agent 偶尔改 bug,Gas Town 可能过重;若已稳定使用 Claude Code CLI 并想规模化派发,它填补「多 Agent 混沌」这一空白。
适应人群
- 已日常使用 Claude Code / Copilot CLI / Codex CLI,希望并行跑多个编码 Agent 的开发者。
- 维护多仓库、多分支并行开发,需要任务账本、合并队列与崩溃恢复的团队。
- 愿意投入学习 Town/Rig/Polecat/Beads 术语,追求 20+ Agent 可运维 的进阶用户。
- 对 Wasteland 跨 Town 协作 或自托管 Docker Compose 仪表盘有兴趣的实验型玩家。
如何使用
前置条件
- Go 1.25+、Git 2.25+(worktree)、Dolt 2.0.7+、beads (bd) 0.55.4+、sqlite3、tmux 3.0+(推荐)
- 至少一种 Agent 运行时:Claude Code CLI(默认);可选 Codex CLI、GitHub Copilot CLI
- macOS 上
go install可能因未签名被 SIGKILL,优先用 Homebrew 安装
安装方式
# 推荐(macOS)brew install gastown
# 或 npmnpm install -g @gastown/gt
# Linux 源码go install github.com/steveyegge/gastown/cmd/gt@latestexport PATH="$PATH:$HOME/go/bin"Docker Compose 路径见仓库 README;完整依赖说明见 docs/INSTALLING.md。
首次运行
gt install ~/gt --gitcd ~/gt
# 添加项目 Rig 与个人 Crew 工作区gt rig add myproject https://github.com/you/repo.gitgt crew add yourname --rig myprojectcd myproject/crew/yourname
# 启动 Mayor(主协调界面)gt mayor attach验证是否成功
cd ~/gtgt config agent list # 应列出已配置的 Agent 运行时gt mayor attach # 能进入 Mayor 会话并响应指令在 Rig 内派发任务后,检查 gt convoy list 与 Hooks worktree 是否生成预期文件;合并流程可走 gt done 触发 Refinery。
常见坑 / 注意事项
- macOS 勿仅用
go install装gt,用 brew 或make build自签构建。 - 依赖链较长(Dolt、beads、tmux、Claude Code 等),缺一项会导致子命令静默失败,先对照 README Prerequisites。
- 多 Agent 并行会放大 API 配额与费用;可配置
scheduler.max_polecats限制并发派发。 - 生产密钥与
~/gt工作区应单独备份;Wasteland 联邦功能仍在演进,部署前阅读 WASTELAND.md。