gastownhall/gascity

Orchestration-builder SDK for multi-agent coding workflows

Gas City – 多代理编码工作流的编排 SDK

它是什么

  • 一个基于 Go 的 SDK,允许您以声明方式定义和运行 cities – 执行编码相关任务的代理集合(称为 beads)。
  • 可以将其视为一个工具箱,从更大的 Gas Town 平台中提取管道,并使其可重用于任何需要协调 AI 代理、脚本或子进程的项目。

核心概念

  • city.toml – 一个简单的 TOML 文件,描述代理的期望状态、运行时以及工作应如何路由。
  • 运行时提供程序 – 实际执行代理的插件后端。内置选项包括:
    • tmux(默认,每个代理在自己的窗格中运行)
    • subprocess / exec
    • ACP(远程执行)
    • Kubernetes
    • herdr(轻量级会话管理器)
  • Beads – 持久化工作跟踪存储。默认使用由 Dolt 支持的 bd(Beads)提供程序,但也支持基于文件的存储。
  • 监督循环 – 持续将 期望 的城市状态(您声明的)与 实际 运行状态进行协调,根据需要生成、停止或重启代理。
  • Packs 和覆盖 – 模块化配置包,允许您组合多项目设置而无需重复。

主要特性

  • 声明式配置(city.toml)用于可重现的环境。
  • 多种执行后端,从本地 tmux 会话到 Kubernetes 集群。
  • 内置工作跟踪、公式和代理之间的消息传递。
  • 通过监督器进行健康检查和自动恢复。
  • 可扩展的“packs”用于跨项目共享常见模式。

典型用例

  • 协调多个 LLM 驱动的编码助手,生成、测试和提交代码。
  • 运行 AI 代理管道,抓取数据、处理数据并将结果提供给下游模型。
  • 管理混合工作负载,其中一些代理在本地(tmux)运行,其他在云中(K8s、ACP)运行。

入门

  1. 安装 CLI(Homebrew 或 make install)。
  2. 初始化一个城市:gc init ~/my-city && cd ~/my-city。
  3. 使用 gc rig add . 添加一个 rig(项目文件夹)。
  4. 创建一个 bead(工作单元)– 例如 bd create "Create a script that prints hello world"。
  5. 附加到监督会话:gc session attach mayor 并观察代理运行。

架构概览

  • cmd/gc/ – 入口点 CLI,解析命令并连接控制器。
  • internal/runtime/ – 提供程序的抽象层;每个提供程序实现代理如何启动和监控。
  • internal/config/ – 解析 city.toml,解析 packs/覆盖,验证模式。
  • internal/beads/ – 工作项、消息和等待条件的存储层。
  • internal/convergence/ – 驱动监督循环的协调引擎。
  • internal/api/ – 用于外部工具的可选 HTTP API。

文档和社区

  • 完整文档:https://docs.gascityhall.com(Mintlify 网站)。
  • 快速入门教程、设计文档和架构概述位于仓库的 docs/ 和 engdocs/ 目录下。
  • 加入 Discord 社区获取帮助和公告。

许可证

  • MIT – 免费使用、修改和分发。

Gas City 是一个真实的、生产级项目,面向构建复杂多代理 AI 或自动化管道的开发人员。它提供了定义、启动和保持这些代理在各种执行环境中健康运行所需的管道。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目