Gas Town角色全解析:Mayor、Deacon与Polecat如何协同工作?

📅 2026/7/6 20:21:43 👁️ 阅读次数 📝 编程学习
Gas Town角色全解析:Mayor、Deacon与Polecat如何协同工作?

Gas Town角色全解析:Mayor、Deacon与Polecat如何协同工作?

【免费下载链接】gastownGas Town - multi-agent workspace manager项目地址: https://gitcode.com/GitHub_Trending/ga/gastown

Gas Town 作为一款多智能体工作区管理器(multi-agent workspace manager),其核心优势在于通过不同角色的智能体协同工作,实现高效的工作流管理和任务处理。本文将深入解析 Mayor、Deacon 和 Polecat 三大核心角色的功能职责及协同机制,帮助新手用户快速理解 Gas Town 的工作原理。

🌟 Mayor:全局协调者与决策者

Mayor 是 Gas Town 系统的核心协调者,负责全局资源分配和跨组件协作。其主要职责包括:

  • 跨设备工作协调:通过hq-*前缀的 beads(如~/gt/.beads/目录下的文件)实现不同 rig(工作区)之间的通信与任务分配。

  • Polecat 生命周期管理:根据系统负载和任务需求,决定何时创建或回收 Polecat 工作实例,确保资源高效利用。

  • 关键决策授权:处理系统级别的异常情况,如批准--force命令的使用(仅在确认任务无法恢复时授权),以及解决跨角色的冲突问题。

  • 状态监控:通过 tmux 状态栏的 LED 指示器实时显示各 rig 的运行状态,帮助用户掌握系统整体情况。

Mayor 的核心功能实现可参考 internal/mayor/manager.go 源码,其决策逻辑基于全局状态和各角色反馈的信息。

🛡️ Deacon:系统稳定守护者

Deacon 扮演着系统管家的角色,专注于维护 Gas Town 的稳定运行和资源清理:

  • 健康监控:通过gt session status命令定期检查 Witness 和其他组件的健康状态,确保系统各部分正常工作。

  • 僵尸进程处理:检测并报告僵尸进程(zombie processes),但不直接终止进程,而是生成"死亡 warrant"交由 Boot 组件处理,避免破坏正在进行的任务。

  • 资源清理:清理过期的 hooks、孤儿进程和 stale 工作区,保持系统环境整洁,相关实现可见 internal/deacon/stale_hooks.go。

  • 心跳机制:通过多层级的暂停/恢复机制(gt deacon pause/resume)和心跳检测,确保系统在异常情况下能够安全恢复。

Deacon 的工作模式遵循"只观察不干预"的原则,仅在必要时向 Mayor 上报严重问题,如 templates/witness-CLAUDE.md 中所述,它通过 session 状态而非邮件跟踪系统健康。

🔨 Polecat:高效任务执行者

Polecat 是 Gas Town 的工作horse,负责具体任务的执行,其设计遵循"即开即用,用完即焚"的原则:

  • 三状态工作模式:严格遵循 working(工作中)、stalled(停滞)、zombie(僵尸)三种状态,不存在 idle(空闲)状态,避免资源浪费。

  • 任务完成即回收:任务完成后自动调用gt done命令,由 Refinery 组件处理后续合并操作,自身则被系统回收,实现资源高效循环利用。

  • 错误处理机制:遇到无法解决的问题时,通过邮件系统(gt mail send mayor/)向 Mayor 发送RECOVERY_NEEDED请求,等待进一步指示。

  • 环境一致性:每次启动都从 origin/default-branch 拉取最新代码,确保工作环境的一致性和任务隔离性。

Polecat 的生命周期管理细节可参考 docs/polecat-lifecycle.md,其设计目标是实现 transient(短暂)且高效的任务执行。

🤝 三大角色协同工作流程

Mayor、Deacon 和 Polecat 三者通过明确的职责划分和通信机制实现无缝协作:

  1. 任务分配:Mayor 根据系统负载和任务优先级,决定生成新的 Polecat 实例。

  2. 执行监控:Deacon 持续监控所有 Polecat 的运行状态,通过gt session status确保任务正常进行。

  3. 异常处理:当 Polecat 遇到问题时,首先尝试自我修复;若失败则向 Mayor 发送 escalation 请求。

  4. 资源回收:任务完成后,Polecat 自动清理工作区并终止,Deacon 负责后续的环境清理和状态更新。

  5. 全局协调:Mayor 通过 town-level beads 维护跨 rig 的任务状态,确保多设备协同工作的一致性。

这种分工协作模式使得 Gas Town 能够高效处理复杂任务,同时保持系统的稳定性和资源利用率。无论是日常开发还是大规模任务处理,三大角色的协同工作都能提供可靠的支持。

📚 深入学习资源

  • 官方文档:docs/concepts/ 目录下的文档提供了各角色的详细设计理念。

  • 命令参考:通过gt help命令可查看各角色相关的操作指令,如gt deacon pausegt mayor status等。

  • 模板文件:templates/ 目录中的角色模板(如 templates/polecat-CLAUDE.md)展示了各角色的行为规范和最佳实践。

通过理解这些核心角色的功能和协作方式,用户可以更有效地利用 Gas Town 管理工作流,提高开发效率。无论是新手还是有经验的用户,掌握这些基础知识都是充分发挥 Gas Town 强大功能的关键。

【免费下载链接】gastownGas Town - multi-agent workspace manager项目地址: https://gitcode.com/GitHub_Trending/ga/gastown

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考