Gas Town Vibe 项目
多 AI 编码 Agent 编排与持久工作跟踪系统
项目简介
Gas Town 是一个多 AI 编码 Agent 的编排与工作空间管理系统,支持 Claude Code、GitHub Copilot、Codex、Gemini、Cursor 等多种 Agent 并行干活,并为它们提供持久化的工作状态追踪。它解决的是同一个痛点:Agent 一重启就丢上下文、多开几个就互相打架、干到一半的任务没人接。Gas Town 用 git 支撑的钩子把工作状态落盘,让多 Agent 工作流从「看运气」变成「可依赖」。项目用 Go 编写,GitHub 收获约 1.8 万颗星。
核心功能
- Mayor 市长机制:一个掌握工作区全貌的主协调 Agent,用自然语言告诉它想做什么,由它分派任务。
- Rig 项目容器:每个 Rig 包裹一个 git 仓库并管理其关联 Agent,Crew Member 是你在 Rig 里的个人工作区。
- 持久化钩子:基于 git worktree 的 Hooks 保存 Agent 工作状态,崩溃或重启后上下文不丢。
- Polecats 工作 Agent:拥有持久身份、短暂会话的工人 Agent,任务结束会话即销毁,但身份与工作历史留存。
- 邮箱、身份与交接:内置 Agent 间通信机制,避免手工协调,可从 4 到 10 个 Agent 稳定扩展到 20 至 30 个。
- Convoys 工作跟踪:以工作单元打包任务分派给 Agent,标记为 mountain 的 Convoys 具备自主卡顿检测与智能跳过逻辑。
- Beads 账本:git 支撑的议题追踪系统,用
gt-abc12这类前缀加五位字符的 ID 存储结构化工作状态。
技术实现
Gas Town 用 Go 实现,运行时默认调用 Claude Code CLI,也支持 Codex、Copilot、Gemini、Cursor 等替代运行时。工作区目录(例如 ~/gt/)承载所有项目与配置,Rig 通过 git worktree 把每个项目展开成独立分支工作区,Hooks 就构建在这些 worktree 之上,因此 Agent 的每一步产出天然具备 git 的持久化与回滚能力。跨进程通信依靠邮箱与身份机制,任务分派、交接与状态回写都以结构化数据落在 Beads 账本里,用前缀 ID 关联来源与所属 Rig。会话层用 tmux 承载 gt up 启动的 Mayor、Witnesses、Polecats 等角色,Agent 会话结束后身份仍在、历史可追溯。依赖面包含 Git 2.20+、Beads 0.57+、sqlite3、tmux 3.0+,Docker 镜像已内置 Go、Dolt、bd、tmux,宿主机只需 Docker Compose。
快速上手
- 准备依赖:macOS 可用
brew install gastown一次性装好gt、bd、dolt;也可用 Docker Compose 起容器,或走源码安装(需 Go 1.26.2+、git worktree、sqlite3、ICU 头文件)。 - 初始化工作区:运行
gt创建~/gt/作为 Town,并在其中建立第一个 Rig 包裹你的 git 仓库。 - 启动运行时:执行
gt up,在 tmux 中拉起 Mayor 与各角色,确认 Claude Code CLI(或你选择的其他运行时)可用。 - 开始协作:向 Mayor 描述目标,由它把任务拆成 Convoys 分派给 Polecats;工作状态写入 Hooks 与 Beads 账本,随时可中断恢复。
适用人群
并行推进多个仓库的独立开发者与小团队;重度使用 Claude Code 等 Agent、需要任务分派与状态追踪的 AI 编程用户;希望把 Agent 工作流工程化、可回滚、可审计的技术负责人;想要在一台机器上稳定跑 20 个以上 Agent 的自动化玩家。
评论与建议
登录 后参与评论或提建议